[net.unix] Good Unix Book/Paper

egullich@milano.UUCP (08/07/86)

There are several written sources of information on the Unix operating
system.  These describe the insides of Unix, not simply "how to
use Unix for novices ...".

-------------------------------------------------------------------

James L. Peterson and A. Silberschatz,
"Operating System Concepts", Second Edition
Addison-Wesley, Reading, MA
1985, Chapter 14, pages 507-553.

From the table of contents:

14.1 History
14.2 Design principles
14.3 programmer interface
14.4 User interface
14.5 File system
14.6 Process management
14.7 Memory management
14.8 I/O system
14.9 Interprocess Communication
14.10 Summary


-------------------------------------------------------------------

John S. Quarterman, Abraham Silberschatz, and James L. Peterson
"4.2BSD and 4.3BSD as Examples of the Unix System"
Computing Surveys, Volume 17, Number 4, December 1985.

From the abstract:

This paper presents an in-depth examination of the 4.2 Berkeley
Software Distribution, Virtual VAX-11 Version (4.2BSD), which is a
version of the Unix Time-Sharing System. There are notes throughout 
on 4.3BSD, the forthcoming system from the University of California 
at Berkeley. We trace the historical development of the Unix
system from its conception in 1969 until today, and describe the
design principles that have guided this development. We then
present the internal data structures and algorithms used by the
kernel to support the user interface. In particular, we describe
process management, memory management, the file system, the I/O
system, and communications. These are treated in as much detail as
the Unix licenses will allow. We conclude with a brief description
of the user interface and a set of bibliographic notes.


-------------------------------------------------------------------

"The Design of the Unix Operating System"
by Maurice J. Bach
Prentice-Hall, Englewood CLiffs, NJ
1986, 471 pages.

From the table of contents:

Chapter 1. General Overview of the System
	History
	System structure
	User perspective
	Operating system services
	Assumptions about hardware
	Summary

Chapter 2. Introduction to the Kernel
	Architecture of the Unix operating system
	Introduction to system concepts
	Kernel data structures
	System administration
	Summary and preview

Chapter 3. The Buffer Cache
	Buffer headers
	Structure of the buffer pool
	Scenarios for retrieval of a buffer
	Reading and writing disk blocks
	Advantages and disadvantages of the buffer cache
	Summary

Chapter 4. Internal Representation of Files
	Inodes
	Structure of a regular file
	Directories
	Conversion of a path name to an inode
	Super block
	Inode assignment to a new file
	Allocation of disk blocks
	Other file types
	Summary

Chapter 5. System Calls for the File System
	Open
	Read
	Write
	File and record locking
	Adjusting the position of file I/O -- lseek
	Close
	File creation
	Creation of special files
	Change directory and change root
	Change owner and change mode
	Stat and fstat
	Pipes
	Dup
	Mounting and unmounting file systems
	Link
	Unlink
	File system abstractions
	File system maintenance
	Summary

Chapter 6. The Structure of Processes
	Process states and transitions
	Layout of system memory
	The context of a process
	Saving the context of a process
	Manipulation of the process address space
	Sleep
	Summary

Chapter 7.  Process control
	Process creation
	Signals
	Process termination
	Awaiting process termination
	Invoking other programs
	The user id of a process
	Changing the size of a process
	The shell
	System boot and the init process
	Summary

Chapter 8.  Process Scheduling and Time
	Process scheduling
	System calls for time
	Clock
	Summary

Chapter 9. Memory Management Policies
	Swapping
	Demand paging
	A hybrid system with swapping and demand paging
	Summary

Chapter 10.  The I/O Subsystem
	Driver interfaces
	Disk drivers
	Terminal drivers
	Streams
	Summary

Chapter 11. Interprocess Communication
	Process tracing
	System V IPC
	Network communications
	Sockets
	Summary

Chapter 12. Multiprocessor Systems
	Problem of multiprocess systems
	Solution with master and slave processors
	Solution with semaphores
	The TUNIS system
	Performance limitations

Chapter 13.  Distributed Unix Systems
	Satellite processors
	The Newcastle connection
	Transparent distributed file systems
	A transparent distributed model without stub processes
	Summary

Appendix -- System Calls

Bibliography

Index