| |
| |
Preface | |
| |
| |
| |
General Overview of the System | |
| |
| |
| |
History | |
| |
| |
| |
System Structure | |
| |
| |
| |
User Perspective | |
| |
| |
| |
Operating System Services | |
| |
| |
| |
Assumptions About Hardware | |
| |
| |
| |
Summary | |
| |
| |
| |
Introduction to the Kernel | |
| |
| |
| |
Architecture of the UNIX Operating System | |
| |
| |
| |
Introduction to System Concepts | |
| |
| |
| |
Kernel Data Structures | |
| |
| |
| |
System Administration | |
| |
| |
| |
Summary and Preview | |
| |
| |
| |
Exercises | |
| |
| |
| |
The Buffer Cache | |
| |
| |
| |
Buffer Headers | |
| |
| |
| |
Structure of the Buffer Pool | |
| |
| |
| |
Scenarios for Retrieval of a Buffer | |
| |
| |
| |
Reading and Writing Disk Blocks | |
| |
| |
| |
Advantages and Disadvantages of the Buffer Cache | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Internal Representation of Files | |
| |
| |
| |
Inodes | |
| |
| |
| |
Structure of a Regular File | |
| |
| |
| |
Directories | |
| |
| |
| |
Conversion of a Path Name to an Inode | |
| |
| |
| |
Super Block | |
| |
| |
| |
Inode Assignment to a New File | |
| |
| |
| |
Allocation of Disk Blocks | |
| |
| |
| |
Other File Types | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
System Calls for the File System | |
| |
| |
| |
Open | |
| |
| |
| |
Read | |
| |
| |
| |
Write | |
| |
| |
| |
File and Record Locking | |
| |
| |
| |
Adjusting the Position of File I/O--LSEEK | |
| |
| |
| |
Close | |
| |
| |
| |
File Creation | |
| |
| |
| |
Creation of Special Files | |
| |
| |
| |
Change Directory and Change Root | |
| |
| |
| |
Change Owner and Change Mode | |
| |
| |
| |
STAT and FSTAT | |
| |
| |
| |
Pipes | |
| |
| |
| |
Dup | |
| |
| |
| |
Mounting and Unmounting File Systems | |
| |
| |
| |
Link | |
| |
| |
| |
Unlink | |
| |
| |
| |
File System Abstractions | |
| |
| |
| |
File System Maintenance | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
The Structure of Processes | |
| |
| |
| |
Process States and Transitions | |
| |
| |
| |
Layout of System Memory | |
| |
| |
| |
The Context of a Process | |
| |
| |
| |
Saving the Context of a Process | |
| |
| |
| |
Manipulation of the Process Address Space | |
| |
| |
| |
Sleep | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Process Control | |
| |
| |
| |
Process Creation | |
| |
| |
| |
Signals | |
| |
| |
| |
Process Termination | |
| |
| |
| |
Awaiting Process Termination | |
| |
| |
| |
Invoking Other Programs | |
| |
| |
| |
The User ID of a Process | |
| |
| |
| |
Changing the Size of a Process | |
| |
| |
| |
The Shell | |
| |
| |
| |
System Boot and the INIT Process | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Process Scheduling and Time | |
| |
| |
| |
Process Scheduling | |
| |
| |
| |
System Calls For Time | |
| |
| |
| |
Clock | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Memory Management Policies | |
| |
| |
| |
Swapping | |
| |
| |
| |
Demand Paging | |
| |
| |
| |
A Hybrid System With Swapping and Demand Paging | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
The I/O Subsystem | |
| |
| |
| |
Driver Interfaces | |
| |
| |
| |
Disk Drivers | |
| |
| |
| |
Terminal Drivers | |
| |
| |
| |
Streams | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Interprocess Communication | |
| |
| |
| |
Process Tracing | |
| |
| |
| |
System V IPC | |
| |
| |
| |
Network Communications | |
| |
| |
| |
Sockets | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Multiprocessor Systems | |
| |
| |
| |
Problem of Multiprocessor Systems | |
| |
| |
| |
Solution With Master and Slave Processors | |
| |
| |
| |
Solution With Semaphores | |
| |
| |
| |
The Tunis System | |
| |
| |
| |
Performance Limitations | |
| |
| |
| |
Exercises | |
| |
| |
| |
Distributed Unix Systems | |
| |
| |
| |
Satellite Processors | |
| |
| |
| |
The Newcastle Connection | |
| |
| |
| |
Transparent Distributed File Systems | |
| |
| |
| |
A Transparent Distributed Model Without Stub Processes | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
System Calls | |
| |
| |
Bibliography | |
| |
| |
Index | |