Chapter 5 - M05_STAL6329_06_SE_C05.QXD 9:25 PM Page 205...

Info icon This preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
CHAPTER C ONCURRENCY : M UTUAL E XCLUSION AND S YNCHRONIZATION 5.1 Principles of Concurrency A Simple Example Race Condition Operating System Concerns Process Interaction Requirements for Mutual Exclusion 5.2 Mutual Exclusion: Hardware Support Interrupt Disabling Special Machine Instructions 5.3 Semaphores Mutual Exclusion The Producer/Consumer Problem Implementation of Semaphores 5.4 Monitors Monitor with Signal Alternate Model of Monitors with Notify and Broadcast 5.5 Message Passing Synchronization Addressing Message Format Queuing Discipline Mutual Exclusion 5.6 Readers/Writers Problem Readers Have Priority Writers Have Priority 5.7 Summary 5.8 Recommended Reading 5.9 Key Terms, Review Questions, and Problems 205 M05_STAL6329_06_SE_C05.QXD 2/21/08 9:25 PM Page 205
Image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
The central themes of operating system design are all concerned with the management of processes and threads: Multiprogramming: The management of multiple processes within a uniprocessor system. Multiprocessing: The management of multiple processes within a multiprocessor. Distributed processing: The management of multiple processes executing on multiple, distributed computer systems.The recent proliferation of clusters is a prime example of this type of system. Fundamental to all of these areas, and fundamental to OS design, is concurrency. Concurrency encompasses a host of design issues, including communication among processes, sharing of and competing for resources (such as memory, files, and I/O ac- cess), synchronization of the activities of multiple processes, and allocation of processor time to processes.We shall see that these issues arise not just in multipro- cessing and distributed processing environments but even in single-processor multi- programming systems. Concurrency arises in three different contexts: Multiple applications: Multiprogramming was invented to allow processing time to be dynamically shared among a number of active applications. Structured applications: As an extension of the principles of modular design and structured programming, some applications can be effectively pro- grammed as a set of concurrent processes. Operating system structure: The same structuring advantages apply to systems programs, and we have seen that operating systems are themselves often im- plemented as a set of processes or threads. Because of the importance of this topic, four chapters and an appendix of this book focus on concurrency-related issues. This chapter and the next deal with con- currency in multiprogramming and multiprocessing systems. Chapters 16 and 18 ex- amine concurrency issues related to distributed processing.Although the remainder of this book covers a number of other important topics in OS design, concurrency will play a major role in our consideration of all of these other topics.
Image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern