The numbers in column 2 are for lines of C source code, header files, and assembly language. Virtually all the software in the kernel is written in the C programming language; less than 2 percent is written in assembly language. Only a small part of the kernel is devoted to initializing the system. This code is used when the system is bootstrapped into operation and is responsible for setting up the kernel hardware and software environment see Chapter
|Genre:||Health and Food|
|Published (Last):||14 March 2013|
|PDF File Size:||18.2 Mb|
|ePub File Size:||5.28 Mb|
|Price:||Free* [*Free Regsitration Required]|
Most detail is given about 4. Although 4. It is the operating system of choice for most multiprocessor, graphics, and vector-processing systems, and is widely used for its original purpose of timesharing.
It is the most portable operating system ever developed. Many of these developments have also been incorporated by System V, or hav e been added by vendors whose products are otherwise based on System V. Numerous vendors have adapted the Berkeley networking implementations, whether their base system is 4. Several features--such as reliable signals, job control, multiple access groups per process, and the routines for directory operations--have been adapted from 4.
Material Covered in this Book This book is about the internal structure of 4. The book covers 4. Material above the system-call level--such as libraries, shells, commands, programming languages, and other user interfaces--is excluded, except for some material related to the terminal interface and to system startup. Where particular hardware is relevant, the book refers to the Hewlett-Packard HP Motorola based architecture. Because 4. Readers who will benefit from this book include operating-system implementors, system programmers, UNIX application developers, administrators, and curious users.
The book can be read as a companion to the source code of the system, falling as it does between the manual CSRG, and the code in detail of treatment. Use in Courses on Operating Systems This book is suitable for use as a reference text to provide background for a primary textbook in a second-level course on operating systems. Familiarity with the concepts of network protocols Tanenbaum, ; Stallings, ; Schwartz, will be useful for understanding some of the later chapters.
Exercises are provided at the end of each chapter. The exercises are graded into three categories indicated by zero, one, or two asterisks. The answers to exercises that carry no asterisks can be found in the text. Exercises with a single asterisk require a step of reasoning or intuition beyond a concept presented in the text. Exercises with two asterisks present major design projects or open research questions.
Organization This text discusses both philosophical and design issues, as well as details of the actual implementation. Often, the discussion starts at the system-call level and descends into the kernel. Tables and figures are used to clarify data structures and control flow.
Pseudocode similar to the C language is used to display algorithms. Boldface font identifies program names and filesystem pathnames. Italics font introduces terms that appear in the glossary and identifies the names of system calls, variables, routines, and structure names. Routine names other than system calls are further identified by the name followed by a pair of parenthesis e.
The book is divided into five parts, organized as follows: Part 1, Overview Three introductory chapters provide the context for the complete operating system and for the rest of the book.
Chapter 2, Design Overview of 4. It also discusses the design decisions that were made as the system was developed. Sections 2. Chapter 3, Kernel Services, explains how system calls are done, and describes in detail several of the basic services of the kernel.
Part 2, Processes The first chapter in this part--Chapter 4, Process Management--lays the foundation for later chapters by describing the structure of a process, the algorithms used for scheduling the execution of processes, and the synchronization mechanisms used by the system to ensure consistent access to kernel-resident data structures. In Chapter 5, Memory Management, the virtual-memory!
Chapter 7, Local Filesystems, details the data structures and algorithms that implement filesystems as seen by application programs. Chapter 8, Local Filestores, describes how local filesystems are interfaced with local media. Chapter 9, The Network Filesystem, explains the network filesystem from both the server and client perspectives. Chapter 10, Terminal Handling, discusses support for character terminals, and provides a description of a character-oriented device driver.
Part 4, Interprocess Communication Chapter 11, Interprocess Communication, describes the mechanism for providing communication between related or unrelated processes. Part 5, System Operation Chapter 14, System Startup, discusses system startup, shutdown, and configuration, and explains system initialization at the process level, from kernel initialization to user login. The book is intended to be read in the order that the chapters are presented, but the parts other than Part 1 are independent of one another and can be read separately.
Chapter 14 should be read after all the others, but knowledgeable readers may find it useful independently. At the end of the book are a Glossary with brief definitions of major terms and an Index. Each chapter contains a Reference section with citations of related material. Getting 4.
See the catalog listing for this book. At press time, the source code for the 4. Contact Walnut Creek for more information at , or use orders cdrom. The NetBSD distribution is compiled and ready to run on most workstation architectures. The 4. These shirts were made available to the people who helped with the creation, reviewing, and editing of the book and to those folks who first reported errors in the book.
A variation on these shirts that is clearly different from the originals so as not to diminish the rarity of the ones that people had to work to get is now available. For further information on purchasing a shirt, send a self-addressed envelope United States residents please include return postage to M. Most of the art was created with xfig. Figure placement and widow elimination were handled by the groff macros, but orphan elimination and production of even page bottoms had to be done by hand.
We encourage readers to send us suggested improvements or comments about typographical or other errors found in the book; please send electronic mail to bsdbook-bugs McKusick.
Design and Implementation of the 4.4 BSD Operating System, The
The Design and Implementation of the 4.4BSD Operating System