Team BBL
Previous Page Next Page

Bibliography

Accetta, M., Baron, R., Bolosky, W., Golub, D., Rashid, R., Tevanian, A., and Young, M. 1986. "Mach: A New Kernel Foundation for UNIX Development," Proceedings of the 1986 Summer USENIX Conference, pp. 93113, Atlanta, GA.
A paper introducing the Mach operating system.

Adobe Systems Inc. 1999. PostScript Language Reference Manual, Third Edition. Addison-Wesley, Reading, MA.
The language reference manual for PostScript.

Aho, A. V., Kernighan, B. W., and Weinberger, P. J. 1988. The AWK Programming Language. Addison-Wesley, Reading, MA.
A complete book on the awk programming language. The version of awk described in this book is sometimes called "nawk" (for new awk).

Andrade, J. M., Carges, M. T., and Kovach, K. R. 1989. "Building a Transaction Processing System on UNIX Systems," Proceedings of the 1989 USENIX Transaction Processing Workshop, vol. May, pp. 1322, Pittsburgh, PA.
A description of the AT&T Tuxedo Transaction Processing System.

Arnold, J. Q. 1986. "Shared Libraries on UNIX System V," Proceedings of the 1986 Summer USENIX Conference, pp. 395404, Atlanta, GA.
Describes the implementation of shared libraries in SVR3.

AT&T. 1989. System V Interface Definition, Third Edition. Addison-Wesley, Reading, MA.
This four-volume set specifies the source code interface and runtime behavior of System V. The third edition corresponds to SVR4. A fifth volume, containing updated versions of commands and functions from volumes 14, was published in 1991. Currently out of print.

AT&T. 1990a. UNIX Research System Programmer's Manual, Tenth Edition, Volume I. Saunders College Publishing, Fort Worth, TX.
The version of the UNIX Programmer's Manual for the 10th Edition of the Research UNIX System (V10). This volume contains the traditional UNIX System manual pages (Sections 19).

AT&T. 1990b. UNIX Research System Papers, Tenth Edition, Volume II. Saunders College Publishing, Fort Worth, TX.
Volume II for the 10th Edition of the Research UNIX System (V10) contains 40 papers describing various aspects of the system.

AT&T. 1990c. UNIX System V Release 4 BSD/XENIX Compatibility Guide. Prentice-Hall, Englewood Cliffs, NJ.
Contains manual pages describing the compatibility library.

AT&T. 1990d. UNIX System V Release 4 Programmer's Guide: STREAMS. Prentice-Hall, Englewood Cliffs, NJ.
Describes the STREAMS system in SVR4.

AT&T. 1990e. UNIX System V Release 4 Programmer's Reference Manual. Prentice-Hall, Englewood Cliffs, NJ.
This is the programmer's reference manual for the SVR4 implementation for the Intel 80386 processor. It contains Sections 1 (commands), 2 (system calls), 3 (subroutines), 4 (file formats), and 5 (miscellaneous facilities).

AT&T. 1991. UNIX System V Release 4 System Administrator's Reference Manual. Prentice-Hall, Englewood Cliffs, NJ.
This is the system administrator's reference manual for the SVR4 implementation for the Intel 80386 processor. It contains Sections 1 (commands), 4 (file formats), 5 (miscellaneous facilities), and 7 (special files).

Bach, M. J. 1986. The Design of the UNIX Operating System. Prentice-Hall, Englewood Cliffs, NJ.
A book on the details of the design and implementation of the UNIX operating system. Although actual UNIX System source code is not provided in this text (since it was proprietary to AT&T at the time), many of the algorithms and data structures used by the UNIX kernel are presented and discussed. This book describes SVR2.

Bolsky, M. I., and Korn, D. G. 1995. The New KornShell Command and Programming Language, Second Edition. Prentice-Hall, Englewood Cliffs, NJ.
A book describing how to use the Korn shell, both as a command interpreter and as a programming language.

Chen, D., Barkley, R. E., and Lee, T. P. 1990. "Insuring Improved VM Performance: Some No-Fault Policies," Proceedings of the 1990 Winter USENIX Conference, pp. 1122, Washington, D.C.
Describes changes made to the virtual memory implementation of SVR4 to improve its performance, especially for fork and exec.

Comer, D. E. 1979. "The Ubiquitous B-Tree," ACM Computing Surveys, vol. 11, no. 2, pp. 121137 (June).
A good, comprehensive paper on B-trees.

