Article Collection
This article is part of the following series:1. Unix
Table of Contents
Introduction
This article lists documents, books, and audio-video materials relevant for understanding Unix and all systems derived from it.
Original Unix documents are important for two reasons:
First, as expected, they are relevant for understanding the history and principles on which Unix, the Internet, and modern software is based. It is much easier to learn from simple, original building blocks than from looking at current, very advanced and highly polished solutions that managed to hide their inner workings.
Second, equally important, they are useful for understanding the unsurpassed combination of simplicity and power in Unix. Being familiar with it comes handy when using Unix-based systems, but it has broader effects, making one’s own solutions more powerful and elegant.
There are a lot of documents listed, sorted by category and date. You are not expected to read them all at once or in order:
If you want to learn about the Unix culture, feel free to start with some videos, for example the light-hearted 2019 BWK’s Interview with Ken Thompson and 2016 Interview with Brian W. Kernighan, followed by 1988 Bill Joy's Talk at IBM Yorktown, and then check out popular books.
If you want to learn about Unix itself, start with the foundations and one or two manuals, followed by for example some videos.
It is expected that you will refer back to this list repeatedly over time, focusing on your current subfields of interest.
Foundations
Important Unix papers and documents:
-
Oct 1973 (or Jul 1974), “The UNIX Time-Sharing System”. Dennis MacAlistair Ritchie and Ken Thompson
-
Jan 1974, “Elements of Programming Style”, first edition. Brian Wilson Kernighan and Phillip James Plauger. (Wikipedia page)
-
Oct 1974, “Unix for Beginners”, first edition. B. W. Kernighan
-
May 1975, “C Reference Manual”. D. M. Ritchie
-
Jan 1976, “Proposing a Unix Portability Experiment”. D. M. Ritchie and Steve Johnson
-
1976, “Software Tools”. B. W. Kernighan and P. J. Plauger. (Review of "Software Tools" by Ed Winters)
-
1976, “A Commentary on the Sixth Edition Unix Operating System”. John Lions, UNSW. (Wikipedia page, and an alternative ZIP file with the book and code)
-
Jan 1977, “The UNIX Time-sharing System - A Retrospective”. D. M. Ritchie
-
1978, “Elements of Programming Style”, second edition. B. W. Kernighan and P. J. Plauger
-
Feb 1978, “The C Programming Language”, first edition. B. W. Kernighan and D. M. Ritchie (K&R). (Wikipedia page)
-
1978, “The UNIX Time-Sharing System”, an update to 1974 article. D. M. Ritchie and K. Thompson. (Per John Lions, “It should be re-read at least once per month.”)
-
Jul 1978, “A UNIX TM Operating System for the DEC VAX-11/780 Computer”. Thomas B. London and John F. Reiser. Paper documenting the work on UNIX/32V, recovered by G. Branden Robinson
-
Jul 1978, “UNIX Implementation”. K. Thompson
-
Jul 1978, “Portability of C Programs and the UNIX System”. Stephen Curtis Johnson and D. M. Ritchie
-
Jan 1981, “Unix for Beginners”, second edition. B. W. Kernighan
-
1981, “Software tools in Pascal”. B. W. Kernighan and P. J. Plauger. (In retrospect, BWK regrets that the book was for Pascal rather than C.)
-
Oct 1984, “The Evolution of the Unix Time-sharing System”. D. M. Ritchie
-
1984, “Reflections on Software Research”. D. M. Ritchie
-
1984, “Program Design in the UNIX System Environment”. Robert Pike and B. W. Kernighan
-
1984, “The UNIX Programming Environment”. B. W. Kernighan and R. Pike. (Wikipedia page)
-
Oct 1984, “A Stream Input-Output System”. D. M. Ritchie
-
Aug 1985, “Advanced Unix Programming”, first edition. Marc J. Rochkind
-
Dec 1986, “A Research UNIX Reader: Annotated Excerpts from the Programmer's Manual, 1971-1986”. Doug McIlroy
-
Oct 1986, “The UNIX Success Story”, UNIX Review, 4, pp. 32-42. D. McIlroy
-
1986, “The Design of the Unix Operating System”. Maurice J. Bach
-
Mar 1988, “The C Programming Language”, second edition. B. W. Kernighan and D. M. Ritchie (K&R). (Wikipedia page)
-
Jan 1989, “Life With UNIX”, second edition. Don Libes and Sandy Ressler
-
Nov 1989, “Interprocess Communication in the Ninth Edition Unix System”. D. M. Ritchie
-
Nov 1989, “The Design and Implementation of the 4.3BSD UNIX Operating System. Samuel J. Leffler, Marshall Kirk McKusick, Michael J. Karels, John S. Quarterman
-
1993, “The Development of the C Language”. D. M. Ritchie
-
Apr 1993, “Five Little Languages and How They Grew: Talk at HOPL”. D. M. Ritchie. A talk related to the above paper. Provides additional information
-
Jun 2002, “Odd Comments and Strange Doings in Unix”. D. M. Ritchie
-
2004, “Advanced Unix Programming”, second edition. M. J. Rochkind
-
Oct 2019, “UNIX: A History and a Memoir”. B. W. Kernighan
UNIX Programmer’s Manuals (UPM)
Doug McIlroy organized “Unix Programmer’s Manuals” to be written, and editions of manual became the versions of Unix they were describing.
The manuals consisted of manpages and papers. They are user-oriented, i.e. they do not discuss Unix internals, OS design principles, or C programming.
The editions were:
-
Nov 1971, Unix Programmer's Manual, 1st Edition, with some extra info
-
1972, Kernel Subroutine Descriptions, J. DeFelice, hand-written
-
Jun 1972, Preliminary Release of UNIX Implementation Document, with line-by-line commented source listing
-
Jan 1976, UNIX PROGRAM DESCRIPTION, AT&T USG
-
Jan 1979. Unix Programmer's Manual, 7th Edition, complete with man pages and all papers
-
Feb 1985, Unix Programmer's Manual, 8th Edition, partial content
-
Sep 1986
-
Oct 1989, Unix Programmer's Manual, 10th Edition, partial content
Please note that above links point mostly to resources hosted at https://www.tuhs.org/. In chapter AT&T / Bell Labs Unix Releases a bit more contextual information on each edition can be found, along with alternative links pointing to https://gunkies.org/.
Unix in Popular Literature
Books and materials related to Unix:
-
1989, “The Cuckoo’s Egg: Tracking a Spy Through the Maze of Computer Espionage”. C. Stoll. (Wikipedia page)
-
Jan 1992, “The Hacker Crackdown: Law and Disorder on the Electronic Frontier”. B. Sterling. (Wikipedia page, and a Jan 1, 1994 afterword)
-
1992, Bastard Operator From Hell (BOFH). S. Travaglia. (Wikipedia page)
-
Jan 1994, “A Quarter Century of Unix”. P. H. Salus. (Alternative download at TUHS)
-
Apr 1994, “Hello World (Plan 9 and UTF-16)”. R. Pike and K. Thompson
-
Jan 1999, “Open Sources: Voices from the Open Source Revolution, 1st edition”. C. DiBona, S. Ockman, M. Stone
-
2000, “The Cathedral and the Bazaar”. E. S. Raymond
-
Mar 2002, “Free as in Freedom: Richard Stallman's Crusade for Free Software”. S. Williams
-
Aug 2004, “Understanding Open Source and Free Software Licensing”. A. M. St. Laurent
-
2006, “The Daemon, the GNU & the Penguin”. P. H. Salus
-
2010, “Hackers: Heroes of the Computer Revolution”, 2nd edition. S. Levy. (Wikipedia page)
-
Aug 2017, “For Fun and Profit: A History of the Free and Open Source Software Revolution”. C. J. Tozzi
-
Dec 2022, “Producing Open Source Software: How to Run a Successful Free Software Project”. K. Fogel
Videos
Unix videos and documentaries:
- Video of V0 Unix running on a PDP-7
-
1982, The UNIX System: Making Computers Easier to Use. Bell Laboratories
-
Mar 1988, Bill Joy's Talk at IBM Yorktown. Bill Joy
-
Feb 1991, X Window System Design Principles. James Gettys
-
Aug 2015, Origins of the C Programming Language. B. W. Kernighan
-
Jan 2016, VCF East 10 Interview with Brian W. Kernighan. B. W. Kernighan
-
Mar 2018, Interview with Jon 'maddog' Hall. J. Hall. Covers origins of Unix, proceeds with GNU/Linux and projects around it
-
Nov 2018, The History of Unix; Rob Pike's Experience. Rob Pike
-
May 2019, BWK's Interview with Ken Thompson. K. Thompson. Covers Ken’s arrival to Bell Labs, Unix, C, and chess machines
-
Jan 2020, A Political History of X. Keith Packard. Covers the history and divergence of X11
-
Jul 2020, Warner Losh's FOSDEM talk5-14 on the forgotten history of early Unix. Warner Losh
-
~2020, An interview with Ken Thompson, with an intro by B. W. Kernighan. K. Thompson
-
Jan 2024, A Chronicle of the Unix Wars. Asianometry. Contains pictures of original documents and articles
-
Jan 2024, The History of X Window System (X11). RetroBytes
Video Collections
-
1983-2002, Computer Chronicles. Stewart Cheifet & others. (Wikipedia page, a list of episodes, and an alternative YouTube channel)
- Computer History Museum's Oral Histories
Magazines
- Linux Weekly News (LWN.net)
-
;Login: (formerly UNIX News) posts
-
Old UNIX REVIEW magazine
-
Old Unix World magazine
Other Resources
Misc links and resources, mostly to collections of books, papers, and documents.
- O'Reilly Open Books
- Dennis M. Ritchie's Homepage at Bell Labs
- Ken Thompson's Papers
-
(Misc) History of UNIX
-
An Oral History of Unix – Michael S. Mahoney’s interviews with Unix programmers (alternative link)
Modern Code
-
Unix History Repository. Diomidis Spinellis. Continuous Unix and BSD commit history from its beginnings to today
-
xv6. A modern, free, and educational reimplementation of V6 Unix from Lions’ Commentary
-
Lions Operating System (LionsOS). A secure, fast, static-architecture OS based on the seL4 microkernel
-
UX/RT. A QNX-like OS based on the seL4 microkernel
Article Collection
This article is part of the following series:1. Unix
Automatic Links
The following links appear in the article:
1. For Fun and Profit: A History of the Free and Open Source Software Revolution - For-Fun-and-Profit-A-History-of-the-Free-and-Open-Source-Software-Revolution.pdf
2. Life With UNIX - Life_with_Unix_v2.pdf
3. Odd Comments and Strange Doings in Unix
4. Software Tools - Software-Tools.pdf
5. The Design and Implementation of the 4.3BSD UNIX Operating System - The-Design-and-Implementation-of-the-4.3BSD-Unix-OS.pdf
6. Unix for Beginners - Unix_For_Beginners_1st_ed.pdf
7. Unix for Beginners - Unix_For_Beginners_2nd_ed.pdf
8. The Daemon, the GNU & the Penguin - http://www.groklaw.net/staticpages/index.php?page=20051013231901859
9. ZIP File With the Book and Code - https://archive.org/details/CommentarySixthEditionUNIX
10. The UNIX Programming Environment - https://archive.org/details/UNIXProgrammingEnvironment
11. A Quarter Century of Unix - https://archive.org/details/aquartercenturyofunixpeterh.salus_201910
12. The Cathedral and the Bazaar - https://archive.org/details/cathedral-bazaar
13. Computer Chronicles - https://archive.org/details/computerchronicles
14. Software Tools in Pascal - https://archive.org/details/softwaretoolsinp00kern
15. Elements of Programming Style - https://archive.org/details/the-elements-of-programming-style-second-edition/
16. UNIX REVIEW - https://archive.org/details/unixreview?sort=date
17. Unix Programmer's Manual, 8th Edition - https://archive.org/details/unixtimesharingsystemprogrammersmanualeighthedition
18. Unix World - https://archive.org/search?query=creator%3A%22Unix+World%22&sort=-date
19. Bastard Operator From Hell (BOFH) - https://bofh.bjash.com/
20. AT&T / Bell Labs Unix Releases - https://crystallabs.io/unix-bsd-gnu-linux-history/#att--bell-labs-unix-releases
21. A Commentary on the Sixth Edition Unix Operating System - https://cs3210.cc.gatech.edu/r/unix6.pdf
22. Reflections on Software Research - https://dl.acm.org/doi/10.1145/1283920.1283939
23. The UNIX Time-Sharing System - https://dl.acm.org/doi/10.1145/361011.361061
24. Review of "Software Tools" - https://dl.acm.org/doi/pdf/10.1145/1110841.1110847
25. Alternative Link - https://dspinellis.github.io/oral-history-of-unix/index.html
26. Wikipedia Page - https://en.wikipedia.org/wiki/Bastard_Operator_From_Hell
27. Wikipedia Page - https://en.wikipedia.org/wiki/Computer_Chronicles
28. Doug McIlroy - https://en.wikipedia.org/wiki/Doug_McIlroy
29. Wikipedia Page - https://en.wikipedia.org/wiki/Hackers:_Heroes_of_the_Computer_Revolution
30. SeL4 - https://en.wikipedia.org/wiki/L4_microkernel_family#High_assurance:_seL4
31. Wikipedia Page - https://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th_Edition,_with_Source_Code
32. List of Episodes - https://en.wikipedia.org/wiki/List_of_Computer_Chronicles_episodes
33. Microkernel - https://en.wikipedia.org/wiki/Microkernel
34. Wikipedia Page - https://en.wikipedia.org/wiki/The_C_Programming_Language
35. Wikipedia Page - https://en.wikipedia.org/wiki/The_Cuckoo%27s_Egg_(book)
36. Wikipedia Page - https://en.wikipedia.org/wiki/The_Elements_of_Programming_Style
37. Wikipedia Page - https://en.wikipedia.org/wiki/The_Hacker_Crackdown
38. Wikipedia Page - https://en.wikipedia.org/wiki/The_Unix_Programming_Environment
39. Xv6 - https://en.wikipedia.org/wiki/Xv6
40. The C Programming Language - https://github.com/AzatAI/cs_books/blob/master/The.C.Programming.Language.2nd.Edition.pdf
41. Unix History Repository - https://github.com/dspinellis/unix-history-repo
42. The Design of the Unix Operating System - https://github.com/jyfc/ebook/blob/master/03_operating_system/the_design_of_the_unix_operating_system.pdf
43. UNIX Implementation - https://github.com/manjunath5496/Ken-Thompson-papers/blob/master/ken(6).pdf
44. Hello World (Plan 9 and UTF-16) - https://github.com/manjunath5496/Ken-Thompson-papers/blob/master/ken(9).pdf
45. Ken Thompson's Papers - https://github.com/manjunath5496/Ken-Thompson-papers/tree/master
46. UX/RT - https://gitlab.com/uxrt/uxrt-toplevel
47. https://gunkies.org/
48. Lions Operating System (LionsOS) - https://lionsos.org/
49. Program Design in the UNIX System Environment - https://lists.gnu.org/archive/html/nmh-workers/2012-11/pdfGsAjwogf3t.pdf
50. Linux Weekly News (LWN.net) - https://lwn.net/
51. Hackers: Heroes of the Computer Revolution - https://oceanofpdf.com/authors/steven-levy/pdf-epub-hackers-heroes-of-the-computer-revolution-download/
52. Producing Open Source Software: How to Run a Successful Free Software Project - https://producingoss.com/en/producingoss.html
53. Unix Programmer's Manual, 7th Edition - https://s3.amazonaws.com/plan9-bell-labs/7thEdMan/index.html
54. Unix Programmer's Manual, 10th Edition - https://web.archive.org/web/20150611142736/http://www.cs.bell-labs.com/10thEdMan/index.html
55. Alternative Download at TUHS - https://wiki.tuhs.org/lib/exe/fetch.php?media=publications:qcu.pdf
56. Advanced Unix Programming - https://www.amazon.com/gp/product/0131411543
57. Advanced Unix Programming - https://www.amazon.com/gp/product/B01FIZKNYE
58. Dennis M. Ritchie's Homepage at Bell Labs - https://www.bell-labs.com/usr/dmr/www/
59. The UNIX Time-Sharing System - https://www.bell-labs.com/usr/dmr/www/cacm.pdf
60. The Development of the C Language - https://www.bell-labs.com/usr/dmr/www/chist.html
61. C Reference Manual - https://www.bell-labs.com/usr/dmr/www/cman.pdf
62. Proposing a Unix Portability Experiment - https://www.bell-labs.com/usr/dmr/www/firstport.html
63. The Evolution of the Unix Time-Sharing System - https://www.bell-labs.com/usr/dmr/www/hist.html
64. Five Little Languages and How They Grew: Talk at HOPL - https://www.bell-labs.com/usr/dmr/www/hopl.html
65. Portability of C Programs and the UNIX System - https://www.bell-labs.com/usr/dmr/www/portpap.pdf
66. The UNIX Time-Sharing System - A Retrospective - https://www.bell-labs.com/usr/dmr/www/retro.pdf
67. Interprocess Communication in the Ninth Edition Unix System - https://www.bell-labs.com/usr/dmr/www/spe.pdf
68. A Stream Input-Output System - https://www.bell-labs.com/usr/dmr/www/st.pdf
69. A Research UNIX Reader: Annotated Excerpts From the Programmer's Manual, 1971-1986 - https://www.cs.dartmouth.edu/~doug/reader.pdf
70. Afterword - https://www.mit.edu/hacker/afterword.html
71. The Hacker Crackdown: Law and Disorder on the Electronic Frontier - https://www.mit.edu/hacker/hacker.html
72. O'Reilly Open Books - https://www.oreilly.com/openbook/
73. Free as in Freedom: Richard Stallman's Crusade for Free Software - https://www.oreilly.com/openbook/freedom/
74. Open Sources: Voices From the Open Source Revolution, 1st Edition - https://www.oreilly.com/openbook/opensources/book/
75. Understanding Open Source and Free Software Licensing - https://www.oreilly.com/openbook/osfreesoft/book/
76. Diomidis Spinellis - https://www.spinellis.gr/
77. https://www.tuhs.org/
78. Unix Programmer's Manual, 2nd Edition - https://www.tuhs.org/Archive/Distributions/Research/Dennis_v2/v2man.pdf
79. Unix Programmer's Manual, 3rd Edition - https://www.tuhs.org/Archive/Distributions/Research/Dennis_v3/
80. Unix Programmer's Manual, 4th Edition - https://www.tuhs.org/Archive/Distributions/Research/Dennis_v4/
81. Unix Programmer's Manual, 5th Edition - https://www.tuhs.org/Archive/Distributions/Research/Dennis_v5/
82. Unix Programmer's Manual, 6th Edition - https://www.tuhs.org/Archive/Distributions/Research/Dennis_v6/
83. UNIX PROGRAM DESCRIPTION - https://www.tuhs.org/Archive/Distributions/USDL/unix_program_description_jan_1976.pdf
84. An Oral History of Unix - https://www.tuhs.org/Archive/Documentation/OralHistory/
85. History of UNIX - https://www.tuhs.org/Mirror/Hauben/unix-Contents.html
86. ;Login: - https://www.usenix.org/publications/loginonline
87. UNIX Videos From AT&T Tech Channel - https://www.youtube.com/@ATTTechChannel/search?query=unix
88. Alternative YouTube Channel - https://www.youtube.com/@ComputerChroniclesYT/videos
89. Computer History Museum's Oral Histories - https://www.youtube.com/@ComputerHistory/search?query=unix%20oral%20history
90. BWK's Interview With Ken Thompson - https://www.youtube.com/watch?v=EY6q5dv_B-o
91. Interview With Jon 'Maddog' Hall - https://www.youtube.com/watch?v=EZMA3Ge144U
92. A Chronicle of the Unix Wars - https://www.youtube.com/watch?v=Ffh3DRFzRL0
93. X Window System Design Principles - https://www.youtube.com/watch?v=KdmNHM9BKY0
94. The History of X Window System (X11) - https://www.youtube.com/watch?v=R-N-fgKWYGU
95. VCF East 10 Interview With Brian W. Kernighan - https://www.youtube.com/watch?v=TUWt_StXKsY
96. Warner Losh's FOSDEM Talk5-14 on the Forgotten History of Early Unix - https://www.youtube.com/watch?v=XuzeagzQwRs
97. The UNIX System: Making Computers Easier to Use - https://www.youtube.com/watch?v=XvDZLjaCJuw
98. The History of Unix; Rob Pike's Experience - https://www.youtube.com/watch?v=_2NI6t2r_Hs
99. A Political History of X - https://www.youtube.com/watch?v=cj02_UeUnGQ
100. Origins of the C Programming Language - https://www.youtube.com/watch?v=de2Hsvxaf8M
101. Video of V0 Unix Running on a PDP-7 - https://www.youtube.com/watch?v=pvaPaWyiuLA
102. An Interview With Ken Thompson, With an Intro by B. W. Kernighan - https://www.youtube.com/watch?v=xKNaCzdn6sY
103. Bill Joy's Talk at IBM Yorktown - https://youtu.be/EmC5yoE_7PY
104. A UNIX TM Operating System for the DEC VAX-11/780 Computer - unix-32v-reconstructed-draft1.pdf