• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
P
ART
T
WO
T
he fundamental task of any modern operating system is process manage-ment.The operating system must allocate resources to processes,enableprocesses to share and exchange information,protect the resources of eachprocess from other processes,and enable synchronization among processes.To meetthese requirements,the operating system must maintain a data structure for eachprocess that describes the state and resource ownership of that process and that en-ables the operating system to exert process control.On a multiprogramming uniprocessor,the execution of multiple processes canbe interleaved in time.On a multiprocessor,not only may process execution be in-terleaved,but also multiple processes can execute simultaneously.Both interleavedand simultaneous execution are types of concurrency and lead to a host of difficultproblems,both for the application programmer and the operating system.In many contemporary operating systems,the difficulties of process manage-ment are compounded by the introduction of the concept of thread.In a multi-threaded system,the process retains the attributes of resource ownership,while theattribute of multiple,concurrent execution streams is a property of threads runningwithin a process.
ROAD MAP FOR PART TWO
Chapter 3 Process Description and Control
The focus of a traditional operating system is the management of processes.Eachprocess is,at any time,in one of a number of execution states,including Ready,Running,and Blocked.The operating system keeps track of these executionstates and manages the movement of processes among the states.For this pur-pose the operating system maintains rather elaborate data structures describingeach process.The operating system must perform the scheduling function andprovide facilities for process sharing and synchronization.Chapter 3 looks at thedata structures and techniques used in a typical operating system for processmanagement.
Processes
105
M03_STAL6329_06_SE_C03.QXD 2/13/08 2:26 PM Page 105
 
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
 
CHAPTER
P
ROCESS
D
ESCRIPTIONAND
C
ONTROL 
3.1What Is a Process?
BackgroundProcesses and Process Control Blocks
3.2Process States
A Two-State Process ModelThe Creation and Termination of ProcessesA Five-State ModelSuspended Processes
3.3Process Description
Operating System Control StructuresProcess Control Structures
3.4Process Control
Modes of ExecutionProcess CreationProcess Switching
3.5Execution of the Operating System
Nonprocess KernelExecution within User ProcessesProcess-Based Operating System
3.6Security Issues
System Access ThreatsCountermeasures
3.7Unix SVR4 Process Management
Process StatesProcess DescriptionProcess Control
3.8Summary3.9Recommended Reading3.10Key Terms,Review Questions,and Problems
107
M03_STAL6329_06_SE_C03.QXD 2/13/08 2:26 PM Page 107
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...