DOC PREVIEW
Stanford CS 140 - The UNIX Time-Sharing System

This preview shows page 1-2-3-4-5 out of 15 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

The UNIX Time-Sharing System*D. M. Ritchie and K. ThompsonABSTRACTUNIX† is a general-purpose, multi-user, interactive operating system for the largerDigital Equipment Corporation PDP-11 and the Interdata 8/32 computers. It offers anumber of features seldom found even in larger operating systems, includingi A hierarchical file system incorporating demountable volumes,ii Compatible file, device, and inter-process I/O,iii The ability to initiate asynchronous processes,iv System command language selectable on a per-user basis,v Over 100 subsystems including a dozen languages,vi High degree of portability.This paper discusses the nature and implementation of the file system and of the usercommand interface.1. INTRODUCTIONThere have been four versions of the UNIX time-sharing system. The earliest (circa 1969-70) ranon the Digital Equipment Corporation PDP-7 and -9 computers. The second version ran on the unpro-tected PDP-11/20 computer. The third incorporated multiprogramming and ran on the PDP-11/34, /40,/45, /60, and /70 computers; it is the one described in the previously published version of this paper, andis also the most widely used today. This paper describes only the fourth, current system that runs on thePDP-11/70 and the Interdata 8/32 computers. In fact, the differences among the various systems is rathersmall; most of the revisions made to the originally published version of this paper, aside from those con-cerned with style, had to do with details of the implementation of the file system.Since PDP-11 UNIX became operational in February, 1971, over 600 installations have been put intoservice. Most of them are engaged in applications such as computer science education, the preparationand formatting of documents and other textual material, the collection and processing of trouble datafrom various switching machines within the Bell System, and recording and checking telephone serviceorders. Our own installation is used mainly for research in operating systems, languages, computer net-works, and other topics in computer science, and also for document preparation.Perhaps the most important achievement of UNIX is to demonstrate that a powerful operating sys-tem for interactive use need not be expensive either in equipment or in human effort: it can run onhardware costing as little as $40,000, and less than two man-years were spent on the main systemsoftware. We hope, however, that users find that the most important characteristics of the system are itssimplicity, elegance, and ease of use.Besides the operating system proper, some major programs available under UNIX are__________________* Copyright 1974, Association for Computing Machinery, Inc., reprinted by permission. This is a revised version of anarticle that appeared in Communications of the ACM, 17, No. 7 (July 1974), pp. 365-375. That article was a revisedversion of a paper presented at the Fourth ACM Symposium on Operating Systems Principles, IBM Thomas J. WatsonResearch Center, Yorktown Heights, New York, October 15-17, 1973.†UNIX is a Trademark of Bell Laboratories.- 2 -C compilerText editor based on QED1Assembler, linking loader, symbolic debuggerPhototypesetting and equation setting programs23Dozens of languages including Fortran 77, Basic, Snobol, APL, Algol 68, M6, TMG, PascalThere is a host of maintenance, utility, recreation and novelty programs, all written locally. The UNIXuser community, which numbers in the thousands, has contributed many more programs and languages.It is worth noting that the system is totally self-supporting. All UNIX software is maintained on the sys-tem; likewise, this paper and all other documents in this issue were generated and formatted by the UNIXeditor and text formatting programs.II. HARDWARE AND SOFTWARE ENVIRONMENTThe PDP-11/70 on which the Research UNIX system is installed is a 16-bit word (8-bit byte) com-puter with 768K bytes of core memory; the system kernel occupies 90K bytes about equally dividedbetween code and data tables. This system, however, includes a very large number of device drivers andenjoys a generous allotment of space for I/O buffers and system tables; a minimal system capable ofrunning the software mentioned above can require as little as 96K bytes of core altogether. There areeven larger installations; see the description of the PWB/UNIX systems,45for example. There are alsomuch smaller, though somewhat restricted, versions of the system.6Our own PDP-11 has two 200-Mb moving-head disks for file system storage and swapping. Thereare 20 variable-speed communications interfaces attached to 300- and 1200-baud data sets, and an addi-tional 12 communication lines hard-wired to 9600-baud terminals and satellite computers. There arealso several 2400- and 4800-baud synchronous communication interfaces used for machine-to-machinefile transfer. Finally, there is a variety of miscellaneous devices including nine-track magnetic tape, aline printer, a voice synthesizer, a phototypesetter, a digital switching network, and a chess machine.The preponderance of UNIX software is written in the abovementioned C language.7Early versionsof the operating system were written in assembly language, but during the summer of 1973, it wasrewritten in C. The size of the new system was about one-third greater than that of the old. Since thenew system not only became much easier to understand and to modify but also included many func-tional improvements, including multiprogramming and the ability to share reentrant code among severaluser programs, we consider this increase in size quite acceptable.III. THE FILE SYSTEMThe most important role of the system is to provide a file system. From the point of view of theuser, there are three kinds of files: ordinary disk files, directories, and special files.3.1 Ordinary filesA file contains whatever information the user places on it, for example, symbolic or binary(object) programs. No particular structuring is expected by the system. A file of text consists simply ofa string of characters, with lines demarcated by the newline character. Binary programs are sequencesof words as they will appear in core memory when the program starts executing. A few user programsmanipulate files with more structure; for example, the assembler generates, and the loader expects, anobject file in a particular format. However, the structure of files is controlled by the programs that usethem, not by the system.3.2


View Full Document

Stanford CS 140 - The UNIX Time-Sharing System

Documents in this Course
Homework

Homework

25 pages

Notes

Notes

8 pages

Load more
Download The UNIX Time-Sharing System
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view The UNIX Time-Sharing System and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view The UNIX Time-Sharing System 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?