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.
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)
-
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
-
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
-
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
-
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
-
~2020, An interview with Ken Thompson, with an intro by B. W. Kernighan. K. Thompson
UNIX Programmer’s Manuals
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
-
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 Daemon, the GNU & the Penguin - http://www.groklaw.net/staticpages/index.php?page=20051013231901859
6. ZIP File With the Book and Code - https://archive.org/details/CommentarySixthEditionUNIX
7. The UNIX Programming Environment - https://archive.org/details/UNIXProgrammingEnvironment
8. A Quarter Century of Unix - https://archive.org/details/aquartercenturyofunixpeterh.salus_201910
9. The Cathedral and the Bazaar - https://archive.org/details/cathedral-bazaar
10. Computer Chronicles - https://archive.org/details/computerchronicles
11. Software Tools in Pascal - https://archive.org/details/softwaretoolsinp00kern
12. Elements of Programming Style - https://archive.org/details/the-elements-of-programming-style-second-edition/
13. UNIX REVIEW - https://archive.org/details/unixreview?sort=date
14. Unix Programmer's Manual, 8th Edition - https://archive.org/details/unixtimesharingsystemprogrammersmanualeighthedition
15. Unix World - https://archive.org/search?query=creator%3A%22Unix+World%22&sort=-date
16. Bastard Operator From Hell (BOFH) - https://bofh.bjash.com/
17. AT&T / Bell Labs Unix Releases - https://crystallabs.io/unix-bsd-gnu-linux-history/#att--bell-labs-unix-releases
18. A Commentary on the Sixth Edition Unix Operating System - https://cs3210.cc.gatech.edu/r/unix6.pdf
19. Reflections on Software Research - https://dl.acm.org/doi/10.1145/1283920.1283939
20. The UNIX Time-Sharing System - https://dl.acm.org/doi/10.1145/361011.361061
21. Review of "Software Tools" - https://dl.acm.org/doi/pdf/10.1145/1110841.1110847
22. Alternative Link - https://dspinellis.github.io/oral-history-of-unix/index.html
23. Wikipedia Page - https://en.wikipedia.org/wiki/Bastard_Operator_From_Hell
24. Wikipedia Page - https://en.wikipedia.org/wiki/Computer_Chronicles
25. Doug McIlroy - https://en.wikipedia.org/wiki/Doug_McIlroy
26. Wikipedia Page - https://en.wikipedia.org/wiki/Hackers:_Heroes_of_the_Computer_Revolution
27. SeL4 - https://en.wikipedia.org/wiki/L4_microkernel_family#High_assurance:_seL4
28. Wikipedia Page - https://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th_Edition,_with_Source_Code
29. List of Episodes - https://en.wikipedia.org/wiki/List_of_Computer_Chronicles_episodes
30. Microkernel - https://en.wikipedia.org/wiki/Microkernel
31. Wikipedia Page - https://en.wikipedia.org/wiki/The_C_Programming_Language
32. Wikipedia Page - https://en.wikipedia.org/wiki/The_Cuckoo%27s_Egg_(book)
33. Wikipedia Page - https://en.wikipedia.org/wiki/The_Elements_of_Programming_Style
34. Wikipedia Page - https://en.wikipedia.org/wiki/The_Hacker_Crackdown
35. Wikipedia Page - https://en.wikipedia.org/wiki/The_Unix_Programming_Environment
36. Xv6 - https://en.wikipedia.org/wiki/Xv6
37. The C Programming Language - https://github.com/AzatAI/cs_books/blob/master/The.C.Programming.Language.2nd.Edition.pdf
38. Unix History Repository - https://github.com/dspinellis/unix-history-repo
39. 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
40. UNIX Implementation - https://github.com/manjunath5496/Ken-Thompson-papers/blob/master/ken(6).pdf
41. Hello World (Plan 9 and UTF-16) - https://github.com/manjunath5496/Ken-Thompson-papers/blob/master/ken(9).pdf
42. Ken Thompson's Papers - https://github.com/manjunath5496/Ken-Thompson-papers/tree/master
43. UX/RT - https://gitlab.com/uxrt/uxrt-toplevel
44. https://gunkies.org/
45. Lions Operating System (LionsOS) - https://lionsos.org/
46. Program Design in the UNIX System Environment - https://lists.gnu.org/archive/html/nmh-workers/2012-11/pdfGsAjwogf3t.pdf
47. Linux Weekly News (LWN.net) - https://lwn.net/
48. Hackers: Heroes of the Computer Revolution - https://oceanofpdf.com/authors/steven-levy/pdf-epub-hackers-heroes-of-the-computer-revolution-download/
49. Producing Open Source Software: How to Run a Successful Free Software Project - https://producingoss.com/en/producingoss.html
50. Unix Programmer's Manual, 7th Edition - https://s3.amazonaws.com/plan9-bell-labs/7thEdMan/index.html
51. Unix Programmer's Manual, 10th Edition - https://web.archive.org/web/20150611142736/http://www.cs.bell-labs.com/10thEdMan/index.html
52. Alternative Download at TUHS - https://wiki.tuhs.org/lib/exe/fetch.php?media=publications:qcu.pdf
53. Advanced Unix Programming - https://www.amazon.com/gp/product/0131411543
54. Advanced Unix Programming - https://www.amazon.com/gp/product/B01FIZKNYE
55. Dennis M. Ritchie's Homepage at Bell Labs - https://www.bell-labs.com/usr/dmr/www/
56. The UNIX Time-Sharing System - https://www.bell-labs.com/usr/dmr/www/cacm.pdf
57. The Development of the C Language - https://www.bell-labs.com/usr/dmr/www/chist.html
58. C Reference Manual - https://www.bell-labs.com/usr/dmr/www/cman.pdf
59. Proposing a Unix Portability Experiment - https://www.bell-labs.com/usr/dmr/www/firstport.html
60. The Evolution of the Unix Time-Sharing System - https://www.bell-labs.com/usr/dmr/www/hist.html
61. Five Little Languages and How They Grew: Talk at HOPL - https://www.bell-labs.com/usr/dmr/www/hopl.html
62. Portability of C Programs and the UNIX System - https://www.bell-labs.com/usr/dmr/www/portpap.pdf
63. The UNIX Time-Sharing System - A Retrospective - https://www.bell-labs.com/usr/dmr/www/retro.pdf
64. Interprocess Communication in the Ninth Edition Unix System - https://www.bell-labs.com/usr/dmr/www/spe.pdf
65. A Stream Input-Output System - https://www.bell-labs.com/usr/dmr/www/st.pdf
66. A Research UNIX Reader: Annotated Excerpts From the Programmer's Manual, 1971-1986 - https://www.cs.dartmouth.edu/~doug/reader.pdf
67. Afterword - https://www.mit.edu/hacker/afterword.html
68. The Hacker Crackdown: Law and Disorder on the Electronic Frontier - https://www.mit.edu/hacker/hacker.html
69. O'Reilly Open Books - https://www.oreilly.com/openbook/
70. Free as in Freedom: Richard Stallman's Crusade for Free Software - https://www.oreilly.com/openbook/freedom/
71. Open Sources: Voices From the Open Source Revolution, 1st Edition - https://www.oreilly.com/openbook/opensources/book/
72. Understanding Open Source and Free Software Licensing - https://www.oreilly.com/openbook/osfreesoft/book/
73. Diomidis Spinellis - https://www.spinellis.gr/
74. https://www.tuhs.org/
75. Unix Programmer's Manual, 2nd Edition - https://www.tuhs.org/Archive/Distributions/Research/Dennis_v2/v2man.pdf
76. Unix Programmer's Manual, 3rd Edition - https://www.tuhs.org/Archive/Distributions/Research/Dennis_v3/
77. Unix Programmer's Manual, 4th Edition - https://www.tuhs.org/Archive/Distributions/Research/Dennis_v4/
78. Unix Programmer's Manual, 5th Edition - https://www.tuhs.org/Archive/Distributions/Research/Dennis_v5/
79. Unix Programmer's Manual, 6th Edition - https://www.tuhs.org/Archive/Distributions/Research/Dennis_v6/
80. UNIX PROGRAM DESCRIPTION - https://www.tuhs.org/Archive/Distributions/USDL/unix_program_description_jan_1976.pdf
81. An Oral History of Unix - https://www.tuhs.org/Archive/Documentation/OralHistory/
82. History of UNIX - https://www.tuhs.org/Mirror/Hauben/unix-Contents.html
83. ;Login: - https://www.usenix.org/publications/loginonline
84. UNIX Videos From AT&T Tech Channel - https://www.youtube.com/@ATTTechChannel/search?query=unix
85. Alternative YouTube Channel - https://www.youtube.com/@ComputerChroniclesYT/videos
86. Computer History Museum's Oral Histories - https://www.youtube.com/@ComputerHistory/search?query=unix%20oral%20history
87. BWK's Interview With Ken Thompson - https://www.youtube.com/watch?v=EY6q5dv_B-o
88. Interview With Jon 'Maddog' Hall - https://www.youtube.com/watch?v=EZMA3Ge144U
89. A Chronicle of the Unix Wars - https://www.youtube.com/watch?v=Ffh3DRFzRL0
90. X Window System Design Principles - https://www.youtube.com/watch?v=KdmNHM9BKY0
91. The History of X Window System (X11) - https://www.youtube.com/watch?v=R-N-fgKWYGU
92. VCF East 10 Interview With Brian W. Kernighan - https://www.youtube.com/watch?v=TUWt_StXKsY
93. Warner Losh's FOSDEM Talk5-14 on the Forgotten History of Early Unix - https://www.youtube.com/watch?v=XuzeagzQwRs
94. The UNIX System: Making Computers Easier to Use - https://www.youtube.com/watch?v=XvDZLjaCJuw
95. The History of Unix; Rob Pike's Experience - https://www.youtube.com/watch?v=_2NI6t2r_Hs
96. A Political History of X - https://www.youtube.com/watch?v=cj02_UeUnGQ
97. Origins of the C Programming Language - https://www.youtube.com/watch?v=de2Hsvxaf8M
98. Video of V0 Unix Running on a PDP-7 - https://www.youtube.com/watch?v=pvaPaWyiuLA
99. An Interview With Ken Thompson, With an Intro by B. W. Kernighan - https://www.youtube.com/watch?v=xKNaCzdn6sY
100. Bill Joy's Talk at IBM Yorktown - https://youtu.be/EmC5yoE_7PY
101. A UNIX TM Operating System for the DEC VAX-11/780 Computer - unix-32v-reconstructed-draft1.pdf