Date, C. J. 2004. An Introduction to Database Systems, Eighth Edition. Addison-Wesley, Boston, MA.
A comprehensive overview of database systems.

Fagin, R., Nievergelt, J., Pippenger, N., and Strong, H. R. 1979. "Extendible HashingA Fast Access Method for Dynamic Files," ACM Transactions on Databases, vol. 4, no. 3, pp. 315344 (September).
A paper describing the extendible hashing technique.

Fowler, G. S., Korn, D. G., and Vo, K. P. 1989. "An Efficient File Hierarchy Walker," Proceeding of the 1989 Summer USENIX Conference, pp. 173188, Baltimore, MD.
Describes an alternate library function to traverse a file system hierarchy.

Gallmeister, B. O. 1995. POSIX.4: Programming for the Real World. O'Reilly & Associates, Sebastopol, CA.
Describes the real-time interfaces in the POSIX standard.

Garfinkel, S., Spafford, G., and Schwartz, A. 2003. Practical UNIX & Internet Security, Third Edition. O'Reilly & Associates, Sebastopol, CA.
A detailed book on UNIX System security.

Gingell, R. A., Lee, M., Dang, X. T., and Weeks, M. S. 1987. "Shared Libraries in SunOS," Proceedings of the 1987 Summer USENIX Conference, pp. 131145, Phoenix, AZ.
Describes the implementation of shared libraries in SunOS.

Gingell, R. A., Moran, J. P., and Shannon, W. A. 1987. "Virtual Memory Architecture in SunOS," Proceedings of the 1987 Summer USENIX Conference, pp. 8194, Phoenix, AZ.
Describes the initial implementation of the mmap function and related issues in the virtual memory design.

Goodheart, B. 1991. UNIX Curses Explained. Prentice-Hall, Englewood Cliffs, NJ.
A complete reference on terminfo and the curses library. Currently out of print.

Hume, A. G. 1988. "A Tale of Two Greps," Software Practice and Experience, vol. 18, no. 11, pp. 10631072.
An interesting paper that discusses performance improvements in grep.

IEEE. 1990. Information TechnologyPortable Operating System Interface (POSIX) Part 1: System Application Program Interface (API) [C Language]. IEEE (Dec.).
This was the first of the POSIX standards, and it defined the C language systems interface standard, based on the UNIX operating system. It is often called POSIX.1. It is now part of the Single UNIX Specification published by the The Open Group [2004].

ISO. 1999. International Standard ISO/IEC 9899Programming Language C. ISO/IEC.
The official standard for the C language and the standard libraries.
PDF versions of this standard can be purchased online at either http://www.ansi.org or http://www.iso.org.

Kernighan, B. W., and Pike, R. 1984. The UNIX Programming Environment. Prentice-Hall, Englewood Cliffs, NJ.
A general reference for additional details on UNIX programming. This book covers numerous UNIX commands and utilities, such as grep, sed, awk, and the Bourne shell.

Kernighan, B. W., and Ritchie, D. M. 1988. The C Programming Language, Second Edition. Prentice-Hall, Englewood Cliffs, NJ.
A book on the ANSI standard version of the C programming language. Appendix B contains a description of the libraries defined by the ANSI standard.

Kleiman, S. R. 1986. "Vnodes: An Architecture for Multiple File System Types in Sun Unix," Proceedings of the 1986 Summer USENIX Conference, pp. 238247, Atlanta, GA.
A description of the original v-node implementation.

Knuth, D. E. 1998. The Art of Computer Programming, Volume 3: Sorting and Searching, Second Edition. Addison-Wesley, Boston, MA.
Describes sorting and searching algorithms.

Korn, D. G., and Vo, K. P. 1991. "SFIO: Safe/Fast String/File IO," Proceedings of the 1991 Summer USENIX Conference, pp. 235255, Nashville, TN.
A description of an alternative to the standard I/O library. The library is available at http://www.research.att.com/sw/tools/sfio.

Krieger, O., Stumm, M., and Unrau, R. 1992. "Exploiting the Advantages of Mapped Files for Stream I/O," Proceedings of the 1992 Winter USENIX Conference, pp. 2742, San Francisco, CA.
An alternative to the standard I/O library based on mapped files.

