معرفی کتاب «The Design and Implementation of the 4.4 BSD Operating System (Unix and Open Systems Series.)» نوشتهٔ Adrienne Young و Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, John S. Quarterman، منتشرشده توسط نشر Addison-Wesley Professional در سال 1996. این کتاب در 12 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است.
This book describes the design and implementation of the BSD operating system--previously known as the Berkeley version of UNIX. Today, BSD is found in nearly every variant of UNIX, and is widely used for Internet services and firewalls, timesharing, and multiprocessing systems. Readers involved in technical and sales support can learn the capabilities and limitations of the system; applications developers can learn effectively and efficiently how to interface to the system; systems programmers can learn how to maintain, tune, and extend the system. Written from the unique perspective of the system's architects, this book delivers the most comprehensive, up-to-date, and authoritative technical information on the internal structure of the latest BSD system. As in the previous book on 4.3BSD (with Samuel Leffler), the authors first update the history and goals of the BSD system. Next they provide a coherent overview of its design and implementation. Then, while explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing the system's facilities. As an in-depth study of a contemporary, portable operating system, or as a practical reference, readers will appreciate the wealth of insight and guidance contained in this book. Highlights of the book: - Details major changes in process and memory management - Describes the new extensible and stackable filesystem interface - Includes an invaluable chapter on the new network filesystem - Updates information on networking and interprocess communication Cover Preface About the Authors Contents Part 1: Overview ....1. History and Goals ........1.1 History o f the UNIX System ........1.2 BSD and Other Systems ........1.3 Design Goals of 4BSD ........1.4 Release Engineering ........References ....2. Design Overview of 4.4BSD ........2.1 4.4BSD Facilities and the Kernel ........2.2 Kernel Organization ........2.3 Kernel Services ........2.4 Process Management ........2.5 Memory Management ........2.6 I/O System ........2.7 Filesystems ........2.8 Filestores ........2.9 Network Filesystem ........2.10 Terminals ........2.11 Interprocess Communication ........2.13 Network Implementation ........Exercises ........References ....3. Kernel Services ........3.1 Kernel Organization ........3.2 System Calls ........3.3 Traps and Interrupts ........3.4 Clock Interrupts ........3.5 Memory-Management Services ........3.6 Timing Services ........3.7 User, Group, and Other Identifiers ........3.8 Resource Services ........3.9 System-Operation Services ........Exercises ........References Part 2: Processes ....4. Process Management ........4.1 Introduction to Process Management ........4.2 Process State ........4.3 Context Switching ........4.4 Process Scheduling ........4.5 Process Creation ........4.6 Process Termination ........4.7 Signals ........4.8 Process Groups and Sessions ........4.9 Process Debugging ........Exercises ........References ....5. Memory Management ........5.1 Terminology ........5.2 Overview of the 4.4BSD Virtual-Memory System ........5.3 Kernel Memory Management ........5.4 Per-Process Resources ........5.5 Shared Memory ........5.6 Creation of a New Process ........5.7 Execution of a File ........5.8 Process Manipulation of Its Address Space ........5.9 Termination of a Process ........5.10 The Pager Interface ........5.11 Paging ........5.12 Page Replacement ........5.13 Portability ........Exercises ........References Part 3: I/O System ....6. I/O System Overview ........6.1 I/O Mapping from User to Device ........6.2 Block Devices ........6.3 Character Devices ........6.4 Descriptor Management and Services ........6.5 The Virtual-Filesystem Interface ........6.6 Filesystem-Independent Services ........6.7 Stackable Filesystems ........Exercises ........References ....7. Local Filesystems ........7.1 Hierarchical Filesystem Management ........7.2 Structure of an In ode ........7.3 Naming ........7.4 Quotas ........7.5 File Locking ........7.6 Other Filesystem Semantics ........References ....8. Local Filestores ........8.1 Overview of the Filestore ........8.2 The Berkeley Fast Filesystem ........8.3 The Log-Structured Filesystem ........8.4 The Memory-Based Filesystem ........Exercises ........References ....9. The Network Filesystem ........9.1 History and Overview ........9.2 NFS Structure and Operation ........9.3 Techniques for Improving Performance ........Exercises ........References ....10. Terminal Handling ........10.1 Terminal-Processing Modes ........10.2 Line Disciplines ........10.3 User Interface ........10.4 The tty Structure ........10.5 Process Groups, Sessions, and Terminal Control ........10.6 C-Iists ........10.7 RS-232 and Modem Control ........10.8 Terminal Operations ........10.9 Other Line Disciplines ........References Part 4: Interprocess Communication ....11. Interprocess Communication ........11.1 Interprocess-Communication Model ........11.2 Implementation Structure and Overview ........11.3 Memory Management ........11.4 Data Structures ........11.5 Connection Setup ........11.6 Data Transfer ........11.7 Socket Shutdown ........Exercises ........References ....12. Network Communication ........12.1 Internal Structure ........12.2 Socket-to-Protocol Interface ........12.3 Protocol-Protocol Interface ........12.4 Interface between Protocol and Network Interface ........12.5 Routing ........12.6 Buffering and Congestion Control ........12.7 Raw Sockets ........12.8 Additional Network-Subsystem Topics ........Exercises ........References ....13. Network Protocols ........13.1 Internet Network Protocols ........13.2 User Datagram Protocol (UDP) ........13.3 Internet Protocol (IP) ........13.4 Transmission Control Protocol (TCP) ........13.5 TCP Algorithms ........13.6 TCP Input Processing ........13.7 TCP Output Processing ........13.8 Internet Control Message Protocol (ICMP) ........13.9 OSI Implementation Issues ........13.10 Summary of Networking and Interprocess Communication ........Exercises ........References Part 5: System Operation ....14. System Startup ........14.1 Overview ........14.2 Bootstrapping ........14.3 Kernel Initialization ........14.4 Autoconfiguration ........14.5 Machine-Independent Initialization ........14.6 User-Level Initialization ........14.7 System-Startup Topics References Glossary Index
This book describes the design and implementation of the BSD operating system—previously known as the Berkeley version of UNIX. Today, BSD is found in nearly every variant of UNIX, and is widely used for Internet services and firewalls, timesharing, and multiprocessing systems. Readers involved in technical and sales support can learn the capabilities and limitations of the system; applications developers can learn effectively and efficiently how to interface to the system; systems programmers can learn how to maintain, tune, and extend the system. Written from the unique perspective of the system's architects, this book delivers the most comprehensive, up-to-date, and authoritative technical information on the internal structure of the latest BSD system.
As in the previous book on 4.3BSD (with Samuel Leffler), the authors first update the history and goals of the BSD system. Next they provide a coherent overview of its design and implementation. Then, while explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing the system's facilities. As an in-depth study of a contemporary, portable operating system, or as a practical reference, readers will appreciate the wealth of insight and guidance contained in this book.
Highlights of the book:
- Details major changes in process and memory management
- Describes the new extensible and stackable filesystem interface
- Includes an invaluable chapter on the new network filesystem
- Updates information on networking and interprocess communication
An authoratative guide to the 4.4 BSD internal structure (from the interface to kernels to the hardware), this book details concepts, algorithms, data structures, plus the major changes in process and memory management as well as the new extensible and stackable filesystem interface with in-depth information on the new network filesystem. This book is ideal for systems programmers, administrators, and application developers. Technical and sales support professionals will find vital information on the capabilities of 4.4BSD. Applications developers will pick up tips on interfacing with the system, while systems programmers can learn how to better maintain, tune, and extent the system.
This book describes the design and implementation of the BSD operating system - previously known as the Berkeley version of UNIX. Today, BSD is found in nearly every variant of UNIX, and is widely used for Internet services and firewalls, timesharing, and multiprocessing systems. Readers involved in technical and sales support can learn the capabilities and limitations of the system; applications developers can learn effectively and efficiently how to interface to the system; systems programmers can learn how to maintain, tune, and extend the system. Written from the unique perspective of the system's architects, this book delivers the most comprehensive, up-to-date, and authoritative technical information on the internal structure of the latest BSD system. As in the previous book on 4.3BSD (with Samuel Leffler), the authors first update the history and goals of the BSD system. Next they provide a coherent overview of its design and implementation. Then, while explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing the system's facilities. As an in-depth study of a contemporary, portable operating system, or as a practical reference, readers will appreciate the wealth of insight and guidance contained in this book. Describes the design and implementation of the BSD operating system - previously known as the Berkeley version of UNIX. This book explains key design decisions, and also details the concepts, data structures, and algorithms used in implementing the system's facilities.