The Design and Implementation of the 4.4 BSD Operating System

by ; ; ;
Format: Hardcover
Pub. Date: 1996-01-01
Publisher(s): Addison-Wesley Professional
  • Free Shipping Icon

    This Item Qualifies for Free Shipping!*

    *Excludes marketplace orders.

List Price: $78.74

Rent Textbook

Select for Price
There was a problem. Please try again later.

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

eTextbook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

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. The authors, key participants in the development of 4.4BSD, update the history and goals of the BSD system and provide a coherent overview of its design and implementation. While explaining key design decisions, they provide details to major changes in process and memory management, describe the new extensible and stackable filesystem interface, and update information on networking and interprocess communication.

Table of Contents

OVERVIEW
History and Goals
History of the UNIX System
Origins
Research UNIX
AT&T UNIX System III and System V
Other Organizations
Berkeley Software Distributions
UNIX in the World
BSD and Other Systems
The Influence of the User Community
Design Goals of 4BSD 4
2BSD Design Goals 4
3BSD Design Goals 4
4BSD Design Goals Release Engineering
References
Design Overview of 4
4BSD 4.4BSD Facilities and the Kernel
The Kernel
Kernel Organization
Kernel Services
Process Management
Signals
Process Groups and Sessions
Memory Management
BSD Memory-Management Design Decisions
Memory Management Inside the Kernel
I/O System
Descriptors and I/O
Descriptor Management
Devices
Socket IPC
Scatter/Gather I/O
Multiple Filesystem Support
Filesystems
Filestores
Network Filesystem
Terminals
Interprocess Communication
Network Communication
Network Implementation
System Operation
Exercises
References
Kernel Services
Kernel Organization
System Processes
System Entry
Run-Time Organization
Entry to the Kernel
Return from the Kernel
System Calls
Result Handling
Returning from a System Call
Traps and Interrupts
Traps
I/O Device Interrupts
Software Interrupts
Clock Interrupts
Statistics and Process Scheduling
Timeouts
Memory-Management Services
Timing Services
Real Time
Adjustment of the Time
External Representation
Interval Time
User, Group, and Other Identifiers
Host Identifiers
Process Groups and Sessions
Resource Services
Process Priorities
Resource Utilization
Resource Limits
Filesystem Quotas
System-Operation Services
Accounting
Exercises
References
Processes
Process Management
Introduction to Process Management
Multiprogramming
Scheduling
Process State
The Process Structure
The User Structure
Context Switching
Process State
Low-Level Context Switching
Voluntary Context Switching
Synchronization
Process Scheduling
Calculations of Process Priority
Process-Priority Routines
Process Run Queues and Context Switching
Process Creation
Process Termination
Signals
Comparison with POSIX Signals
Posting of a Signal
Delivering a Signal
Process Groups and Sessions
Sessions
Job Control
Process Debugging
Exercises
References
Memory Management
Terminology
Processes and Memory
Paging
Replacement Algorithms
Working-Set Model
Swapping
Advantages of Virtual Memory
Hardware Requirements for Virtual Memory
Overview of the
4BSD Vi
Table of Contents provided by Publisher. All Rights Reserved.

Excerpts

This book is an extensive revision of the first authoritative and full-length description of the design and implementation of the research versions of the UNIX system developed at the University of California at Berkeley. Most detail is given about 4.4BSD, which incorporates the improvements of the previous Berkeley versions. Although 4.4BSD includes nearly 500 utility programs in addition to the kernel, this book concentrates almost exclusively on the kernel. The UNIX System The UNIX system runs on computers ranging from personal home systems to the largest supercomputers. 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 common platform for providing network services (from FTP to WWW) on the Internet. It is the most portable operating system ever developed. This portability is due partly to its implementation language, C Kernighan & Ritchie, 1978 (which is itself one of the most widely ported languages), and partly to the elegant design of the system. Many of the system's features are imitated in other systems O'Dell, 1987. Since its inception in 1969 Ritchie & Thompson, 1978, the UNIX system has developed in a number of divergent and rejoining streams. The original developers continued to advance the state of the art with their Ninth and Tenth Edition UNIX inside AT&T Bell Laboratories, and then their Plan 9 successor to UNIX. Meanwhile, AT&T licensed UNIX System V as a product, before selling it to Novell. Novell passed the UNIX trademark to X/OPEN and sold the source code and distribution rights to Santa Cruz Operation (SCO). Both System V and Ninth Edition UNIX were strongly influenced by the Berkeley Software Distributions produced by the Computer Systems Research Group (CSRG) of the University of California at Berkeley. Berkeley Software Distributions These Berkeley systems have introduced several useful programs and facilities to the UNIX community: 2BSD (the Berkeley PDP-11 system): the text editor vi 3BSD (the first Berkeley VAX system): demand-paged virtual-memory support 4.0BSD: performance improvements 4.1BSD: job control, autoconfiguration, and long C identifiers 4.2BSD and 4.3BSD: reliable signals; a fast filesystem; improved networking, including a reference implementation of TCP/IP; sophisticated interprocess-communication (IPC) primitives; and more performance improvements 4.4BSD: a new virtual memory system; a stackable and extensible vnode interface; a network filesystem (NFS); a log-structured filesystem, numerous filesystem types, including loopback, union, and uid/gid mapping layers; an ISO9660 filesystem (e.g., CD-ROM); ISO networking protocols; support for 68K, SPARC, MIPS, and PC architectures; POSIX support, including termios, sessions, and most utilities; multiple IP addresses per interface; disk labels; and improved booting 4.2BSD, 4.3BSD, and 4.4BSD are the bases for the UNIX systems of many vendors, and are used internally by the development groups of many other vendors. 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. The implementation of the TCP/IP networking protocol suite in 4.2BSD and 4.3BSD, and the availability of those systems, explain why the TCP/IP networking protocol suite is implemented so widely throughout the world. Numerous vendors have adapted the Berkeley networking implementations, whether their base system is 4.2BSD, 4.3BSD, 4.4BSD, System V, or even Digital Equipment Corporation's VMS or Microsoft's Winsock interface in Windows '95 and Windows/NT. 4BSD has also been a strong influence on the POSIX (IEEE Std 1003.1) operating-system interface standard, and on related standards. Several featu

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.