Leffler, S. J., McKusick, M. K., Karels, M. J., and Quarterman, J. S. 1989. The Design and Implementation of the 4.3BSD UNIX Operating System. Addison-Wesley, Reading, MA.
An entire book on the 4.3BSD operating system. This book describes the Tahoe release of 4.3BSD. Currently out of print.

Lennert, D. 1987. "How to Write a UNIX Daemon," ;login:, vol. 12, no. 4, pp. 1723 (July/August).
Describes how to write a daemon in the UNIX System.

Libes, D. 1990. "expect: Curing Those Uncontrollable Fits of Interaction," Proceedings of the 1990 Summer USENIX Conference, pp. 183192, Anaheim, CA.
A description of the expect program and its implementation.

Libes, D. 1991. "expect: Scripts for Controlling Interactive Processes," Computing Systems, vol. 4, no. 2, pp. 99125 (Spring).
This paper presents numerous expect scripts.

Libes, D. 1994. Exploring Expect. O'Reilly & Associates, Sebastopol, CA.
A complete book on using the expect program.

Lions, J. 1977. A Commentary on the UNIX Operating System. AT&T Bell Laboratories, Murray Hill, NJ.
Describes the source code of the 6th Edition UNIX System. Available only to AT&T employees, contractors, and interns, although copies leaked outside of AT&T.

Lions, J. 1996. Lions' Commentary on UNIX 6th Edition. Peer-to-Peer Communications, San Jose, CA.
Describes the 6th Edition UNIX System in a publicly available version of the 1977 classic.

Litwin, W. 1980. "Linear Hashing: A New Tool for File and Table Addressing," Proceedings of the 6th International Conference on Very Large Databases, pp. 212223, Montreal, Canada.
A paper describing the linear hashing technique.

McKusick, M. K., Bostic, K., Karels, M. J., and Quarterman, J. S. 1996. The Design and Implementation of the 4.4BSD Operating System. Addison-Wesley, Reading, MA.
An entire book on the 4.4BSD operating system.

McKusick, M. K., and Neville-Neil, G. V. 2005. The Design and Implementation of the FreeBSD Operating System. Addison-Wesley, Boston, MA.
An entire book on the FreeBSD operating system, version 5.2.

Mauro, J., and McDougall, R. 2001. Solaris Internals. Prentice-Hall, Upper Saddle River, NJ.
A book on the internals of the Solaris operating system. Covers Solaris versions 2.5.1, 2.6, and 2.7 (also known as Solaris 7).

Morris, R., and Thompson, K. 1979. "UNIX Password Security," Communications of the ACM, vol. 22, no. 11, pp. 594597 (Nov.).
A description of the history of the design of the password scheme used in UNIX Systems.

Nemeth, E., Snyder, G., Seebass, S., and Hein, T. R. 2001. UNIX System Administration Handbook, Third Edition. Prentice-Hall, Upper Saddle River, NJ.
A book with many details on administering a UNIX system.

Olander, D. J., McGrath, G. J., and Israel, R. K. 1986. "A Framework for Networking in System V," Proceedings of the 1986 Summer USENIX Conference, pp. 3845, Atlanta, GA.
Describes the original implementation of service interfaces, STREAMS, and TLI for System V.

The Open Group. 2004. The Single UNIX Specification, Version 3. The Open Group, Berkshire, UK.
The POSIX and X/Open standards combined into a single reference.
The HTML version can be viewed for free online at http://www.opengroup.org. Alternatively, a CD-ROM containing the whole standard is available for purchase.

Pike, R., Presotto, D., Dorward, S., Flandrena, B., Thompson, K., Trickey, H., and Winterbottom, P. 1995. "Plan 9 from Bell Labs," Plan 9 Programmer's Manual Volume 2. AT&T, Reading, MA.
A description of the Plan 9 operating system, developed in the same department where the UNIX System was invented.

Plauger, P. J. 1992. The Standard C Library. Prentice-Hall, Englewood Cliffs, NJ.
A complete book on the ANSI C library. It contains a complete C implementation of the library.

Presotto, D. L., and Ritchie, D. M. 1990. "Interprocess Communication in the Ninth Edition UNIX System," Software Practice and Experience, vol. 20, no. S1, pp. S1/3S1/17 (June).
Describes the IPC facilities provided by the Ninth Edition Research UNIX System, developed at AT&T Bell Laboratories. The features are built on the stream inputoutput system and include full-duplex pipes, the ability to pass file descriptors between processes, and unique client connections to servers. A copy of this paper also appears in AT&T [1990b].

