The History and Pre-History of The Highs and Lows of

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/?? (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 BESYS Early 1960s: SOS (SHARE ) 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..." – "

PDP-7 - A Gaming Platform?

Ken Thompson, 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 cat> Chose: who | grep john | cat

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 cat> 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>

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 cat>

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 cat> Chose: who | grep john | cat

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 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 ()

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 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/??