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