Muutke küpsiste eelistusi

Operating Systems: Principles and Practice [Pehme köide]

  • Formaat: Paperback / softback, 674 pages, Illustrations, black and white
  • Ilmumisaeg: 17-Jul-2012
  • Kirjastus: Recursive Books
  • ISBN-10: 0985673516
  • ISBN-13: 9780985673512
Teised raamatud teemal:
  • Formaat: Paperback / softback, 674 pages, Illustrations, black and white
  • Ilmumisaeg: 17-Jul-2012
  • Kirjastus: Recursive Books
  • ISBN-10: 0985673516
  • ISBN-13: 9780985673512
Teised raamatud teemal:
Contents i
Preface iv
Acknowledgments x
1 Introduction
3(40)
1.1 What is an operating system?
6(15)
1.2 Evaluation Criteria
21(9)
1.3 A brief history of operating systems
30(13)
Kernels and Processes
2 The Kernel Abstraction
43(58)
2.1 The process concept
47(2)
2.2 Dual-mode operation
49(12)
2.3 Safe control transfer
61(27)
2.4 Case Study: Booting an operating system kernel
88(1)
2.5 Case Study: Virtual machines
89(4)
2.6 Conclusion and future directions
93(8)
3 The Programming Interface
101(38)
3.1 Process management
107(7)
3.2 Input/output
114(3)
3.3 Case Study: Implementing a shell
117(4)
3.4 Case Study: Interprocess communication
121(4)
3.5 Operating system structure
125(6)
3.6 Conclusion and future directions
131(8)
Concurrency
4 Concurrency and Threads
139(44)
4.1 Threads: Abstraction and interface
140(8)
4.2 Simple API and example
148(3)
4.3 Thread internals
151(6)
4.4 Implementation details
157(17)
4.5 Asynchronous I/O and event-driven programming
174(3)
4.6 Conclusion and future directions
177(6)
5 Synchronizing Access to Shared Objects
183(74)
5.1 Challenges
186(7)
5.2 Shared objects and synchronization variables
193(3)
5.3 Lock: Mutual Exclusion
196(8)
5.4 Condition variables: Waiting for a change
204(12)
5.5 Implementing synchronization objects
216(13)
5.6 Designing and implementing shared objects
229(21)
5.7 Conclusions
250(7)
6 Advanced Synchronization
257(40)
6.1 Multi-object synchronization
258(8)
6.2 Deadlock
266(18)
6.3 Alternative approaches to synchronization
284(9)
6.4 Conclusion
293(4)
7 Scheduling
297(58)
7.1 Uniprocessor scheduling
300(14)
7.2 Multiprocessor scheduling
314(9)
7.3 Energy-aware scheduling
323(3)
7.4 Real-time scheduling
326(3)
7.5 Queuing theory
329(13)
7.6 Overload management
342(3)
7.7 Case Study: Servers in a data center
345(1)
7.8 Conclusions and Future Directions
346(9)
Memory Management
8 Address Translation
355(52)
8.1 Address translation concept
358(2)
8.2 Towards flexible address translation
360(16)
8.3 Towards efficient address translation
376(14)
8.4 Software protection
390(10)
8.5 Conclusions and future directions
400(7)
9 Caching and Virtual Memory
407(46)
9.1 Cache concept
411(3)
9.2 Memory hierarchy
414(2)
9.3 When caches work and when they don't
416(6)
9.4 Memory cache lookup
422(5)
9.5 Replacement policies
427(7)
9.6 Case study: memory-mapped files
434(9)
9.7 Case study: virtual memory
443(3)
9.8 Conclusions and future directions
446(7)
10 Advanced Memory Management
453(28)
10.1 Zero-copy I/O
455(3)
10.2 Virtual machines
458(6)
10.3 Fault tolerance
464(6)
10.4 Security
470(1)
10.5 User-level memory management
471(3)
10.6 Conclusions and future directions
474(7)
Persistent Storage
11 File Systems: Introduction and Overview
481(26)
11.1 The file system abstraction
486(6)
11.2 API
492(4)
11.3 Software layers
496(8)
11.4 Conclusions and future directions
504(3)
12 Storage Devices
507(32)
12.1 Magnetic disk
508(14)
12.2 Flash storage
522(7)
12.3 Conclusions and future directions
529(10)
13 Files and Directories
539(44)
13.1 Implementation overview
540(1)
13.2 Directories: Naming data
541(6)
13.3 Files: Finding data
547(28)
13.4 Putting it all together: File and directory access
575(3)
13.5 Conclusions and future directions
578(5)
14 Reliable Storage
583(58)
14.1 Transactions: Atomic updates
587(21)
14.2 Error detection and correction
608(25)
14.3 Conclusion and future directions
633(8)
Index and References
Glossary 641(1)
Index 641(6)
References 647