PART ONE OVERVIEW |
|
|
|
|
1.1 What Operating Systems Do |
|
|
3 | (3) |
|
1.2 Computer-System Organization |
|
|
6 | (6) |
|
1.3 Computer-System Architecture |
|
|
12 | (3) |
|
1.4 Operating-System Structure |
|
|
15 | (2) |
|
1.5 Operating-System Operations |
|
|
17 | (3) |
|
|
20 | (1) |
|
|
21 | (1) |
|
|
22 | (4) |
|
1.9 Protection and Security |
|
|
26 | (2) |
|
|
28 | (1) |
|
1.11 Special-Purpose Systems |
|
|
29 | (2) |
|
1.12 Computing Environments |
|
|
31 | (3) |
|
|
34 | (2) |
|
|
36 | (2) |
|
|
38 | (1) |
|
Chapter 2 Operating-System Structures |
|
|
|
2.1 Operating-System Services |
|
|
39 | (2) |
|
2.2 User Operating-System Interface |
|
|
41 | (2) |
|
|
43 | (4) |
|
2.4 Types of System Calls |
|
|
47 | (8) |
|
|
55 | (1) |
|
2.6 Operating-System Design and Implementation |
|
|
56 | (2) |
|
2.7 Operating-System Structure |
|
|
58 | (6) |
|
|
64 | (6) |
|
2.9 Operating-System Generation |
|
|
70 | (1) |
|
|
71 | (1) |
|
|
72 | (1) |
|
|
73 | (5) |
|
|
78 | (3) |
PART TWO PROCESS MANAGEMENT |
|
|
|
|
|
81 | (4) |
|
|
85 | (5) |
|
3.3 Operations on Processes |
|
|
90 | (6) |
|
3.4 Interprocess Communication |
|
|
96 | (6) |
|
3.5 Examples of IPC Systems |
|
|
102 | (6) |
|
3.6 Communication in Client-Server Systems |
|
|
108 | (7) |
|
|
115 | (1) |
|
|
116 | (9) |
|
|
125 | (2) |
|
|
|
|
127 | (2) |
|
4.2 Multithreading Models |
|
|
129 | (2) |
|
|
131 | (7) |
|
|
138 | (5) |
|
4.5 Operating-System Examples |
|
|
143 | (3) |
|
|
146 | (1) |
|
|
146 | (5) |
|
|
151 | (2) |
|
|
|
|
153 | (4) |
|
|
157 | (1) |
|
5.3 Scheduling Algorithms |
|
|
158 | (11) |
|
5.4 Multiple-Processor Scheduling |
|
|
169 | (3) |
|
|
172 | (1) |
|
5.6 Operating System Examples |
|
|
173 | (8) |
|
|
181 | (4) |
|
|
185 | (1) |
|
|
186 | (3) |
|
|
189 | (2) |
|
Chapter 6 Process Synchronization |
|
|
|
|
191 | (2) |
|
6.2 The Critical-Section Problem |
|
|
193 | (2) |
|
|
195 | (2) |
|
6.4 Synchronization Hardware |
|
|
197 | (3) |
|
|
200 | (4) |
|
6.6 Classic Problems of Synchronization |
|
|
204 | (5) |
|
|
209 | (8) |
|
6.8 Synchronization Examples |
|
|
217 | (5) |
|
|
222 | (8) |
|
|
230 | (1) |
|
|
231 | (11) |
|
|
242 | (3) |
|
|
|
|
245 | (2) |
|
7.2 Deadlock Characterization |
|
|
247 | (5) |
|
7.3 Methods for Handling Deadlocks |
|
|
252 | (1) |
|
|
253 | (3) |
|
|
256 | (6) |
|
|
262 | (4) |
|
7.7 Recovery From Deadlock |
|
|
266 | (1) |
|
|
267 | (1) |
|
|
268 | (3) |
|
|
271 | (4) |
PART THREE MEMORY MANAGEMENT |
|
|
|
|
|
275 | (7) |
|
|
282 | (2) |
|
8.3 Contiguous Memory Allocation |
|
|
284 | (4) |
|
|
288 | (9) |
|
8.5 Structure of the Page Table |
|
|
297 | (5) |
|
|
302 | (3) |
|
8.7 Example: The Intel Pentium |
|
|
305 | (4) |
|
|
309 | (1) |
|
|
310 | (2) |
|
|
312 | (3) |
|
|
|
|
315 | (4) |
|
|
319 | (6) |
|
|
325 | (2) |
|
|
327 | (13) |
|
|
340 | (3) |
|
|
343 | (5) |
|
|
348 | (5) |
|
9.8 Allocating Kernel Memory |
|
|
353 | (4) |
|
|
357 | (6) |
|
9.10 Operating-System Examples |
|
|
363 | (2) |
|
|
365 | (1) |
|
|
366 | (4) |
|
|
370 | (3) |
PART FOUR STORAGE MANAGEMENT |
|
|
Chapter 10 File-System Interface |
|
|
|
|
373 | (9) |
|
|
382 | (3) |
|
|
385 | (10) |
|
10.4 File-System Mounting |
|
|
395 | (2) |
|
|
397 | (5) |
|
|
402 | (5) |
|
|
407 | (1) |
|
|
408 | (1) |
|
|
409 | (2) |
|
Chapter 11 File-System Implementation |
|
|
|
11.1 File-System Structure |
|
|
411 | (2) |
|
11.2 File-System Implementation |
|
|
413 | (6) |
|
11.3 Directory Implementation |
|
|
419 | (2) |
|
|
421 | (8) |
|
11.5 Free-Space Management |
|
|
429 | (2) |
|
11.6 Efficiency and Performance |
|
|
431 | (4) |
|
|
435 | (2) |
|
11.8 Log-Structured File Systems |
|
|
437 | (1) |
|
|
438 | (6) |
|
11.10 Example: The WAFL File System |
|
|
444 | (2) |
|
|
446 | (1) |
|
|
447 | (2) |
|
|
449 | (2) |
|
Chanter 12 Mass-Storage Structure |
|
|
|
12.1 Overview of Mass-Storage Structure |
|
|
451 | (3) |
|
|
454 | (1) |
|
|
455 | (1) |
|
|
456 | (6) |
|
|
462 | (4) |
|
12.6 Swap-Space Management |
|
|
466 | (2) |
|
|
468 | (9) |
|
12.8 Stable-Storage Implementation |
|
|
477 | (1) |
|
12.9 Tertiary-Storage Structure |
|
|
478 | (10) |
|
|
488 | (1) |
|
|
489 | (4) |
|
|
493 | (2) |
|
|
|
|
495 | (1) |
|
|
496 | (9) |
|
13.3 Application I/O Interface |
|
|
505 | (6) |
|
13.4 Kernel I/O Subsystem |
|
|
511 | (7) |
|
13.5 Transforming I/O Requests to Hardware Operations |
|
|
518 | (2) |
|
|
520 | (2) |
|
|
522 | (3) |
|
|
525 | (1) |
|
|
526 | (1) |
|
|
527 | (4) |
PART FIVE PROTECTION AND SECURITY |
|
|
|
|
|
531 | (1) |
|
14.2 Principles of Protection |
|
|
532 | (1) |
|
14.3 Domain of Protection |
|
|
533 | (5) |
|
|
538 | (4) |
|
14.5 Implementation of Access Matrix |
|
|
542 | (3) |
|
|
545 | (1) |
|
14.7 Revocation of Access Rights |
|
|
546 | (1) |
|
14.8 Capability-Based Systems |
|
|
547 | (3) |
|
14.9 Language-Based Protection |
|
|
550 | (5) |
|
|
555 | (1) |
|
|
556 | (1) |
|
|
557 | (2) |
|
|
|
15.1 The Security Problem |
|
|
559 | (4) |
|
|
563 | (8) |
|
15.3 System and Network Threats |
|
|
571 | (5) |
|
15.4 Cryptography as a Security Tool |
|
|
576 | (11) |
|
|
587 | (5) |
|
15.6 Implementing Security Defenses |
|
|
592 | (7) |
|
15.7 Firewalling to Protect Systems and Networks |
|
|
599 | (1) |
|
15.8 Computer-Security Classifications |
|
|
600 | (2) |
|
15.9 An Example: Windows XP |
|
|
602 | (2) |
|
|
604 | (1) |
|
|
604 | (2) |
|
|
606 | (5) |
PART SIX DISTRIBUTED SYSTEMS |
|
|
Chapter 16 Distributed System Structures |
|
|
|
|
611 | (2) |
|
16.2 Types of Distributed Operating Systems |
|
|
613 | (4) |
|
|
617 | (3) |
|
|
620 | (2) |
|
16.5 Communication Structure |
|
|
622 | (6) |
|
16.6 Communication Protocols |
|
|
628 | (3) |
|
|
631 | (2) |
|
|
633 | (3) |
|
16.9 An Example: Networking |
|
|
636 | (1) |
|
|
637 | (1) |
|
|
638 | (2) |
|
|
640 | (1) |
|
Chapter 17 Distributed File Systems |
|
|
|
|
641 | (2) |
|
17.2 Naming and Transparency |
|
|
643 | (3) |
|
|
646 | (5) |
|
17.4 Stateful Versus Stateless Service |
|
|
651 | (1) |
|
|
652 | (2) |
|
|
654 | (5) |
|
|
659 | (1) |
|
|
660 | (1) |
|
|
661 | (2) |
|
Chapter 18 Distributed Coordination |
|
|
|
|
663 | (3) |
|
|
666 | (3) |
|
|
669 | (3) |
|
|
672 | (4) |
|
|
676 | (7) |
|
|
683 | (3) |
|
|
686 | (2) |
|
|
688 | (1) |
|
|
689 | (1) |
|
|
690 | (5) |
PART SEVEN SPECIAL-PURPOSE SYSTEMS |
|
|
Chapter 19 Real-Time Systems |
|
|
|
|
695 | (1) |
|
19.2 System Characteristics |
|
|
696 | (2) |
|
19.3 Features of Real-Time Kernels |
|
|
698 | (2) |
|
19.4 Implementing Real-Time Operating Systems |
|
|
700 | (4) |
|
19.5 Real-Time CPU Scheduling |
|
|
704 | (6) |
|
|
710 | (2) |
|
|
712 | (1) |
|
|
713 | (1) |
|
|
713 | (2) |
|
Chapter 20 Multimedia Systems |
|
|
|
|
715 | (3) |
|
|
718 | (2) |
|
20.3 Requirements of Multimedia Kernels |
|
|
720 | (2) |
|
|
722 | (1) |
|
|
723 | (2) |
|
|
725 | (3) |
|
20.7 An Example: CineBlitz |
|
|
728 | (2) |
|
|
730 | (1) |
|
|
731 | (2) |
|
|
733 | (4) |
PART EIGHT CASE STUDIES |
|
|
Chapter 21 The Linux System |
|
|
|
|
737 | (5) |
|
|
742 | (3) |
|
|
745 | (3) |
|
|
748 | (3) |
|
|
751 | (5) |
|
|
756 | (8) |
|
|
764 | (6) |
|
|
770 | (3) |
|
21.9 Interprocess Communication |
|
|
773 | (1) |
|
|
774 | (3) |
|
|
777 | (2) |
|
|
779 | (1) |
|
|
780 | (1) |
|
|
781 | (2) |
|
|
|
|
783 | (2) |
|
|
785 | (2) |
|
|
787 | (24) |
|
22.4 Environmental Subsystems |
|
|
811 | (3) |
|
|
814 | (8) |
|
|
822 | (7) |
|
22.7 Programmer Interface |
|
|
829 | (7) |
|
|
836 | (1) |
|
|
836 | (1) |
|
|
837 | (2) |
|
Chapter 23 Influential Operating Systems |
|
|
|
|
839 | (6) |
|
|
845 | (1) |
|
|
846 | (1) |
|
|
847 | (1) |
|
|
848 | (1) |
|
|
849 | (1) |
|
|
849 | (1) |
|
|
850 | (1) |
|
|
851 | (2) |
|
|
853 | (1) |
|
|
853 | (2) |
Bibliography |
|
855 | (30) |
Credits |
|
885 | (2) |
Index |
|
887 | |