Rago, S. A. 1993. UNIX System V Network Programming. Addison-Wesley, Reading, MA.
A book that describes the networking programming environment of UNIX System V Release 4, which is based on STREAMS.

Raymond, E. S., ed. 1996. The New Hacker's Dictionary, Third Edition. MIT Press, Cambridge, MA.
Lots of computer hacker terms defined.

Ritchie, D. M. 1984. "A Stream Input-Output System," AT&T Bell Laboratories Technical Journal, vol. 63, no. 8, pp. 18971910 (Oct.).
The original paper on Streams.

Salus, P. H. 1994. A Quarter Century of UNIX. Addison-Wesley, Reading, MA.
A history of the UNIX System from 1969 to 1994.

Seltzer, M., and Olson, M. 1992. "LIBTP: Portable Modular Transactions for UNIX," Proceedings of the 1992 Winter USENIX Conference, pp. 925, San Francisco, CA.
A modification of the db(3) library from 4.4BSD that implements transactions.

Seltzer, M., and Yigit, O. 1991. "A New Hashing Package for UNIX," Proceedings of the 1991 Winter USENIX Conference, pp. 173184, Dallas, TX.
A description of the dbm(3) library and its implementations, and a newer hashing package.

Stevens, W. R. 1990. UNIX Network Programming. Prentice-Hall, Englewood Cliffs, NJ.
A detailed book on network programming under the UNIX System. The contents of the first edition of this book differ greatly from later editions.

Stevens, W. R., Fenner, B., and Rudoff, A. M. 2004. UNIX Network Programming, Volume 1, Third Edition. Addison-Wesley, Boston, MA.
A detailed book on network programming under UNIX System. Redesigned and split into two volumes in the second edition and updated in the third edition.

Stonebraker, M. R. 1981. "Operating System Support for Database Management," Communications of the ACM, vol. 24, no. 7, pp. 412418 (July).
Describes operating system services and how they affect database operation.

Strang, J. 1986. Programming with curses. O'Reilly & Associates, Sebastopol, CA.
A book on the Berkeley version of curses.

Strang, J., Mui, L., and O'Reilly, T. 1988. termcap & terminfo, Third Edition. O'Reilly & Associates, Sebastopol, CA.
A book on termcap and terminfo.

Sun Microsystems. 2002. STREAMS Programming Guide. Sun Microsystems, Santa Clara, CA.
Describes STREAMS programming on the Solaris platform.

Thompson, K. 1978. "UNIX Implementation," The Bell System Technical Journal, vol. 57, no. 6, pp. 19311946 (JulyAug.).
Describes some of the implementation details of Version 7.

Vo, Kiem-Phong. 1996. "Vmalloc: A General and Efficient Memory Allocator," Software Practice and Experience, vol. 26, no. 3, pp. 357374.
Describes a flexible memory allocator.

Weinberger, P. J. 1982. "Making UNIX Operating Systems Safe for Databases," The Bell System Technical Journal, vol. 61, no. 9, pp. 24072422 (Nov.).
Describes some problems in implementing databases in early UNIX systems.

Weinstock, C. B., and Wulf, W. A. 1988. "Quick Fit: An Efficient Algorithm for Heap Storage Allocation," SIGPLAN Notices, vol. 23, no. 10, pp. 141148.
Describes a memory allocation algorithm suitable for a wide variety of applications.

Williams, T. 1989. "Session Management in System V Release 4," Proceedings of the 1989 Winter USENIX Conference, pp. 365375, San Diego, CA.
Describes the session architecture in SVR4, on which the POSIX.1 interfaces were based. This includes process groups, job control, and controlling terminals. Also describes the security concerns of existing approaches.

X/Open. 1989. X/Open Portability Guide. Prentice-Hall, Englewood Cliffs, NJ.
A set of seven volumes covering commands and utilities (Vol. 1), system interfaces and headers (Vol. 2), supplementary definitions (Vol. 3), programming languages (Vol. 4), data management (Vol. 5), window management (Vol. 6), networking services (Vol. 7). Although out of print, this has been replaced by the Single UNIX Specification [Open Group 2004].

    Team BBL
    Previous Page Next Page