The Design and Implementation of the FreeBSD Operating System / Edition 1
  • The Design and Implementation of the FreeBSD Operating System / Edition 1
  • The Design and Implementation of the FreeBSD Operating System / Edition 1

The Design and Implementation of the FreeBSD Operating System / Edition 1

5.0 1
by Marshall Kirk McKusick, George V. Neville-Neil, George V. Neville-Neil
     
 

ISBN-10: 0201702452

ISBN-13: 9780201702453

Pub. Date: 08/02/2004

Publisher: Addison-Wesley

As in earlier Addison-Wesley books on the UNIX-based BSD operating system, Kirk McKusick and George Neville-Neil deliver here the most comprehensive, up-to-date, and authoritative technical information on the internal structure of open source FreeBSD. Readers involved in technical and sales support can learn the capabilities and limitations of the system;

…  See more details below

Overview

As in earlier Addison-Wesley books on the UNIX-based BSD operating system, Kirk McKusick and George Neville-Neil deliver here the most comprehensive, up-to-date, and authoritative technical information on the internal structure of open source FreeBSD. 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; system administrators can learn how to maintain, tune, and configure the system; and systems programmers can learn how to extend, enhance, and interface to the system.

The authors provide a concise overview of FreeBSD's design and implementation. Then, while explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing the systems facilities. As a result, readers can use this book as both a practical reference and an in-depth study of a contemporary, portable, open source operating system.

This book:

  • Details the many performance improvements in the virtual memory system
  • Describes the new symmetric multiprocessor support
  • Includes new sections on threads and their scheduling
  • Introduces the new jail facility to ease the hosting of multiple domains
  • Updates information on networking and interprocess communication

Already widely used for Internet services and firewalls, high-availability servers, and general timesharing systems, the lean quality of FreeBSD also suits the growing area of embedded systems. Unlike Linux, FreeBSD does not require users to publicize any changes they make to the source code.

Read More

Product Details

ISBN-13:
9780201702453
Publisher:
Addison-Wesley
Publication date:
08/02/2004
Edition description:
Older Edition
Pages:
720
Product dimensions:
6.59(w) x 9.62(h) x 1.69(d)

Table of Contents

Preface.

About the Authors.

I. OVERVIEW.

1. History and Goals.

History of the UNIX System.

BSD and Other Systems.

The Transition of BSD to Open Source.

The FreeBSD Development Model.

References.

2. Design Overview of FreeBSD.

FreeBSD Facilities and the Kernel.

Kernel Organization.

Kernel Services.

Process Management.

Memory Management.

I/O System.

Devices.

Filesystems.

Network Filesystem.

Terminals.

Interprocess Communication.

Network Communication.

Network Implementation.

System Operation.

Exercises.

References.

3. Kernel Services.

Kernel Organization.

System Calls.

Traps and Interrupts.

Clock Interrupts.

Memory-Management Services.

Timing Services.

User, Group, and Other Identifiers.

Resource Services.

System-Operation Services.

Accounting.

Exercises.

References.

II. PROCESSES.

4. Process Management.

Introduction to Process Management.

Process State.

Context Switching.

Thread Scheduling.

Process Creation.

Process Termination.

Signals.

Process Groups and Sessions.

Jails.

Process Debugging.

Exercises.

References.

5. Memory Management.

Terminology.

Overview of the FreeBSD Virtual-Memory System.

Kernel Memory Management.

Per-Process Resources.

Shared Memory.

Creation of a New Process.

Execution of a File.

Process Manipulation of Its Address Space.

Termination of a Process.

The Pager Interface.

Paging.

Page Replacement.

Portability.

Exercises.

References.

III. I/O SYSTEM.

6. I/O System Overview.

I/O Mapping from User to Device.

Character Devices.

Disk Devices.

Descriptor Management and Services.

The Virtual-Filesystem Interface.

Filesystem-Independent Services.

Stackable Filesystems.

Exercises.

References.

7. Devices.

Device Overview.

The GEOM Layer.

The CAM Layer.

The ATA Layer.

Device Configuration.

Exercises.

References.

8. Local Filesystems.

Hierarchical Filesystem Management.

Structure of an Inode.

Naming.

Quotas.

File Locking.

Soft Updates.

Filesystem Snapshots.

The Local Filestore.

The Berkeley Fast Filesystem.

Exercises.

References.

9. The Network Filesystem.

History and Overview.

NFS Structure and Operation.

Techniques for Improving Performance.

Exercises.

References.

10. Terminal Handling.

Terminal-Processing Modes.

Line Disciplines.

User Interface.

The tty Structure.

Process Groups, Sessions, and Terminal Control.

C-lists.

RS-232 and Modem Control.

Terminal Operations.

Other Line Disciplines.

Exercises.

References.

IV. INTER PROCESS COMMUNICATION.

11. Interprocess Communication.

Interprocess-Communication Model.

Implementation Structure and Overview.

Memory Management.

Data Structures.

Connection Setup.

Data Transfer.

Socket Shutdown.

Local Interprocess-Communication.

Exercises.

References.

12. Network Communication.

Internal Structure.

Socket-to-Protocol Interface.

Protocol-Protocol Interface.

Interface Between Protocol and Network Interface.

Routing.

Buffering and Congestion Control.

Raw Sockets.

Additional Network-Subsystem Topics.

Exercises.

References.

13. Network Protocols.

IPv4 Network Protocols.

User Datagram Protocol (UDP).

Internet Protocol (IP).

Transmission Control Protocol (TCP).

TCP Algorithms.

TCP Input Processing.

TCP Output Processing.

Internet Control Message Protocol (ICMP).

IPv6.

1Security.

Exercises.

References.

V. SYSTEM OPERATION.

14. Startup and Shutdown.

Overview.

Bootstrapping.

Kernel Initialization.

Kernel Module Initialization.

User-Level Initialization.

System Operation.

Exercises.

References.

Glossary.

Index.

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >

The Design and Implementation of the FreeBSD Operating System 5 out of 5 based on 0 ratings. 1 reviews.
Guest More than 1 year ago
For some 15 years or more, Addison-Wesley has published a set of definitive books on Unix, C and the Internet. It is a pleasure to see that this FreeBSD book continues that tradition. The book goes into a detailed explanation of FreeBSD's kernel and associated matters. Strictly for the experienced unix programmer or systems developer. At the core of the kernel are many algorithms. It is these and their data structures that are the essence of this book. Also worthy of mention is the inclusion of exercises at the end of each chapter. Given that we have an algorithms book, the subject lends itself readily to probing questions, and it is nice that the authors chose to do so. We also have a discussion of FreeBSD versus linux. In recent years, linux has grown hugely, and has overtaken FreeBSD. The authors face this issue squarely. That is, if you are choosing a unix to develop on, why pick FreeBSD? The main point is that for anything you make under it, you do not have to fold back into the main FreeBSD thread, by revealing or relinquishing the source code or any other intellectual property.