The History and Pre-History of Linux The Highs and Lows of UNIX
Mark P. Conmy
School of Computing, The University of Leeds
The History and Pre-History of Linux – p.1/?? History
Opinion
What this talk isn’t:
Fact
Complete
An Overview of the Presentation
What this talk is:
Overview
The History and Pre-History of Linux – p.2/?? Opinion
What this talk isn’t:
Fact
Complete
An Overview of the Presentation
What this talk is:
Overview
History
The History and Pre-History of Linux – p.2/?? What this talk isn’t:
Fact
Complete
An Overview of the Presentation
What this talk is:
Overview
History
Opinion
The History and Pre-History of Linux – p.2/?? Fact
Complete
An Overview of the Presentation
What this talk is:
Overview
History
Opinion
What this talk isn’t:
The History and Pre-History of Linux – p.2/?? Complete
An Overview of the Presentation
What this talk is:
Overview
History
Opinion
What this talk isn’t:
Fact
The History and Pre-History of Linux – p.2/?? An Overview of the Presentation
What this talk is:
Overview
History
Opinion
What this talk isn’t:
Fact
Complete
The History and Pre-History of Linux – p.2/?? Without putting everyone to sleep (hopefully). ;-)
What will be covered?
Looking at: Why OSs came into being Why UNIX came into being What was innovative about UNIX The UNIX Wars Free Unices Linux and GNU
The History and Pre-History of Linux – p.3/?? What will be covered?
Looking at: Why OSs came into being Why UNIX came into being What was innovative about UNIX The UNIX Wars Free Unices Linux and GNU
Without putting everyone to sleep (hopefully). ;-)
The History and Pre-History of Linux – p.3/?? In the beginning (sort of)
In relative terms:
Computer time very expensive
Operator controlled
Regular downtime
Human time cheap (operators and programmers)
Languages and environments basic
The History and Pre-History of Linux – p.4/?? In the beginning (continued)
A few years on...
Computer time still expensive
Downtime less frequent
Operators too slow!
OSs needed
The History and Pre-History of Linux – p.5/?? MULTICS (MULTiplexed Information and Computing Service) developed by Bell with GE and MIT. 1969 MULTICS dropped in favour of GECOS
The rise of the OS
1950s: GM/NAA I/IO Bell Labs BESYS Early 1960s: SOS (SHARE Operating System) at GM GECOS (later GCOS) at General Electric
The History and Pre-History of Linux – p.6/?? 1969 MULTICS dropped in favour of GECOS
The rise of the OS
1950s: GM/NAA I/IO Bell Labs BESYS Early 1960s: SOS (SHARE Operating System) at GM GECOS (later GCOS) at General Electric MULTICS (MULTiplexed Information and Computing Service) developed by Bell with GE and MIT.
The History and Pre-History of Linux – p.6/?? The rise of the OS
1950s: GM/NAA I/IO Bell Labs BESYS Early 1960s: SOS (SHARE Operating System) at GM GECOS (later GCOS) at General Electric MULTICS (MULTiplexed Information and Computing Service) developed by Bell with GE and MIT. 1969 MULTICS dropped in favour of GECOS
The History and Pre-History of Linux – p.6/?? The one thing? – "Space Travel" "I allocated a week each to the operating system, the shell, the editor, and the assembler to reproduce itself..." – Ken Thompson"
PDP-7 - A Gaming Platform?
Ken Thompson, Dennis Ritchie and Rudd Canaday discuss what they want in an OS. Notes from this meeting formed the basic design for UNICS (the Uniplexed Information and Computing Service, later UNIX). Allegedly named because MULTICS was designed to be good at many things whereas UNICS was only designed to be good at one.
The History and Pre-History of Linux – p.7/?? "I allocated a week each to the operating system, the shell, the editor, and the assembler to reproduce itself..." – Ken Thompson"
PDP-7 - A Gaming Platform?
Ken Thompson, Dennis Ritchie and Rudd Canaday discuss what they want in an OS. Notes from this meeting formed the basic design for UNICS (the Uniplexed Information and Computing Service, later UNIX). Allegedly named because MULTICS was designed to be good at many things whereas UNICS was only designed to be good at one. The one thing? – "Space Travel"
The History and Pre-History of Linux – p.7/?? PDP-7 - A Gaming Platform?
Ken Thompson, Dennis Ritchie and Rudd Canaday discuss what they want in an OS. Notes from this meeting formed the basic design for UNICS (the Uniplexed Information and Computing Service, later UNIX). Allegedly named because MULTICS was designed to be good at many things whereas UNICS was only designed to be good at one. The one thing? – "Space Travel" "I allocated a week each to the operating system, the shell, the editor, and the assembler to reproduce itself..." – Ken Thompson"
The History and Pre-History of Linux – p.7/?? PDP-7 - A Gaming Platform?
Ken Thompson, Dennis Ritchie and Rudd Canaday discuss what they want in an OS. Notes from this meeting formed the basic design for UNICS (the Uniplexed Information and Computing Service, later UNIX). Allegedly named because MULTICS was designed to be good at many things whereas UNICS was only designed to be good at one. The one thing? – "Space Travel" "I allocated a week each to the operating system, the shell, the editor, and the assembler to reproduce itself..." – Ken Thompson"
The History and Pre-History of Linux – p.7/?? Lacks (from a modern perspective): Pipes Networking GUI
3rd November 1971
First edition of UNIX released. Contains: Shell Recognisable filesystem (Mainly) recognisable commands (cat, ch, chmod, chown, cp, ls, mv, who)
The History and Pre-History of Linux – p.8/?? 3rd November 1971
First edition of UNIX released. Contains: Shell Recognisable filesystem (Mainly) recognisable commands (cat, ch, chmod, chown, cp, ls, mv, who)
Lacks (from a modern perspective): Pipes Networking GUI
The History and Pre-History of Linux – p.8/?? I C a Problem
(Or is it "There B a Problem"?) B, written by Thompson, influenced by BCPL (and possibly Bon) Simple
Lacked most high-level constructs
Word-oriented
Threaded code (partially interpreted)
Difficult to optimise
The History and Pre-History of Linux – p.9/?? 1973 - Over to C
B replaced by C (originally NB), written by Ritchie Fully compiled
Introduced typing and structs
Byte-oriented
Optimised (for its time)
UNIX ported almost entirely to C in the summer of 1973
The History and Pre-History of Linux – p.10/?? Ken Thompson got sick of talk and just did it: who >sort>cat> Ugly syntax! who >"grep john">cat> grep john
Pipelines
Doug McIlroy was very interested in the idea of pipelines cat(sort(who))
The History and Pre-History of Linux – p.11/?? Ugly syntax! who >"grep john">cat> grep john
Pipelines
Doug McIlroy was very interested in the idea of pipelines cat(sort(who)) Ken Thompson got sick of talk and just did it: who >sort>cat>
The History and Pre-History of Linux – p.11/?? Chose: who | grep john | cat
Pipelines
Doug McIlroy was very interested in the idea of pipelines cat(sort(who)) Ken Thompson got sick of talk and just did it: who >sort>cat> Ugly syntax! who >"grep john">cat> grep john
The History and Pre-History of Linux – p.11/?? Pipelines
Doug McIlroy was very interested in the idea of pipelines cat(sort(who)) Ken Thompson got sick of talk and just did it: who >sort>cat> Ugly syntax! who >"grep john">cat> grep john
The History and Pre-History of Linux – p.11/?? Innovations
Pipelines
Small utilities
Honesty a manual with a BUGS section!
Philosophy
The History and Pre-History of Linux – p.12/?? Commerce bought AT&T licenses, installed BSD versions. CSRG developed TCP/IP on UNIX for (D)ARPA creating ARPAnet -> Internet/Milnet Virtual Memory, TCP/IP, csh and vi all came from BSD
1974/5 Berkeley and UNIX version 6
Thompson spent a year at Berkeley ostensibly teaching UNIX. UNIX licensed from AT&T for research The Computer Systems Research Group (CSRG) formed.
The History and Pre-History of Linux – p.13/?? 1974/5 Berkeley and UNIX version 6
Thompson spent a year at Berkeley ostensibly teaching UNIX. UNIX licensed from AT&T for research The Computer Systems Research Group (CSRG) formed. Commerce bought AT&T licenses, installed BSD versions. CSRG developed TCP/IP on UNIX for (D)ARPA creating ARPAnet -> Internet/Milnet Virtual Memory, TCP/IP, csh and vi all came from BSD
The History and Pre-History of Linux – p.13/?? UNIX Wars I - The Opening Scuffles
Some dates 1980 MS introduce XENIX 1982 Sun introduce SunOS 1982 SGI introduce Irix 1983 SCO introduce SCO XENIX 1984 DEC introduce Ultrix 1986 HP introduce HP-UX
Divestment of the Baby Bells...
The History and Pre-History of Linux – p.14/?? Which? SYSV: AT&T and Sun form UNIX International OSF/1: IBM, DEC and HP (and others) form OSF (Open Software Foundation)
X/Open in the middle
UNIX Wars II - The Clone Wars
X/Open formed to promote open systems environments Multiple environments (SYSV, BSD, dual universe!) - single vision required.
The History and Pre-History of Linux – p.15/?? UNIX Wars II - The Clone Wars
X/Open formed to promote open systems environments Multiple environments (SYSV, BSD, dual universe!) - single vision required. Which? SYSV: AT&T and Sun form UNIX International OSF/1: IBM, DEC and HP (and others) form OSF (Open Software Foundation)
X/Open in the middle
The History and Pre-History of Linux – p.15/?? Free UNIX - the BSD battles
BSD Net/2 (1991) frees BSD from AT&T claims Net/2 leads to NetBSD (April 1993) 386BSD derived from Net/2 leads to FreeBSD (December 1993) NetBSD split after internal disputes to form OpenBSD (October 1995)
Each with different focuses - all sharing code.
The History and Pre-History of Linux – p.16/?? End of AT&T UNIX
1991 AT&T spun off USL and UNIX by selling shares to 11 other companies.
1992 Novell issues a statement of intent to purchase USL and UNIX 1993 Novell completes the transaction 1993 Novell transfers "UNIX" and Single UNIX Specification to X/Open
1994 SCO buys USL and UNIXware from Novell
The History and Pre-History of Linux – p.17/?? GNU
1982 Arrival of commercial OS at MIT 1983 Announcement of GNU
"Starting this Thanksgiving I am going to write a complete UNIX-compatible software system called GNU (for Gnu’s Not Unix), and give it away free to everyone who can use it. Contributions of time, money, programs and equipment are greatly needed."
1984 Stallman resigns from MIT (but stays on) 1985 Publication of the GNU Manifesto
The History and Pre-History of Linux – p.18/?? Why not?
1991 - the arrival of Linux
Why? Minix was a mess (and encumbered)
BSD was legally in trouble (and not very open)
GNU had failed to deliver a kernel
The History and Pre-History of Linux – p.19/?? 1991 - the arrival of Linux
Why? Minix was a mess (and encumbered)
BSD was legally in trouble (and not very open)
GNU had failed to deliver a kernel
Why not?
The History and Pre-History of Linux – p.19/?? Linux to Today
Onwards... Rolled in essential "UNIX" features
Slowly(?) catching commercial Unices
Borrows (and improves) the best features
Popularity spreading beyond the machine room
Still manages to innovate
The History and Pre-History of Linux – p.20/?? Some References
The Creation of UNIX http://www.bell-labs.com/history/unix/ The UNIX Oral History Project http://www.princeton.edu/mik˜ e/expotape.htm Basic Timeline http://www.computerhope.com/history/unix.htm UNIX and BSD http://tofu.alt.net/˜lk/291.paper/node1.html UNIX in diagramatic form http://www.levenez.com/unix/ The Announcement of GNU http://www.gnu.org/gnu/initial-announcement.html BSD Unix: Power to the people, from the code http://dir.salon.com/tech/fsp/2000/05/16/chapter_2_part_one/index.html
The History and Pre-History of Linux – p.21/??