Introduction
Brief: a short description of the significance and extent of UNIX
UNIX
(or Unix
) is a system that was built in the 1960s in response to the ever extant need for a reliable Operating System. Problems of the day included timesharing. State-of-the-art computers often completely filled up rooms. They were expensive to build and perhaps even more expensive to maintain.
UNIX was created initially by Ken Thompson, and further developed by Dennis Ritchie and other people at AT&T's Computing Science Research Center of Bell Labs in New Jersey. Early on, they got to work on solving all kinds of general purpose compute problems. By now, many other people have contributed to the development of UNIX and Unix-like operating systems, and UNIX has spread all over the world and beyond.
A UNIX-style system can solve a problem not only on single-purpose device, but on networked groups of machines as well. UNIX facilitates the clustering of resources through many apis and utilities. Using the UNIX system, one can develop very sophisticated software that remains robust, fast, secure and portable. Remote access and distributed computing were further developed in the Plan 9 system. Plan 9 development continues into 2021, and many of its ideas have already been taken back into UNIX-like derivatives.
Get started
There are multiple ways to navigate this document:
- Use the menu to select a topic
- Keyboard: use left and right arrow keys
- PC/Mobile: use edge panels labeled
<
and>
- Repository: https://github.com/dspinellis/unix-history-repo
- Created by: Diomidis Spinellis
Unix has been ported to Git repository featuring multiple branches and accurately timestamped git commits. If you want to know more about the project and the archaeological effort to recreate Unix in git, see Dr. Spinellis's 2016 document "A Repository of Unix History and Evolution". A 2015 edition, titled "A Repository with 44 Years of Unix Evolution" is also available.
See also: pdp7 Unix by Warren Toomey
Visualization
Here is a run of the synthesized Unix repo through Gource, which helps us to imagine what the development of Unix might have looked like. The following run captures only the history from 1972 - 1985.
After 1980 the tree becomes quite complex. Crucially, the Bell System was broken up over 1982-1984, and the final release of research UNIX was the 10th edition in 1989.
If the embedded video fails to load, try YouTube.
- Repository: https://github.com/DoctorWkt/pdp7-unix
- Created by: Warren Toomey, Norman Wilson, et. al
One of the earliest complete versions of UNIX ran on the PDP-7.
This restoration includes assembler source for Ken Thompson's space travel game that is sometimes described as the impetus for UNIX.
- 2001: Space Travel: Exploring the solar system and the PDP-7
- by Dennis Ritchie
- a retrospective on the origins of Unix
- 2020: Emulation of Space Travel with graphical support
Early history
Here are operating systems prior to 1970. Naturally, these are all predecessors of UNIX:
- 1961: Compatible Time-Sharing System (CTSS), an early timesharing system from MIT
- first presented in 1962
- see 1965 Manual
- 1963: A Solution to Computer Bottlenecks
- by Fernando Corbató
- badly needs restoration
- mono audio
- backup from MIT vault
- 1967: Incompatible Timesharing System (ITS)
- 1969: Multics
- Ken and Dennis were two of several Multics programmers who later worked on UNIX
Primary sources
These are various technical papers and other writings about UNIX from its creators.
The UNIX Time-Sharing System
This document is the earliest known formal description of the UNIX system. It had a few revisions, and an early draft is available.
- 1971: Draft: The UNIX Time-Sharing System (Txt)
- by Dennis Ritchie
- 1974: The UNIX Time-Sharing System (ACM) (single column) (digitized)
- by Dennis Ritchie and Ken Thompson
- Annotated and transcribed PDF
- The text is embedded in a 6th ed manual (1975)
- Republished in Apr 1978 revision (ieee)
- 2nd revision transcribed to HTML
- 1978: Preface to the 2nd revision
- 1978: Foreword to the 2nd revision
- by Douglas McIlroy, Berk Tague and Elliot N. Pinson
- Transcribed to HTML
- Featured in an August edition of Bell System Technical Journal (BSTJ).
- Mirror
Timeline
- 1964: Internal memo from Doug McIlroy
- 1972: Kernel Subroutine Descriptions (mirror)
- handwritten notes on various UNIX system calls
- 1977: The UNIX Time-sharing System—A Retrospective (mirror)
- by Dennis Ritchie
- 1978: UNIX Implementation (reformatted)
- by Ken Thompson
- 1979: The Unix I/O System (source code)
- by Dennis Ritchie
- a description of the v7 system
- 1979: The Evolution of the Unix Time-Sharing System
- 1981: Computer Aids for Writers (ACM)
- by Lorinda Cherry
- Transcribed to HTML, from a MirBSD man page on diction
- 1984: A Stream Input‐Output System
- 1984: A History of UNIX before Berkeley: UNIX Evolution: 1975-1984 (Mirror)
- by Ian F. Darwin and Geoff Collyer
- 1985: Interprocess Communication in the Eight Edition Unix System
- by David L. Presotto and Dennis Ritchie
Security
On the topic of security in the context of compilers, Reflections on Trusting Trust makes a firm conclusion.
Papers from other folks associated with the labs are available more specifically on the security model of UNIX.
- 1978: On the Security of UNIX (html)
- by Dennis Ritchie
- 1984: Reflections on Trusting Trust (HTML) (HTML mirror) (markdown) (mirror)
- by Ken Thompson
- 2021 overview by Brailsford
- 1984: UNIX Operating System Security (DOI)
Userspace
Most users find themselves in a ring known as the userspace
. It exists at a level higher than the kernel, and is often where robust, interactive and bespoke applications are found.
- 1977: The Programmer's Workbench
- by Ted A. Dolotta, Richard C. Haight and John R. Mashey
- 1978: The UNIX Operating System as a Base for Applications
- by Gottfried W.R. Luderer, Joe F. Maranzano and Berk A. Tague
Manuals
Much information about Unix is available through it's manuals. The manuals are sometimes included with the operating system. Other books on the subject are available.
- 1971: Unix Programmer's Manual
- by Ken Thompson and Dennis Ritchie
- 1st ed (from /usr/dmr/www)
- pipes and grep were not invented yet
- rebuilt as HTML and hosted on 9p server
- 7th ed
- Volume II, pulished 1983
- PDF scan with cover art depicting U N I X on a set of blocks
- 8th ed
- read more about the early documentation history
- 1979: The UNIX Programming Environment
- by Brian Kernighan and John Mashey
- 1981 Computer article
- an expanded 1984 edition was later published with Rob Pike as the co-author
- 1982: Introduction to the UNIX Operating System
- by Stephen M. Walters
- A mix of notes, standard man pages and assembly code
- 1997: UNIX For Beginners (2e) (alternate format) (HTML to PDF dump) (1e scan)
- by Brian Kernighan
Video productions
The following are video productions featuring subjects whom are directly involved in Unix, speaking on the topic of Unix itself.
- 1982: 📼 The UNIX System a 2-part VHS video from Bell Labs, produced by EWB Productions, Inc.. (Worldcat)
- Making Computers More Productive
- Roughly half-hour length
- Victor A Vyssotsky, who worked on Multics, is the host of program
- Kernighan explains and demonstrates the pipeline
- Alfred Aho remarks on the proliferation of programs within the community
- Stephen Curtis Johnson talks about parsers applied to source code (ASTs)
- Dennis Ritchie is briefly seen explaining a few topics, including input/output redirection.
- Making Computers Easier to Use
- A shorter cut probably aimed at a more general audience
- Kernighan's whizbang pipeline demo is broken up in discrete steps
- Contains additional explanations not found in the other video
- Nina Macdonald is seen explaining Writer's Workbench
- Catherine Ann Brooks explains the filesystem and the distinction of formatless files
- Dennis Ritchie also explains formatless files
- Making Computers More Productive
- 1983: Systems Architecture, Design, Engineering, and Verification
- Panel: Fernando José Corbató, Ernest Allen Emerson, Joseph Sifakis, Ken Thompson
- 1985: 📼 The Computer Chronicles: UNIX (YouTube)
- John Mashey, manager from Bell Labs video, has now moved on to MIPS (and 1 other venture).
- Bill Joy, creator of Vi and a founder of Sun Microsystems is seen remarking on how standards commitees can end up slowing down development.
- 2018: Unix History
- by Rob Pike
- for Sydney Tech Week
- 2019: Unix 50, a 2-day event held by (Nokia) Bell Labs at Murray Hill, NJ
- The Origin of Unix
- panel with Brian Kernighan, Doug McIlroy, Peter Weinberger, Jon Bentley, and Stephen Johnson
- The Compute
- by Al Aho and Chris White
- The Origin of Unix
Unix books
Books on Unix that are not manuals.
- 1977: A Commentary on the Sixth Edition UNIX Operating System
- by John Lions
- 1985: Advanced UNIX Programming (archive) (2nd edition)
- 1986: The Design of the Unix Operating System (30MB PDF) (Archive)
- by Maurice Bach
- This was the textbook used in a University course of which Linus Torvalds was a student.
- 1987: UNIX System Readings and Applications Volume I
- An official, 400-page dense compilation of many writings on Unix from Bell Labs
- 1989: Life with Unix: A Guide for Everyone
- 2019: UNIX: A History and a Memoir
- by Brian Kernighan
Secondary books
- 1992: Advanced Programming in the UNIX Environment
- 2003: The Art of Unix Programming (PDF)
- by Eric Steven Raymond
- Eric is better known for
The Cathedral and the Bazaar
(catb)
- 2021+: Chapter 2 - UNIX
- by Jan Schaumann
- excerpt of unreleased Principles of System Administration
Bell Labs
Bell Telephone Laboratories (i.e., Bell Labs) was AT&T's research division created out of the Bell System. The headquarters at Murray Hill has since been transferred to Nokia.
Holmdel and related research divisions, along with their respective personnel and machines are described in the sources below.
- 1973: 📼 The Holmdel Computer Center, Part 1 (YouTube)
- 1973: 📼 The Holmdel Computer Center, Part 2: Programmer Services (YouTube)
- 1982: Holmdel 20th Anniversary, a history of the legendary Bell Labs facility designed by Eero Saarinen
- 1982: Breakup of the Bell System
- 2015: Memories: A Personal History of Bell Telephone Laboratories
- 2021: History of Science and Technology Q&A (Mar. 10, 2021)
People
- 2019: Center 1127 Computing Sciences Research Alumni
- maint by Gerard J. Holzmann (en:Wiki)
- 1986(1971-): A Research UNIX Reader: Annotated Excerpts from the Programmer's Manual
- by Douglas McIlroy
- 2005: Unix people at princeton.edu
- by Michael S. Mahoney (Wiki)
See also:
- People at the TUHS Wiki
- Spinellis source code repository, which annotates known code contributions.
Interviews
These are interviews with people who worked on Unix, speaking about Unix or the personal affect it had on their lives.
- 1999: Ken Thompson (PDF)
Unix and Beyond
-Computer Magazine
- 2011: Dennis Ritchie
- by
Daniel Sieberg
forABC News
- by
- 2015: Brian Kernighan interviewed about UNIX
- for
Computerphile
- for
- 2016: Brian Kernighan talking about C, UNIX and computer careers
C and Unix at Bell Labs
forVCF East 10
- 2017: Brian Kernighan interviewed by John Mashey
Oral History of Brian Kernighan
-Computer History Museum
- 2019: Ken Thompson interviewed by Brian Kernighan for VCF East 2019
- 2020: Brian Kernighan interviewed on CoreCursive podcast
The Birth of UNIX
- 2021: Alfred Aho and Jeffrey Ullman interviewed by Leah Hoffmann for ACM
Shaping the Foundations of Programming Languages
Retrospectives
- 2001: Ken, Unix and Games
- by Dennis Ritchie
Awards
- 1998: National Medal of Technology
- presented to Ken Thompson and Dennis Ritchie by President Bill Clinton
- 2011: Japan Prize
- acceptance speeches by Ken Thompson and Dennis Ritchie
- 2011: Japan Prize Ceremony for Ken Thompson
- 2019: The Thompson and Ritchie Story
- presented to Ken Thompson and Dennis Ritchie by National Inventors Hall of Fame
- 2020: ACM Turing Award (Press)
- presented to Al Aho and Jeffrey Ullman for compiler books
Programming languages
UNIX featured use of multiple high-level programming languages. As development went on, more of the code was written in a high level programming language over time. You can view this evolution and witness C slowly take over in the source code video.
Although not an easy feat, UNIX eventually enjoyed portability in its implementation using mostly high level languages. Namely, the C programming language was eventually used to implement most of UNIX and it's various utilities, rather than an assembler language.
All UNIX users will encounter a shell language, as it is typically the main interface to the OS.
General
The code samples from Kernighan's talks tend to use C and AWK.
- 1974: The Elements of Programming Style (PDF) (2e PDF)
- by Brian W. Kernighan and Phillip James Plaugher
- title refers to William Strunk's The Elements of Style (1918)
- 1992: Foundations of Computer Science (TOC)
- by Al Aho and Jeff Ullman
- 1999: The Practice of Programming
- by Brian W. Kernighan and Rob Pike
- view Table of contents
- 2004: Languages, Levels, Libraries, and Longevity
- written by John Mashey
- covers computer language development at Bell Labs
- 2010: Computation and Computational Thinking
- by Al Aho
- 2012: Concurrency is not parallelism (slides)
- by Rob Pike in regards to Go
- 2015: Bell Lab's Role in Programming Languages and Algorithms (slides)
- by Al Aho
- 2015: Successful Language Design
- by Brian Kernighan
- 2016: Software, Computation and Models of Computation
- by Al Aho
- 2017: Elements of Programming Style
- by Brian Kernighan
- a 1hr+ presentation covering topics presented in the book
- 2017: Associative Arrays
- by Brian Kernighan
- 10 minute
Computerphile
episode
- 2019: Unix 50, a 2-day event held by (Nokia) Bell Labs at Murray Hill, NJ
- Unix Today and Tomorrow: The Languages
- presentations by Brian Kernighan and Bjarne Stroustrup, followed by 3 Nokia Bell Labs staff members, the latter 2 being largely unrelated
- Unix Today and Tomorrow: The Languages
Influences
A number of ideas from people working outside of the Bell System had an influence on, or overlap with ideas from the developers of UNIX.
- 1968: Go To Statement Considered Harmful (HTML) (Early HTML)
- 1974: Structured Programming with go to Statements
- 1978: Communicating Sequential Process
- by Tony Hoare
- 1985: Communicating Sequential Processes
- by Tony Hoare
- Extended book form of 1978 paper. Read more about this book.
C
C is a programming language that was the primary language used in UNIX systems since the epoch.
Today, programmers use languages like C++, Rust and Go in addition to C. C still enjoys use on modern UNIX systems and in embedded settings.
- 1972: Primeval C
- by Dennis Ritchie
- early C compiler history
- 1974: Programming in C: A Tutorial (html)
- by Brian Kernighan
- 1975: C Reference Manual
- 1975: The Portable C Library (on UNIX)
- 1977: The C Programming Language
- by Dennis Ritchie, Stephen C. Johnson, Michael E. Lesk and Brian Kernighan
- 1978: The C Programming Language
- by Dennis Ritchie and Brian Kernighan
- 2nd edition (ANSI-C) published 1988 (mirror @issuu)
- 1978: Portability of C Programs and the UNIX System
- by Stephen C. Johnson and Dennis Ritchie
- 1983: The C Language and Models for Systems Programming
- by Stephen C. Johnson and Brian Kernighan
- for Byte Magazine
- 1984: C A Reference Manual (5e) (TOC)
- by Samuel Harbison and Guy Steele
- 1988: The State of C
- by Brian Kernighan and Dennis Ritchie
- for Byte Magazine
- 1990: A New C Compiler
- by Ken Thompson
- 1993: The Development of the C Language
- by Dennis Ritchie
- 2002: Plan 9 C Compilers
- by Ken Thompson
- 2015: "C" Programming Language
- by Brian Kernighan
- excerpt from a Computerphile interview
C++
C++ is championed by Bjarne Stroustrup, who was another Bell Labs collaborator.
- 1988: A Better C?
- by Bjarne Stroustrup
- for Byte Magazine
B
For completeness sake, there briefly existed a language called B which was later superseded by C. Here is some B literature:
- 1972: Users' Reference to B (PDF)
- by Ken Thompson
- 1973: The Programming Language B
- by Stephen C. Johnson and Brian Kernighan
- 1973: A Tutorial Introduction To The Language B
- by Brian Kernighan
- 1973: Users' Reference to B on MH-TSS (HTML)
- by Stephen C. Johnson
S
S is a statistical language that was a precursor to R
- 2018: Bell Labs: S language - Internet Archive
- 1998: Programming with Data - A Guide to the S Language
- by John C. Chambers
- 1994: A Brief History of S (Mirror) (Mirror 2)
Shell
The Shell, a type of command language, is an interface to the operating system and a means for the user to control the kernel. Multiple shells have seen use since early UNIX days, and still more shells are being developed today.
Shell languages often mix structured programming constructs with bespoke commands like cd
command, which every shell MUST implement since chdir
can only affect the working directory of the running process itself.
- 1976: The Unix Command Language (more info)
- by Ken Thompson
- view converted Markdown on GitHub
- The syntax (
|
) was contributed by Douglas McIlroy. - The original syntax can be found in 1987's A Research UNIX Reader.
- 1976: Using a Command Language as a High-Level Programming Language (doi)
- by John Mashey
- 1978: The UNIX Shell (html) (mirror)
- 1990: Rc - The Plan 9 Shell (cat-v)
- by Tom Duff
- 1993: Es: A shell with higher-order functions (official)
- by Paul Haahr and Byron Ratikiz
- 2015: Early days of Unix and design of sh
AWK
awk
is a line-by-line processing programming language with constructs for pattern matching, regular expressions and common processing idioms.
- 1978: Awk—A Pattern Scanning and Processing Language
- by Alfred Aho, Brian Kernighan and Peter J. Weinberger
- 1988: The AWK Programming Language
- by Alfred Aho, Brian Kernighan and Peter J. Weinberger
- 1989: Effective awk Programming
- 2005: The AWK Pattern Processing Language
- by Mark G Sobell
- Excerpt of 12th chapter from A Practical Guide to Linux Commands, Editors, and Shell Programming
- by Mark G Sobell
Regular expressions
Regular expressions can be viewed a limited kind of programming language. They are often used for pattern matching, text replacement and general text transformation tasks.
Regular expression engines tend to be very bespoke and non-portable. Throughout the history of UNIX, a shared library for regular expressions remained elusive.
Nevertheless, regular expressions are implemented in multiple programming languages and various tools. Sometimes, this leads to inconsistencies, which are well documented in the sources below.
- 1968: Regular Expression Search Algorithm
- by Ken Thompson
- IBM 7094 cheatsheet
- 1987: Structural Regular Expressions
- by Rob Pike
- 2007: Implementing Regular Expressions (lecture)
- by Russ Cox
Other resources
Go
Go is a new programming language designed by many people, some of whom are the UNIX author(s). It is sponsored and developed at Google.
- 2012: Meet the Go Team
- Panel: Ken Thompson, Rob Pike, Andrew Gerrand, Robert Griesemer and other Go lang collaborators
- 1 hr open discussion
- 2015: The Go Programming Language
- by Alan Donovan and Brian Kernighan
- sample of Chapter 1
Talks
- 2012: Go Concurrency Patterns (slides) (code)
- by Rob Pike
- 2013: Advanced Go Concurrency Patterns (slides)
- by Sameer Ajmani
- 2015: The Evolution of Go
- by Robert Griesemer
- 2015: Go Proverbs
- by Rob Pike
- See the Proverbs on one page
- 2016: Program your next server in Go
- 2019: Go is 10! Now What?
- by Robert Griesemer
Compilers
UNIX had various tools for compiling programs and building compilers themselves. Here is some literature:
- 1972: The Theory of Parsing, Translation and Compiling (PDF) (Vol II)
- by Al Aho and Jeffrey Ullman
- 1975: Yacc: Yet Another Compiler-Compiler (HTML)
- by Stephen C. Johnson
- 1975: Lex: A Lexical Analyzer Generator
- by Michael E. Lesk and Eric Schmidt
- Presentation on Lex
- HTML HTML 2
- 1977: Principles of Compiler Design
- by Al Aho and Jeffrey D. Ullman
- 1978: Language Development Tools
- by Stephen C. Johnson and Michael Lesk
- 1986: Compilers: Principles, Techniques, and Tools (2nd ed)
- by Al Aho, Monica S. Lam, Ravi Sethi and Jeffrey D. Ullman
Unix is where many things started, and there is much to be understood in a study of Unix alone. However, there were many developments outside the scope of, but closely related to Unix in some way.
In particular, branches closer to the epoch (1970) are of great interest.
Timeline
- 1975: MERT - a multi-environment real-time operating system (1977 BSTJ Article)
- by Heinz Lycklama and Douglas L. Bayer
- 1982: (YouTube) BLIT.
- 1983, The Blit: A Multiplexed Graphics Terminal (.ps)
- An early Graphical User Interface (GUI) created by Rob Pike and Bart Locanthi for Unix.
- a programmable bitmap graphics terminal
- 1983: GNU announced
- 1985: Munix, Vol III
- Munix, created by a German company called PCS based on SystemV Unix. Hubbard would go on to help create FreeBSD.
- 1987: Minix
- 1989: 📼 The Computer Chronicles: UNIX
- 2nd episode on UNIX, 4 years after the first
- large segment on GUIs, one from Sun Microsystems and another from HP
- some challenges are described,
- 1991: Linux
- Computer hacker Linus Torvalds realizes there's not a single free kernel available anywhere that is any good
- Much to GNU's complement, Linux is a spiritual copy of the Unix kernel
- Like Unix, it was initially designed on a much smaller computer (in this case Torvald's own i386 machine), before being ported to dozens of other systems, large and small
- 2001 talk available: "The Origins of Linux"
- The "1.0" release was tagged later, in 1994.
- 1992: UTF-8
- still the most widely used encoding scheme on the Internet (>90%)
- See full history from the 1989 ISO draft
- 1995: Plan 9 from Bell Labs
Minix was created by Andrew S. Tenenbaum, who was known to department 1127.
It was relicensed to BSD in 2000.
Some time near or after 2015, nearly all Intel chips include Minix as part of IME.
Plan 9
From Wikipedia:
Plan 9 replaced Unix as Bell Labs's primary platform for operating systems research.
- 1995: Plan 9 from Bell Labs
- 1999: The Styx Architecture for Distributed Systems
- by Rob Pike and Dennis Ritchie
- Basis of the 9p protocol
- 2005: The Ubiquitous Fileserver
- 2021: Plan 9 Foundation
- ownership transferred from Nokia to Foundation
Links
Hardware
Much of the equipment that Unix originally ran on has been decommissioned (i.e., put out of use). Some original systems are still in use, especially in cases where architectural successors exist (e.g., on the IBM S/370 line).
It is possible now to run Ancient UNIX editions via a number of emulation software.
Emulators
Here are emulators for various systems that Unix was developed or used on.
- SimH emulator
- DEC Emulation
- Hercules
- S/370, ESA/390 and z/Arch
- freebee
- 1985 AT&T UNIX PC (3B1)
- pdp-11 emulator (JS/Web)
- by Paul Nankervis
- source code
- has UNIX image. Look for
boot rk0
to see how to load from disk and invoke login
- pdp-11 emulator (JS/Web)
- by aiju
Emulation milestones
Models
See the DEC Documentation Archive for manuals and information about peripherals.
Misc
Orgs
1993: The Unix Heritage Society (TUHS)
Founded in 1993, The Unix Heritage Society is the best active UNIX preservation community.
It has many resources for the UNIX student:
- active discussions with participation from UNIX creators and community
- vast digital archive
- mailing list archive
TUHS was orginally formed as "the PDP-11 Unix Preservation Society"
Others
- 1975: USENIX
- originally founded as "Unix Users Group", rename forced by AT&T legal team
- various active publications
- 2021: cs.bell-labs.co
Courses
These are traditional academic courses available online on the subject of Unix.
See books for some of the available texts.
- 2003: COMS 114: Unix Tools
- Institution:
Cornell University
- Institution:
- 2003: COMS 214: Advanced Unix Tools
- Institution:
Cornell University
- Institution:
- 2003: Unix: An Oral History
- Institution:
Princeton University
- comprised mostly of writings and essays
- Institution:
- 2006: CS631APUE - Advanced Programming in the UNIX Environment
- Institution:
Stevens University
- Source code (GitHub)
- Lectures (YouTube)
- Institution:
Alternative courses
- 2001: Unix Classes
- by Boris Veytsman for itt
Humor
- 1982: Epigrams In Programming
- by Alan Perlis
- 1989: Labscam (Video)
- ft. Penn and Teller, Rob Pike, Dennis Ritchie
- 1996: The UNIX-HATERS Handbook
- criticism/parody of Unix
- contains an anti-foreword from Dennis Ritchie
- 2009: The /bin/true Command and Copyright
Notes
In the primary sources section, most of the documents are from the UNIX creators. Some of the referenced material is not strictly from UNIX authors. This distinction is made clear by hyperlinking every author for the relevant document, so that the reader can check for themselves who is from Bell Labs, some university or just another bloke from the world.
About this project
It has been 50 years since the 1970 epoch. The Unix epoch is a common baseline for global timekeeping found in many systems.
Many have seen monolithic IBM machines in media such as Stanley Kubrick's 2001: A Space Odyssey
, but most have not encountered the term "mainframe" in their entire life. A datacenter or any kind of cloud-connected resource is conceptually equivalent to the "mainframe." In general, compute resources may be plenty, but need to be shared amongst many users. The solution to this problem turns out time and time again, to be Unix.
Today, Unix is deployed ubiquitously around the world. All the major branches of Apple's iOS and MacOS, as well as Linux and Android are designed and integrated around the semantics of the unix system. This includes other operating systems derived of Unix such as Solaris (illumos), AIX and every BSD. BSD variants include FreeBSD and NetBSD which are used for example, in computers that do network routing.
Terminal emulators are a thing. Some wonder what are terminals and why do we emulate them. Are these equivalent to a "console"? Technical jargon gets used a lot across the computing business, but this can often obscure meaning and create confusion.
In short, this reference exists as a guide to present the subject in a clear manner that is well suited for study.
A lot of ground work was also done by The Unix Heritage Society, and this document refers to many of its resources. Be sure to see the TUHS Wiki for more information.
About the linker
Avindra Goolcharan was created in 1991, the year of the first public Linux kernel release. Since 1997, Avindra resides in the state of New Jersey, which is the location of many of these stories. Before the turn of the millennium, the family got a computer for the first time. It ran Microsoft Windows 98 SE, and was later upgraded to Windows XP and a Pentium 4 chip.
In the early 2000s, Ubuntu emerged. At the time, Ubuntu physically delivered free CD-ROMs to users who needed them, which made it simultaneously practical, easy and affordable for people to adopt Linux, including Avindra. To him, the default Gnome interface was a breath of fresh air to the Mac and Windows systems that schools and businesses seem to prefer.
By 2008, the author started writing original computer programs and scripts. Around 2015, Avindra started using the openSUSE Linux distribution, and can be found contributing patches as an openSUSE member.
About UNIX
UNIX is a registered trademark of The Open Group