4.2BSD and 4.3BSD as examples of the UNIX system

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.

[1]  Elliott I. Organick,et al.  The multics system: an examination of its structure , 1972 .

[2]  R. S. Fabry,et al.  A fast file system for UNIX , 1984, TOCS.

[3]  Samuel J. Leffler,et al.  Performance Improvements and Functional Enhancements in 4.3BSD , 1985 .

[4]  K. Thompson,et al.  UNIX time-sharing system: UNIX implementation , 1978, The Bell System Technical Journal.

[5]  Vinton G. Cerf,et al.  The DoD Internet Architecture Model , 1983, Comput. Networks.

[6]  B. A. Tague,et al.  UNIX time-sharing system: Foreword , 1978, The Bell System Technical Journal.

[7]  A. Sekey Introducing the UNIX system , 1985, Proceedings of the IEEE.

[8]  Brian W. Kernighan,et al.  The UNIX™ programming environment , 1979, Softw. Pract. Exp..

[9]  SilberschatzAbraham,et al.  4.2BSD and 4.3BSD as examples of the UNIX system , 1985 .

[10]  Bell Cg,et al.  Multis: a new class of multiprocessor computers. , 1985 .

[11]  Robert S. Fabry,et al.  A fast file system for UNIX , 1984, TOCS.

[12]  Walter F. Tichy,et al.  Towards a Distributed File System , 1984 .

[13]  C. R. Snow,et al.  Concurrent Euclid, The UNIX system, and TUNIS , 1982 .

[14]  Elliott I. Organick,et al.  The Multics system , 1972 .

[15]  BabaogluÖzalp,et al.  Converting a swap-based system to do paging in an architecture lacking page-referenced bits , 1981 .

[16]  Abraham Silberschatz,et al.  Operating system concepts (2nd ed.) , 1985 .

[17]  Douglas Comer,et al.  Operating system design: the XINU approach , 1984 .

[18]  M. E. Lesk,et al.  UNIX time-sharing system: The C programming language , 1978, The Bell System Technical Journal.

[19]  Samuel J. Leffler,et al.  A 4.2bsd Interprocess Communication Primer , 1983 .

[20]  A. Retrospective,et al.  The UNIX Time-sharing System , 1977 .

[21]  Samuel J. Leffler,et al.  Measuring and Improving the Performance of 4.2BSD , 1984 .

[22]  Bjarne Stroustrup Data abstraction in c , 1984 .

[23]  Michael A. Padlipsky A Perspective on the ARPANET Reference Model , 1983, INFOCOM.

[24]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[25]  Stephen R. Bourne The Unix System , 1982 .

[26]  M. A. Padlipsky Elements of Networking Style , 1984 .

[27]  Özalp Babaoglu,et al.  Converting a swap-based system to do paging in an architecture lacking page-referenced bits , 1981, SOSP.

[28]  C. G. Bell Multis: A New Class of Multiprocessor Computers , 1985, Science.

[29]  George H. Goble,et al.  A dual processor VAX 11/780 , 1982, ISCA 1982.

[30]  Greg Thiel,et al.  LOCUS a network transparent, high reliability distributed system , 1981, SOSP.

[31]  M. J. Bach,et al.  The UNIX system: Multiprocessor UNIX operating systems , 1984, AT&T Bell Laboratories Technical Journal.

[32]  Samuel J. Leffler,et al.  4.2bsd Networking Implementation Notes (Revised July, 1983) , 1983 .

[33]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[34]  K Thompson,et al.  UNIX implementation , 1986 .

[35]  George H. Goble,et al.  A dual processor VAX 11/780 , 1982, ISCA.

[36]  L. Rosler,et al.  The UNIX system: The evolution of C — Past and future , 1984, AT&T Bell Laboratories Technical Journal.

[37]  Dennis Ritchie,et al.  Reflections on software research , 1984, Resonance.

[38]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .