(and what is it anyway?) part i bob eager history of unix – part i1

24
A Short History of UNIX (and what is it anyway?) Part I Bob Eager History of UNIX – Part I 1

Upload: mervin-stephens

Post on 17-Jan-2018

216 views

Category:

Documents


0 download

DESCRIPTION

UNIX is actually a trademark, although it’s used informally for: UNIX derivatives : FreeBSD, OpenBSD, NetBSD, etc. UNIX lookalikes (wannabes!): ‘Linux’ systems in all their many incarnations ‘real’ UNIX™ systems (i.e. those that can legally use the name): MacOS X (Apple) Solaris (Sun, now Oracle) HP-UX (Hewlett-Packard, or HP) AIX (IBM) History of UNIX – Part I3

TRANSCRIPT

Page 1: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

1

A Short History of UNIX(and what is it anyway?)

Part IBob Eager

History of UNIX – Part I

Page 2: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 2

An overviewWhat is UNIX?

loosely speaking, it’s a computer operating system operating systems are the programs that ‘run’

computers examples of other operating systems are Windows,

MacOS X, etc. Is it new?

no, it first saw the light of day in the very early 1970sbut it has changed and grown a lot since then

Do many people use it?many millions!

Can I run my Windows programs on it?sometimes, but that’s not the point – there are free

alternatives

Page 3: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 3

UNIX is actually a trademark, although it’s used informally for:UNIX derivatives :

FreeBSD, OpenBSD, NetBSD, etc.UNIX lookalikes (wannabes!):

‘Linux’ systems in all their many incarnations ‘real’ UNIX™ systems (i.e. those that can legally use the

name): MacOS X (Apple) Solaris (Sun, now Oracle) HP-UX (Hewlett-Packard, or HP) AIX (IBM)

Page 4: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 4

so really, it’s merely a name applied to a specification of a systembut since they all look similar, they get called ‘UNIX’!

many versions available (mostly open source and free)user friendly (ish), but picky about its friends!

although much more friendly (less hostile?) than it used to be

for example, it now has a graphical user interface……but the real power lies in the original ‘command line’

originally, UNIX worked entirely at the command lineand still does, if you want it that wayreal UNIX users mostly use the command line – it’s very

fast and productivehere’s a sample…

Page 5: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 5

Page 6: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 6

UNIX featuresoriginally based around a textual command promptnow provides a graphical user interface

in fact, many different graphical user interfaces take your pick – some of the GUIs are excessively bloated!

multi-userproper security

makes it harder to do accidental damage...remote access via network (or hardwired)

extensive networking supportvery rich set of features and applications

So, how did it all start?

Page 7: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 7

Phase I – the mini systemsUNIX was internally developed by researchers at Bell

Laboratories in the USA, in the late 1960s/early 1970sKen Thompson, Dennis Ritchie, and others (picture

soon) the initial system (First Edition) was on a spare PDP-7 (an

18-bit machine), and it was capable of building programs, and text processing – this was between 1969 and 1971

by 1973, it had been rewritten in a new language called C. This had developed from a previous Bell Labs language called B - which was in turn based on a language called BCPLBCPL was developed at the University of Cambridge,

UK, in the mid 1960s – a completely typeless language, much more ‘dangerous’ than C!

in 1975, Sixth Edition UNIX was released to academic and research institutions - it arrived at Kent in July 1975, being the first system in England, if not the UK

Page 8: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 8

Kent’s copy of Sixth Edition arrived on three exchangeable disks of 2.4MB each:

Page 9: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 9

Here’s the drive it fitted into:

Page 10: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 10

at Kent, Sixth Edition UNIX ran on a Digital Equipment Co (DEC) PDP-11/40; a 16 bit machine with 112kB of memory (costing tens of thousands of pounds) this supported 6 simultaneous users (most of the CS

students at the time!)

if you want to try running this version, a free licence is now availabledisk images and a PDP-11 simulator are available – more

later

the Kent system ran for over 5 years before it was replaced by a VAX (see later)

Page 11: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 11

What was this PDP-11?made by the Digital Equipment Corporation of

Massachusettsone of the most successful minicomputers of all timeat one point, Kent probably had at least ten of them

Bob owns four!16 bits, memory from about 56kB up to 2MB or so

(mostly at the low end)many possible peripheralssome in big cabinets, some in deskside towers

Now for some historical pictures….

Page 12: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 12

Hardware – a PDP-11/40 CPU! This was in a full height rack (6 feet high), modules 19 inches wide…this is just the CPU and memory

Page 13: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 13

More hardware! A big PDP-11 (actually, two), with Ritchie and Thompson using it:

Dennis Ritchie

Ken Thompson

Page 14: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 14

In the previous picture, note the main I/O device – the teletype; this ran at 10 characters/second, in upper case only:

Page 15: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 15

Students needed long term storage (as we use USB sticks today); the equivalent was the DECtape, storing 300kB or so of data:

Page 16: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 16

just about small enough to carry around in a (large) pocket…

Page 17: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 17

a micro PDP-11!

deskside size

often used for word processing

circa mid 1980s

Bob has one of these...

Page 18: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 18

Seventh Edition UNIX appeared in 1979, and included various enhancements. It was a very tight squeeze except on more expensive PDP-11s (which supported an operating system area of 120kB instead of 56kB)

at about the same time, an interesting derivative was UNIX 2.9BSD, a modified version developed by staff (and, largely, graduate students) at the University of California at Berkeley (the Berkeley System Distribution, or Berkeley Software Distribution) included networkingagain a very tight fit!

Kent didn’t have an expensive PDP-11, so never really used these a great deal

it is said that only two important things came out of Berkeley at that time: BSD and the drug LSD – and that this is no coincidence!

Page 19: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 19

Bell Labs also produced ‘Mini-UNIX’, which ran on really small PDP-11s and supported (effectively) just one user with some limitations (no real pipes, for example) (~1978)still on the PDP-11 series, but low end ones this was limited simply because it ran on machines with

the minimum amount of memory, and no memory management hardware at all

really just a feasibility project, although fun to look atbut it was possible to do real work on it

Page 20: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 20

UNIX source code was not meant to be shown to undergraduates, but someone actually used it to teach operating systems… this was a man called John Lions, at the University of

New South Wales, Australiahe went further, and in 1977 had the UNIX kernel source

code made into a book, with his own companion volume as a ‘commentary’ on the codeprobably one of the most interesting computer

science/operating systems publications ever produced it was circulated internally in UNSW, and also sold to

UNIX licenseesunfortunately, Bell Labs/AT&T were not happy, and

essentially had the books rationed to one per company/institution after the first print run was sold; by 1978 they were completely unavailable

despite the books being under copyright, “they must be the most frequently photocopied books in the whole area of computer science”

Page 21: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 21

they were finally republished as a single volume in 1996 – see link on website later

Page 22: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 22

UNIX was (and is) written mostly in the C language; here’s a sample:

/* * Switch to stack of the new process and set up his segmentation registers. */ retu(rp->p_addr); sureg();/* * If the new process paused because it was swapped out, set the stack level to the * last call to savu(u_ssav). This means that the return which is executed * immediately after the call to aretu actually returns from the last routine which * did the savu. *//* * You are not expected to understand this. */ if(rp->p_flag&SSWAP) { rp->p_flag =& ~SSWAP; aretu(u.u_ssav); }/* * The value returned here has many subtle implications. * See the newproc comments. */ return(1);

comments

code

Page 23: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 23

yes, C looks a bit like Java, but pre-dates it by decades! the C ‘look’ has been adopted by many other languages

C is a very low level language, and allows the programmer to do pretty well anythingeven if it’s dangerouseven if it makes no sense at allwhich is why it’s fun…

UNIX systems are written almost entirely in Ca few hundred lines, at most, may be written in

assembler, to interface with the hardware in other words, the innermost layer of our operating

system kernel

Page 24: (and what is it anyway?) Part I Bob Eager History of UNIX – Part I1

History of UNIX – Part I 24

Next time…we’ll look at:

the progress of UNIX to bigger systemspolitical and commercial differences the hairy guy true hackers the PCembedded UNIX systems

what you’ll be doing next