Reflects ongoing changes in the field in areas such as thread and process management, concurrency and deadlocks, virtual memory, scheduling, I/O, file systems, distributed processing, and security. Ex.___
Illustrates and reinforces design concepts with a modern operating system that is growing in popularity. Ex.___
Provide more opportunity for students to practice the concepts they learn in each chapter. Ex.___
Illustrate and reinforce design concepts and ties them to real-world design choices that must be made. The new Windows 2000 operating system incorporates in a clean fashion many of the latest developments in operating system technology and it is one of the first important commercial operating systems to rely heavily on object-oriented design principles. The different flavors of UNIX presented allow students to learn the most widely used commercial version of UNIX that includes multithreading and other features not found in SVR4 (Solaris) and an open-source version of UNIX that is rapidly gaining in popularity (Linux). Ex.___
Helps instructors supplement the course with research or modeling projects that give students hands-on experience, reinforcing concepts and helping to develop a broader perspective. Ex.___
Helps students understand the relationship between process and thread and the way in which threads are managed and used. Ex.___
Helps students understand these topics which are especially important in multimedia applications and networking. Ex.___
Teaches students about this critical part of all operating systems. Ex.___
Introduces students to the most important current research and development area in operating systems design. Ex.___
Exposes students to this increasingly important area. Ex.___
Provides students with an extremely clear and systematic treatment of this central aspect of operating systems design. Ex.___
Exposes students to this very important topic. Virtually all servers and many workstations and PCs have an SMP architecture that requires operating system support. Ex.___
Provides students with current information in this area where there is a lot of current research and a flood of new products. Ex.___
Teaches students about this increasingly important design element in OS design. Ex.___
Provide a variety of assignments for students to complete. Ex.___
Assures that students have read and absorbed the material from each chapter. Ex.___
Helps students review important technical terms. Ex.___
Clarifies concepts. Ex.___
Provide up-to-date and reputable sources for further exploration or research. Ex.___
Help students master key terminology. Ex.___
Blending up-to-date theory with state-of-the-art applications, this book offers a comprehensive treatment of operating systems, with an emphasis on internals and design issues. It helps readers develop a solid understanding of the key structures and mechanisms of operating systems, the types of trade-offs and decisions involved in OS design, and the context within which the operating system functions (hardware, other system programs, application programs, interactive users). KEY TOPICS: Process Description And Control. Threads, SMP, And Microkernels. Concurrency: Mutual Exclusion And Synchronization. Concurrency: Deadlock And Starvation. Memory Management. Virtual Memory. Uniprocessor Scheduling. Multiprocessor And Real-Time Scheduling. I/O Management And Disk Scheduling. File Management. Distributed Processing, Client/Server, And Clusters. Distributed Process Management. Security. MARKET: For product development personnel (Programmers, Systems Engineers, Network Designers, and others involved in the design of data communications and networking products), Product marketing personnel, and Information system and computer system personnel.
(NOTE: Each chapter concludes with Summary, Key Terms, Review Questions and/or Recommended Reading, and Problems.)
Outline of the Book. Topic Ordering. Internet and Web Resources.
I. BACKGROUND.1. Computer System Overview.
Basic Elements. Processor Registers. Instruction Execution. Interrupts. The Memory Hierarchy. Cache Memory. I/O Communication Techniques. Appendix 1A: Performance Characteristics of Two-Level Memory. Appendix 1B: Procedure Control.2. Operating System Overview.
Operating System Objectives and Functions. The Evolution of Operating Systems. Major Achievements. Characteristics of Modern Operating Systems. Windows 2000 Overview. Traditional UNIX Systems. Modern UNIX Systems.
II. PROCESSES.3. Process Description and Control.
Process States. Process Description. Process Control. UNIX SVR4 Process Management.4. Threads, SMP, and Microkernels.
Processes and Threads. Symmetric Multiprocessing. Microkernels. Windows 2000 Thread and SMP Management. Solaris Thread and SMP Management. Linux Process and Thread Management.5. Concurrency: Mutual Exclusion and Synchronization.
Principles of Concurrency. Mutual Exclusion: Software Approaches. Mutual Exclusion: Hardware Support. Semaphores. Monitors. Message Passing. Readers/Writers Problem.6. Concurrency: Deadlock and Starvation.
Principles of Deadlock. Deadlock Prevention. Deadlock Avoidance. Deadlock Detection. An Integrated Deadlock Strategy. Dining Philosophers Problem. UNIX Concurrency Mechanisms. Solaris Thread Synchronization Primitives. Windows 2000 Concurrency Mechanisms.
III. MEMORY.7. Memory Management.
Memory Management Requirements. Memory Partitioning. Paging. Segmentation. Appendix 7A: Loading and Linking.8. Virtual Memory.
Hardware and Control Structures. Operating System Software. UNIX and Solaris Memory Management. Linux Memory Management. Windows 2000 Memory Management. Appendix 8A: Hash Tables.
IV. SCHEDULING.9. Uniprocessor Scheduling.
Types of Scheduling. Scheduling Algorithms. Traditional UNIX Scheduling. Appendix 9A: Response Time. Appendix 9B: Queuing Systems.10. Multiprocessor and Real-Time Scheduling.
Multiprocessor Scheduling. Real-Time Scheduling. Linux Scheduling. UNIX SVR4 Scheduling. Windows 2000 Scheduling.
V. INPUT/OUTPUT AND FILES.11. I/O Management and Disk Scheduling.
I/O Devices. Organization of the I/O Function. Operating System Design Issues. I/O Buffering. Disk Scheduling. RAID. Disk Cache. UNIX SVR4 I/O. Windows 2000 I/O. Appendix 11A: Disk Storage Devices.12. File Management.
Overview. File Organization. File Directories. File Sharing. Record Blocking. Secondary Storage Management. UNIX File Management. Windows 2000 File System.
VI. DISTRIBUTED SYSTEMS.13. Distributed Processing, Client/Server, and Clusters.
Client/Server Computing. Distributed Message Passing. Remote Procedure Calls. Clusters. Windows 2000 Cluster Server. Sun Cluster. Beowulf and Linux Clusters.14. Distributed Process Management.
Process Migration. Distributed Global States. Distributed Mutual Exclusion. Distributed Deadlock.
VII. SECURITY.15. Computer Security.
Security Threats. Protection. Intruders. Malicious Software. Trusted Systems. Windows 2000 Security. Appendix 15A: Encryption.
APPENDICES.Appendix A: TCP/IP.
The Need for a Protocol Architecture. The TCP/IP Protocol Architecture.Appendix B: Object-Oriented Design.
Motivation. Object-Oriented Concepts. Benefits of Object-Oriented Design. CORBA.Appendix C: Programming and Operating System Projects.
Projects for Teaching Operating Systems. Nachos. Research Projects. Programming Projects. Reading/Report Assignments.Appendix D: OSP: An Environment for Operating System Projects.
Overview. Innovative Aspects of OSP. Comparison with Other Operating System Courseware. The OSP Software Distribution. OSP Mailing List. Future Plans.Appendix E: BACI: The Ben-Ari Concurrent Programming System.
Introduction. BACI. Examples of BACI Programs. BACI Projects. Enhancements to the BACI System.Glossary.