106
PART 2 / PROCESSES
Chapter 4 Threads,SMP,and Microkernels
Chapter 4 covers three areas that characterize many contemporary operating sys-tems and that represent advances over traditional operating system design.In manyoperating systems,the traditional concept of process has been split into two parts:one dealing with resource ownership (process) and one dealing with the stream of instruction execution (thread).A single process may contain multiple threads.Amultithreaded organization has advantages both in the structuring of applicationsand in performance.Chapter 4 also examines the symmetric multiprocessor (SMP),which is a computer system with multiple processors,each of which is able to exe-cute all application and system code.SMP organization enhances performance andreliability.SMP is often used in conjunction with multithreading but can have pow-erful performance benefits even without multithreading.Finally,Chapter 4 exam-ines the microkernel,which is a style of operating system design that minimizes theamount of system code that runs in kernel mode.The advantages of this approachare analyzed.
Chapter 5 Concurrency:Mutual Exclusion and Synchronization
The two central themes of modern operating systems are multiprogramming anddistributed processing.Fundamental to both these themes,and fundamental to thetechnology of operating system design,is concurrency.Chapter 5 looks at two as-pects of concurrency control:mutual exclusion and synchronization.Mutual exclu-sion refers to the ability of multiple processes (or threads) to share code,resources,or data in such a way that only one process has access to the shared object at a time.Related to mutual exclusion is synchronization:the ability of multiple processes tocoordinate their activities by the exchange of information.Chapter 5 provides abroad treatment of issues related to concurrency,beginning with a discussion of thedesign issues involved.The chapter provides a discussion of hardware support forconcurrency and then looks at the most important mechanisms to support concur-rency:semaphores,monitors,and message passing.
Chapter 6 Concurrency:Deadlock and Starvation
Chapter 6 looks at two additional aspects of concurrency control.
Deadlock
refers toa situation in which a set of two or more processes are waiting for other members of the set to complete an operation in order to proceed,but none of the members isable to proceed.Deadlock is a difficult phenomenon to anticipate,and there are noeasy general solutions to this problem.Chapter 6 looks at the three major ap-proaches to dealing with deadlock:prevention,avoidance,and detection.
Starvation
refers to a situation in which a process is ready to execute but is continuously deniedaccess to a processor in deference to other processes.In large part,starvation isdealt with as a scheduling issue and is therefore treated in Part Four.AlthoughChapter 6 focuses on deadlock,starvation is addressed in the context that solutionsto deadlock need to avoid the problem of starvation.
M03_STAL6329_06_SE_C03.QXD 2/13/08 2:26 PM Page 106
Leave a Comment