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