This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: CHAPTER T HREADS , SMP, AND M ICROKERNELS 4.1 Processes and Threads Multithreading Thread Functionality Example—Adobe PageMaker User-Level and Kernel-Level Threads Other Arrangements 4.2 Symmetric Multiprocessing SMP Architecture SMP Organization Multiprocessor Operating System Design Considerations 4.3 Microkernels Microkernel Architecture Benefits of a Microkernel Organization Microkernel Performance Microkernel Design 4.4 Windows Thread and SMP Management Process and Thread Objects Multithreading Thread States Support for OS Subsystems Symmetric Multiprocessing Support 4.5 Solaries Thread and SMP Management Multithreaded Architecture Motivation Process Structure Thread Execution Interrupts as Threads 4.6 Linux Process and Thread Management Linux Tasks Linux Threads 4.7 Summary 4.8 Recommended Reading 4.9 Key Terms, Review Questions, and Problems 160 M04_STAL6329_06_SE_C04.QXD 2/13/08 2:02 PM Page 160 This chapter examines some more advanced concepts related to process management, which are found in a number of contemporary operating systems. First, we show that the concept of process is more complex and subtle than presented so far and in fact embodies two separate and potentially independent concepts: one relating to resource ownership and one relating to execution.This distinction has led to the development,in many operating systems, of a construct known as the thread .After examining threads, we look at symmetric multiprocessing (SMP). With SMP, the OS must be able to simultaneously schedule different processes on multiple processors. Finally, we intro- duce the concept of the microkernel ,which is an effective means of structuring the OS to support process management and its other tasks. 4.1 PROCESSES AND THREADS The discussion so far has presented the concept of a process as embodying two characteristics: • Resource ownership: A process includes a virtual address space to hold the process image; recall from Chapter 3 that the process image is the collection of program, data, stack, and attributes defined in the process control block. From time to time, a process may be allocated control or ownership of resources, such as main memory, I/O channels, I/O devices, and files. The OS performs a protection function to prevent unwanted interference between processes with respect to resources. • Scheduling/execution: The execution of a process follows an execution path (trace) through one or more programs (e.g., Figure 1.5 and Figure 1.26). This execution may be interleaved with that of other processes.Thus, a process has an execution state (Running, Ready, etc.) and a dispatching priority and is the entity that is scheduled and dispatched by the OS....
View Full Document
This note was uploaded on 02/10/2010 for the course EXTC 56 taught by Professor Stalling during the Spring '10 term at Abu Dhabi University.
- Spring '10