Description
Efnisyfirlit
- Cover
- Title Page
- Dedication
- Preface
- PART ONE: OVERVIEW
- Chapter 1: Introduction
- 1.1 What Operating Systems Do
- 1.2 Computer-System Organization
- 1.3 Computer-System Architecture
- 1.4 Operating-System Operations
- 1.5 Resource Management
- 1.6 Security and Protection
- 1.7 Virtualization
- 1.8 Distributed Systems
- 1.9 Kernel Data Structures
- 1.10 Computing Environments
- 1.11 Free and Open-Source Operating Systems
- 1.12 Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Chapter 2: Operating-System Structures
- 2.1 Operating-System Services
- 2.2 User and Operating-System Interface
- 2.3 System Calls
- 2.4 System Services
- 2.5 Linkers and Loaders
- 2.6 Why Applications Are Operating-System Specific
- 2.7 Operating-System Design and Implementation
- 2.8 Operating-System Structure
- 2.9 Building and Booting an Operating System
- 2.10 Operating-System Debugging
- 2.11 Summary
- Practice Exercises
- Exercises
- Programming Problems
- Programming Projects
- Further Reading
- Bibliography
- 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 IPC in Shared-Memory Systems
- 3.6 IPC in Message-Passing Systems
- 3.7 Examples of IPC Systems
- 3.8 Communication in Client–Server Systems
- 3.9 Summary
- Practice Exercises
- Exercises
- Programming Problems
- Programming Projects
- Further Reading
- Bibliography
- Chapter 4: Threads & Concurrency
- 4.1 Overview
- 4.2 Multicore Programming
- 4.3 Multithreading Models
- 4.4 Thread Libraries
- 4.5 Implicit Threading
- 4.6 Threading Issues
- 4.7 Operating-System Examples
- 4.8 Summary
- Practice Exercises
- Exercises
- Programming Problems
- Programming Projects
- Further Reading
- Bibliography
- Chapter 5: CPU Scheduling
- 5.1 Basic Concepts
- 5.2 Scheduling Criteria
- 5.3 Scheduling Algorithms
- 5.4 Thread Scheduling
- 5.5 Multi-Processor Scheduling
- 5.6 Real-Time CPU Scheduling
- 5.7 Operating-System Examples
- 5.8 Algorithm Evaluation
- 5.9 Summary
- Practice Exercises
- Exercises
- Programming Projects
- Further Reading
- Bibliography
- PART THREE: PROCESS SYNCHRONIZATION
- Chapter 6: Synchronization Tools
- 6.1 Background
- 6.2 The Critical-Section Problem
- 6.3 Peterson’s Solution
- 6.4 Hardware Support for Synchronization
- 6.5 Mutex Locks
- 6.6 Semaphores
- 6.7 Monitors
- 6.8 Liveness
- 6.9 Evaluation
- 6.10 Summary
- Practice Exercises
- Exercises
- Programming Problems
- Further Reading
- Bibliography
- Chapter 7: Synchronization Examples
- 7.1 Classic Problems of Synchronization
- 7.2 Synchronization within the Kernel
- 7.3 POSIX Synchronization
- 7.4 Synchronization in Java
- 7.5 Alternative Approaches
- 7.6 Summary
- Practice Exercises
- Exercises
- Programming Problems
- Programming Projects
- Further Reading
- Bibliography
- Chapter 8: Deadlocks
- 8.1 System Model
- 8.2 Deadlock in Multithreaded Applications
- 8.3 Deadlock Characterization
- 8.4 Methods for Handling Deadlocks
- 8.5 Deadlock Prevention
- 8.6 Deadlock Avoidance
- 8.7 Deadlock Detection
- 8.8 Recovery from Deadlock
- 8.9 Summary
- Practice Exercises
- Exercises
- Programming Problems
- Programming Projects
- Further Reading
- Bibliography
- PART FOUR: MEMORY MANAGEMENT
- Chapter 9: Main Memory
- 9.1 Background
- 9.2 Contiguous Memory Allocation
- 9.3 Paging
- 9.4 Structure of the Page Table
- 9.5 Swapping
- 9.6 Example: Intel 32- and 64-bit Architectures
- 9.7 Example: ARMv8 Architecture
- 9.8 Summary
- Practice Exercises
- Exercises
- Programming Problems
- Programming Projects
- Further Reading
- Bibliography
- Chapter 10: Virtual Memory
- 10.1 Background
- 10.2 Demand Paging
- 10.3 Copy-on-Write
- 10.4 Page Replacement
- 10.5 Allocation of Frames
- 10.6 Thrashing
- 10.7 Memory Compression
- 10.8 Allocating Kernel Memory
- 10.9 Other Considerations
- 10.10 Operating-System Examples
- 10.11 Summary
- Practice Exercises
- Exercises
- Programming Problems
- Programming Projects
- Further Reading
- Bibliography
- PART FIVE: STORAGE MANAGEMENT
- Chapter 11: Mass-Storage Structure
- 11.1 Overview of Mass-Storage Structure
- 11.2 HDD Scheduling
- 11.3 NVM Scheduling
- 11.4 Error Detection and Correction
- 11.5 Storage Device Management
- 11.6 Swap-Space Management
- 11.7 Storage Attachment
- 11.8 RAID Structure
- Summary
- Practice Exercises
- Exercises
- Programming Problems
- Further Reading
- Bibliography
- Chapter 12: I/O Systems
- 12.1 Overview
- 12.2 I/O Hardware
- 12.3 Application I/O Interface
- 12.4 Kernel I/O Subsystem
- 12.5 Transforming I/O Requests to Hardware Operations
- 12.6 STREAMS
- 12.7 Performance
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- PART SIX: FILE SYSTEM
- Chapter 13: File-System Interface
- 13.1 File Concept
- 13.2 Access Methods
- 13.3 Directory Structure
- 13.4 Protection
- 13.5 Memory-Mapped Files
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Chapter 14: File-System Implementation
- 14.1 File-System Structure
- 14.2 File-System Operations
- 14.3 Directory Implementation
- 14.4 Allocation Methods
- 14.5 Free-Space Management
- 14.6 Efficiency and Performance
- 14.7 Recovery
- 14.8 Example: The WAFL File System
- Summary
- Practice Exercises
- Exercises
- Programming Problems
- Further Reading
- Bibliography
- Chapter 15: File-System Internals
- 15.1 File Systems
- 15.2 File-System Mounting
- 15.3 Partitions and Mounting
- 15.4 File Sharing
- 15.5 Virtual File Systems
- 15.6 Remote File Systems
- 15.7 Consistency Semantics
- 15.8 NFS
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- PART SEVEN: SECURITY AND PROTECTION
- Chapter 16: Security
- 16.1 The Security Problem
- 16.2 Program Threats
- 16.3 System and Network Threats
- 16.4 Cryptography as a Security Tool
- 16.5 User Authentication
- 16.6 Implementing Security Defenses
- 16.7 An Example: Windows 10
- Summary
- Exercises
- Further Reading
- Bibliography
- Chapter 17: Protection
- 17.1 Goals of Protection
- 17.2 Principles of Protection
- 17.3 Protection Rings
- 17.4 Domain of Protection
- 17.5 Access Matrix
- 17.6 Implementation of the Access Matrix
- 17.7 Revocation of Access Rights
- 17.8 Role-Based Access Control
- 17.9 Mandatory Access Control (MAC)
- 17.10 Capability-Based Systems
- 17.11 Other Protection Improvement Methods
- 17.12 Language-Based Protection
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- PART EIGHT: ADVANCED TOPICS
- Chapter 18: Virtual Machines
- 18.1 Overview
- 18.2 History
- 18.3 Benefits and Features
- 18.4 Building Blocks
- 18.5 Types of VMs and Their Implementations
- 18.6 Virtualization and Operating-System Components
- 18.7 Examples
- 18.8 Virtualization Research
- Summary
- Exercises
- Further Reading
- Bibliography
- Chapter 19: Networks and Distributed Systems
- 19.1 Advantages of Distributed Systems
- 19.2 Network Structure
- 19.3 Communication Structure
- 19.4 Network and Distributed Operating Systems
- 19.5 Design Issues in Distributed Systems
- 19.6 Distributed File Systems
- 19.7 DFS Naming and Transparency
- 19.8 Remote File Access
- 19.9 Final Thoughts on Distributed File Systems
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- PART NINE: CASE STUDIES
- Chapter 20: The Linux System
- 20.1 Linux History
- 20.2 Design Principles
- 20.3 Kernel Modules
- 20.4 Process Management
- 20.5 Scheduling
- 20.6 Memory Management
- 20.7 File Systems
- 20.8 Input and Output
- 20.9 Interprocess Communication
- 20.10 Network Structure
- 20.11 Security
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Chapter 21: Windows 10
- 21.1 History
- 21.2 Design Principles
- 21.3 System Components
- 21.4 Terminal Services and Fast User Switching
- 21.5 File System
- 21.6 Networking
- 21.7 Programmer Interface
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- PART TEN: APPENDICES
- Appendix A: Influential Operating Systems
- A.1 Feature Migration
- A.2 Early Systems
- A.3 Atlas
- A.4 XDS-940
- A.5 THE
- A.6 RC 4000
- A.7 CTSS
- A.8 MULTICS
- A.9 IBM OS/360
- A.10 TOPS-20
- A.11 CP/M and MS/DOS
- A.12 Macintosh Operating System and Windows
- A.13 Mach
- A.14 Capability-based Systems—Hydra and CAP
- A.15 Other Systems
- Exercises
- Further Reading
- Bibliography
- Appendix B: Windows 7
- B.1 History
- B.2 Design Principles
- B.3 System Components
- B.4 Terminal Services and Fast User Switching
- B.5 File System
- B.6 Networking
- B.7 Programmer Interface
- B.8 Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Appendix C: BSD UNIX
- C.1 UNIX History
- C.2 Design Principles
- C.3 Programmer Interface
- C.4 User Interface
- C.5 Process Management
- C.6 Memory Management
- C.7 File System
- C.8 I/O System
- C.9 Interprocess Communication
- C.10 Summary
- Exercises
- Further Reading
- Bibliography
- Appendix D: The Mach System
- D.1 History of the Mach System
- D.2 Design Principles
- D.3 System Components
- D.4 Process Management
- D.5 Interprocess Communication
- D.6 Memory Management
- D.7 Programmer Interface
- D.8 Summary
- Exercises
- Further Reading
- Bibliography
- Credits
- Glossary
- Index
- EULA
Reviews
There are no reviews yet.