The Design and Implementation of the 4.4BSD Operating System
Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, John S. Quarterman
- 出版商: Addison Wesley
- 出版日期: 1996-04-30
- 售價: $1,068
- 語言: 英文
- 頁數: 580
- 裝訂: Hardcover
- ISBN: 0201549794
- ISBN-13: 9780201549799
無法訂購
買這商品的人也買了...
-
$1,205Advanced Programming in the UNIX Environment (Hardcover)
-
$1,120$1,098 -
$1,200$1,176 -
$1,029Fundamentals of Data Structures in C
-
$680$537 -
$2,610$2,480 -
$1,068Software Engineering, 6/e
-
$970Introduction to Algorithms, 2/e
-
$1,150$1,127 -
$920$727 -
$1,274Computer Architecture: A Quantitative Approach, 3/e(精裝本)
-
$1,029Operating System Concepts, 6/e (Windows XP Update)
-
$860$731 -
$450$351 -
$1,860$1,767 -
$780$741 -
$650$553 -
$580$458 -
$760$600 -
$580$458 -
$590$466 -
$690$538 -
$720$562 -
$720$569 -
$560$504
相關主題
商品描述
Description
This book describes the design and implementation of the 4.4BSD operating system, the latest release of what previously was known as the "Berkeley" version of UNIX. Because the 4.4BSD operating system is freely available in source and binary form, it is the system of choice for researchers, developers, and programmers. From its years of use in commercial environments, the robustness of the 4.4BSD operating system has made it the most common platform for providing network services on the Internet including routing, firewall protection, WWW services, and electronic mail handling. As key participants in the development of 4.4BSD, the authors provide comprehensive and up-to-date technical information needed by system programmers and application programmers.
Table Of Contents
1. OVERVIEW.
Research UNIX.
AT&T UNIX System III and System V.
Other Organizations.
Berkeley Software Distributions.
UNIX in the World.
BSD and Other Systems.
Design Goals of 4BSD.
4.3BSD Design Goals.
4.4BSD Design Goals.
Release Engineering.
References.
2. Design Overview of 4.4BSD.
Kernel Organization.
Kernel Services.
Process Management.
Process Groups and Sessions.
Memory Management.
Memory Management Inside the Kernel.
I/O System.
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.
3.Kernel Services.
System Entry.
Run-Time Organization.
Entry to the Kernel.
Return from the Kernel.
System Calls.
Returning from a System Call.
Traps and Interrupts.
I/O Device Interrupts.
Software Interrupts.
Clock Interrupts.
Timeouts.
Memory-Management Services.
Timing Services.
Adjustment of the Time.
External Representation.
Interval Time.
User, Group, and Other Identifiers.
Process Groups and Sessions.
Resource Services.
Resource Utilization.
Resource Limits.
Filesystem Quotas.
System-Operation Services.
Exercises.
References.
II. PROCESSES.
Scheduling.
Process State.
The User Structure.
Context Switching.
Low-Level Context Switching.
Voluntary Context Switching.
Synchronization.
Process Scheduling.
Process-Priority Routines.
Process Run Queues and Context Switching.
Process Creation.
Process Termination.
Signals.
Posting of a Signal.
Delivering a Signal.
Process Groups and Sessions.
Job Control.
Process Debugging.
Exercises.
References.
5. Memory Management.
Paging.
Replacement Algorithms.
Working-Set Model.
Swapping.
Advantages of Virtual Memory.
Hardware Requirements for Virtual Memory.
Overview of the 4.4BSD Virtual-Memory System.
Kernel Memory Management.
Kernel Address-Space Allocation.
Kernel Malloc.
Per-Process Resources.
Page-Fault Dispatch.
Mapping to Objects.
Objects.
Objects to Pages.
Shared Memory.
Shared Mapping.
Private Mapping.
Collapsing of Shadow Chains.
Private Snapshots.
5.6 Creation of a New Process.
Duplication of the User Address Space.
Creation of a New Process Without Copying.
Execution of a File.
Process Manipulation of Its Address Space.
File Mapping.
Change of Protection.
Termination of a Process.
The Pager Interface.
Device Pager.
Swap Pager.
Paging.
Page Replacement.
The Pageout Daemon.
Swapping.
The Swap-In Process.
Portability .
Initialization and Startup.
Mapping Allocation and Deallocation.
Change of Access and Wiring Attributes for Mappings.
Management of Page-Usage Information.
Initialization of Physical Pages.
Management of Internal Data Structures.
Exercises.
References.
III. I/O System.
I/O Queueing.
Interrupt Handling.
Block Devices.
Sorting of Disk I/O Requests.
Disk Labels.
Character Devices.
Character-Oriented Devices.
Entry Points for Character-Device Drivers.
Descriptor Management and Services.
Management of Descriptors.
File-Descriptor Locking.
Multiplexing I/O on Descriptors.
Implementation of Select.
Movement of Data Inside the Kernel.
The Virtual-Filesystem Interface.
Vnode Operations.
Pathname Translation.
Exported Filesystem Services.
Filesystem-Independent Services.
Buffer Management.
Implementation of Buffer Management.
Stackable Filesystems.
The Union Mount Filesystem.
Other Filesystems.
Exercises.
References.
7. Local Filesystems.
Structure of an Inode.
Naming.
Finding of Names in Directories.
Pathname Translation.
Links.
Quotas.
File Locking.
Other Filesystem Semantics.
File Flags.
Exercises.
References.
8. Local Filestores.
The Berkeley Fast Filesystem.
Optimization of Storage Utilization.
Reading and Writing to a File.
Filesystem Parameterization.
Layout Policies.
Allocation Mechanisms.
Block Clustering.
Synchronous Operations.
The Log-Structured Filesystem.
Index File.
Reading of the Log.
Writing to the Log.
Block Accounting.
The Buffer Cache.
Directory Operations.
Creation of a File.
Reading and Writing to a File.
Filesystem Cleaning.
Filesystem Parameterization.
Filesystem-Crash Recovery.
The Memory-Based Filesystem.
Filesystem Performance.
Future Work.
Exercises.
References.
9. The Network Filesystem.
NFS Structure and Operation.
The 4.4BSD NFS Implementation.
Client-Server Interactions.
RPC Transport Issues.
Security Issues.
Techniques for Improving Performance.
Crash Recovery.
Exercises.
References.
10. Terminal Handling.
Line Disciplines.
User Interface.
The tty Structure.
Process Groups, Sessions, and Terminal Control.
C-lists.
RS-232 and Modem Control.
Terminal Operations.
Output Line Discipline.
Output Top Half.
Output Bottom Half.
Input Bottom Half.
Input Top Half.
The stop Routine.
The ioctl Routine.
Modem Transitions.
Closing of Terminal Devices.
Other Line Disciplines.
Graphics Tablet Discipline.
Exercises.
References.
IV. INTERPROCESS COMMUNICATION.
Implementation Structure and Overview.
Memory Management.
Storage-Management Algorithms.
Mbuf Utility Routines.
Data Structures.
Sockets.
Socket Addresses.
Connection Setup.
Data Transfer.
Receiving Data.
Passing Access Rights.
Passing Access Rights in the Local Domain.
Socket Shutdown.
Exercises.
References.
12. Network Communication.
Communication Protocols.
Network Interfaces.
Socket-to-Protocol Interface.
Internal Requests.
Protocol Control-Output Routine.
Protocol-Protocol Interface.
pr_input.
pr_ctlinput.
Interface between Protocol and Network Interface.
Packet Transmission.
Packet Reception.
Routing.
Routing Lookup.
Routing Redirects.
Routing-Table Interface.
User-Level Routing Policies.
User-Level Routing Interface: Routing Socket.
Buffering and Congestion Control.
Queue Limiting.
Raw Sockets.
Input Processing.
Output Processing.
Additional Network-Subsystem Topics.
Address Resolution Protocol.
Exercises.
References.
13. Network Protocols.
Subnets.
Broadcast Addresses.
Internet Multicast.
Internet Ports and Associations.
Protocol Control Blocks.
User Datagram Protocol (UDP).
Output.
Input.
Control Operations.
Internet Protocol (IP).
Input.
Forwarding.
Transmission Control Protocol (TCP).
Sequence Variables.
TCP Algorithms.
Estimation of Round-Trip Time.
Connection Establishment.
Connection Shutdown.
TCP Input Processing.
TCP Output Processing.
Avoidance of the Silly-Window Syndrome.
Avoidance of Small Packets.
Delayed Acknowledgments and Window Updates.
Retransmit State.
Slow Start.
Source-Quench Processing.
Buffer and Window Sizing.
Avoidance of Congestion with Slow Start.
Fast Retransmission.
Internet Control Message Protocol (ICMP).
OSI Implementation Issues.
Summary of Networking and Interprocess Communication.
Sending and Receiving of Data.
Termination of Data Transmission or Reception.
Exercises.
References.
V. SYSTEM OPERATION.
Bootstrapping.
Kernel Initialization.
Machine-Dependent Initialization.
Message Buffer.
System Data Structures.
Autoconfiguration.
Device Attachment.
New Autoconfiguration Data Structures.
New Autoconfiguration Functions.
Device Naming.
Machine-Independent Initialization.
User-Level Initialization.
/etc/rc.
/usr/libexec/getty.
/usr/bin/login.
System-Startup Topics.
System Shutdown and Autoreboot.
System Debugging.
Passage of Information To and From the Kernel.
Exercises.
References.
Glossary.
Index. 0201549794T04062001