Operating System Concepts, 8th Edition
July 2008, ©2009
Chapter 1. Introduction.
1.1 What Operating Systems Do.
1.2 Computer-System Organization.
1.3 Computer-System Architecture.
1.4 Operating-System Structure.
1.5 Operating-System Operations.
1.6 Process Management.
1.7 Memory Management.
1.8 Storage Management.
1.9 Protection and Security.
1.10 Distributed Systems.
1.11 Special-Purpose Systems.
1.12 Computing Environments.
1.13 Open-Source Operating Systems.
Chapter 2. Operating-System Structures.
2.1 Operating-System Services.
2.2 User Operating-System Interface.
2.3 System Calls.
2.4 Types of System Calls.
2.5 System Programs.
2.6 Operating-System Design and Implementation.
2.7 Operating-System Structure.
2.8 Virtual Machines.
2.9 Operating-System Debugging.
2.10 Operating-System Generation.
2.11 System Boot.
PART TWO. PROCESS MANAGEMENT.
Chapter 3. Processes.
3.1 Process Concept.
3.2 Process Scheduling.
3.3 Operations on Processes.
3.4 Interprocess Communication.
3.5 Examples of IPC Systems.
3.6 Communication in Client–Server Systems.
Chapter 4. Threads.
4.2 Multithreading Models.
4.3 Thread Libraries.
4.4 Threading Issues.
4.5 Operating-System Examples.
Chapter 5. CPU Scheduling.
5.1 Basic Concepts.
5.2 Scheduling Criteria.
5.3 Scheduling Algorithms.
5.4 Thread Scheduling.
5.5 Multiple-Processor Scheduling.
5.6 Operating System Examples.
5.7 Algorithm Evaluation.
Chapter 6. Process Synchronization.
6.2 The Critical-Section Problem.
6.3 Peterson’s Solution.
6.4 Synchronization Hardware.
6.6 Classic Problems of Synchronization.
6.8 Synchronization Examples.
6.9 Atomic Transactions.
Chapter 7. Deadlocks.
7.1 System Model.
7.2 Deadlock Characterization.
7.3 Methods for Handling Deadlocks.
7.4 Deadlock Prevention.
7.5 Deadlock Avoidance.
7.6 Deadlock Detection.
7.7 Recovery from Deadlock.
PART THREE. MEMORY MANAGEMENT.
Chapter 8. Main Memory.
8.3 Contiguous Memory Allocation.
8.5 Structure of the Page Table.
8.7 Example: The Intel Pentium.
Chapter 9. Virtual Memory.
9.2 Demand Paging.
9.4 Page Replacement.
9.5 Allocation of Frames.
9.7 Memory-Mapped Files.
9.8 Allocating Kernel Memory.
9.9 Other Considerations.
9.10 Operating-System Examples.
PART FOUR. STORAGE MANAGEMENT.
Chapter 10. File-System Interface.
10.1 File Concept.
10.2 Access Methods.
10.3 Directory and Disk Structure.
10.4 File-System Mounting.
10.5 File Sharing.
Chapter 11. File-System Implementation.
11.1 File-System Structure.
11.2 File-System Implementation.
11.3 Directory Implementation.
11.4 Allocation Methods.
11.5 Free-Space Management.
11.6 Efficiency and Performance.
11.9 Example: The WAFL File System.
Chapter 12. Mass-Storage Structure.
12.1 Overview of Mass-Storage Structure.
12.2 Disk Structure.
12.3 Disk Attachment.
12.4 Disk Scheduling.
12.5 Disk Management.
12.6 Swap-Space Management.
12.7 RAID Structure.
12.8 Stable-Storage Implementation.
12.9 Tertiary-Storage Structure.
Chapter 13. I/O Systems.
13.2 I/O Hardware.
13.3 Application I/O Interface.
13.4 Kernel I/O Subsystem.
13.5 Transforming I/O Requests to Hardware Operations.
PART FIVE. PROTECTION AND SECURITY.
Chapter 14. Protection.
14.1 Goals of Protection.
14.2 Principles of Protection.
14.3 Domain of Protection.
14.4 Access Matrix.
14.5 Implementation of Access Matrix.
14.6 Access Control.
14.7 Revocation of Access Rights.
14.8 Capability-Based Systems.
14.9 Language-Based Protection.
Chapter 15. Security.
15.1 The Security Problem.
15.2 Program Threats.
15.3 System and Network Threats.
15.4 Cryptography as a Security Tool.
15.5 User Authentication.
15.6 Implementing Security Defenses.
15.7 Firewalling to Protect Systems and Networks.
15.8 Computer-Security Classifications.
15.9 An Example: Windows XP.
PART SIX. DISTRIBUTED SYSTEMS.
Chapter 16. Distributed System Structures.
16.2 Types of Network based Operating Systems.
16.3 Network Structure.
16.4 Network Topology.
16.5 Communication Structure.
16.6 Communication Protocols.
16.8 Design Issues.
16.9 An Example: Networking.
Chapter 17. Distributed File Systems.
17.2 Naming and Transparency.
17.3 Remote File Access.
17.4 Stateful Versus Stateless Service.
17.5 File Replication.
17.6 An Example: AFS.
Chapter 18. Distributed Coordination.
18.1 Event Ordering.
18.2 Mutual Exclusion.
18.4 Concurrency Control.
18.5 Deadlock Handling.
18.6 Election Algorithms.
18.7 Reaching Agreement.
PART SEVEN. SPECIAL PURPOSE SYSTEMS.
Chapter 19. Real-Time Systems.
19.2 System Characteristics.
19.3 Features of Real-Time Kernels.
19.4 Implementing Real-Time Operating Systems.
19.5 Real-Time CPU Scheduling.
19.6 An Example: VxWorks 5.x.
Chapter 20. Multimedia Systems.
20.1 What Is Multimedia?
20.3 Requirements of Multimedia Kernels.
20.4 CPU Scheduling.
20.5 Disk Scheduling.
20.6 Network Management.
20.7 An Example: CineBlitz.
PART EIGHT. CASE STUDIES.
Chapter 21. The Linux/System.
21.1 Linux History.
21.2 Design Principles.
21.3 Kernel Modules.
21.4 Process Management.
21.6 Memory Management.
21.7 File Systems.
21.8 Input and Output.
21.9 Interprocess Communication.
21.10 Network Structure.
Chapter 22. Windows XP.
22.2 Design Principles.
22.3 System Components.
22.4 Environmental Subsystems.
22.5 File System.
22.7 Programmer Interface.
Chapter 23. Influential Operating Systems.
23.1 Feature Migration.
23.2 Early Systems.
23.6 RC 4000.
23.9 IBM OS/360.
23.11 CP/M and MS/DOS.
23.12 Macintosh Operating System and Windows.
23.14 Other Systems.
PART NINE. APPENDICES.
Appendix A. BSD UNIX (contents online).
A.1 UNIX History.
A.2 Design Principles.
A.3 Programmer Interface.
A.4 User Interface.
A.5 Process Management.
A.6 Memory Management.
A.7 File System.
A.8 I/O System.
A.9 Interprocess Communication.
Appendix B. The Mach System (contents online).
B.1 History of the Mach System.
B.2 Design Principles.
B.3 System Components.
B.4 Process Management.
B.5 Interprocess Communication.
B.6 Memory Management.
B.7 Programmer Interface.
Appendix C. Windows 2000 (contents online).
C.2 Design Principles.
C.3 System Components.
C.4 Environmental Subsystems.
C.5 File System.
C.7 Programmer Interface.
Professor Silberschatz is an ACM Fellow and an IEEE Fellow. He received the 2002 IEEE Taylor L. Booth Education Award, the 1998 ACM Karl V. Karlstrom Outstanding Educator Award, and the 1997 ACM SIGMOD Contribution Award. In recognition of his outstanding level of innovation and technical excellence, he was awarded the Bell Laboratories President's Award for three different Projects -- the QTM Project (1998), the DataBlitz Project (1999), and the NetInventory Project (2004).
Professor Silberschatz' writings have appeared in numerous ACM and IEEE publications and other professional conferences and journals. He is a coauthor of the textbook Database System Concepts. He has also written Op-Ed articles for the New York Times, the Boston Globe, and the Hartford Courant, among others.
Peter Baer Galvin is the chief technologist for Corporate Technologies (www.cptech.com), a computer facility reseller and integrator. Before that, Mr. Galvin was the systems manager for Brown University's Computer Science Department. He is also Sun columnist for ;login: magazine. Mr. Galvin has written articles for Byte and other magazines, and has written columns for SunWorld and SysAdmin magazines. As a consultant and trainer, he has given talks and taught tutorials on security and system administration worldwide.
Greg Gagne is chair of the Computer Science department at Westminster College in Salt Lake City where he has been teaching since 1990. In addition to teaching operating systems, he also teaches computer networks, distributed systems, and software engineering. He also provides workshops to computer science educators and industry professionals.
- over 15 new programming exercises that emphasize processes, threads, shared memory, process synchronization, and networking
- added coverage of virtual machine scheduling and multi-threaded, multi-core architectures, as well as livelock issues
- significantly updated coverage of virtual machines, as well as multi-core CPUS, the GRUB boot loader, and operating system debugging
- added discussion of mutual exclusion locks, priority inversion
additional coverage of iSCSI, volumes, ZFS pools, PCIX PCI Express, and Hyper-Transport
- Coverage of the latest and most relevant systems, including Windows XP.
- Client-server model is integrated throughout and NFS coverage is presented in the earlier part of the text.
- Increased coverage of small footprint operating systems such as PalmOS and real-time operating systems.
- Core material in every chapter offers coverage of Linux, Solaris and FreeBSD (Unix).
- The eighth edition retains important chapters on: Memory Management, Virtual Memory, Network Structures, and Security. The authors have updated them to reflect the latest trends in operating systems design.
- Teaches general concepts in operating systems while allowing for a choice in implementation systems. Rather than concentrating on a particular operating system or hardware, the text discusses key concepts that are applicable to a wide variety of systems.
- Chapter on Linux.
- All code examples are written in C and Java