(and what is it anyway?) part ii bob eager history of unix – part ii1

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

Upload: arlene-dalton

Post on 21-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

CO324 Computer Systems

A Short History of UNIX(and what is it anyway?)Part IIBob EagerHistory of UNIX Part II11History of UNIXPhase II the 32 bit systemsa major turning point was the transfer to the Digital Equipment VAX supermini systems (~1980)32 bit machines with, to start with, 1MB of memorythey were relatively affordable compared to the mainframes (also 32 bit) of the time, yet relatively powerfulthe VAX was to be a very influential machine for the next 15 yearsmachine architecture based heavily on the PDP-11, so a lot of expertise from PDP-11s made the re-engineering of UNIX simpler than it might have beenthe VAX had proper hardware for virtual memory support (that on the PDP-11 was very limited)VAX stood for Virtual Address eXtensionother machines were also tried, but the VAX dominated by far it was to drive UNIX forward for the next few yearsHistory of UNIX Part II2V stood for Virtual, as it used the VAX (Virtual Address eXtension) virtual memory system. The VAX was a very influential machine. Bob has three, and one is in his office...! Early VAXes were big2History of UNIX - Part 2UNIX on the VAX was developed from Seventh Edition on the PDP-11, and was known as UNIX 32-V (it came straight from AT&T, previously Bell Labs)a Berkeley release followed shortly, to be known as 4.0BSDit was more popular than UNIX 32-V, which was fairly basicBSD became the de facto standard for VAX systemssubsequent Berkeley releases were called 4.1BSD, 4.2BSD, 4.3BSD and, lastly, 4.4BSD (this is now publicly available as source code only, under the name 4.4BSD-Lite)you can get 4.xBSD, and run it on a VAX simulator if you want!

a major BSD contribution was a new shell (command interpreter) based on the C language (the C shell) - more later

History of UNIX Part II3V stood for Virtual, as it used the VAX (Virtual Address eXtension) virtual memory system. The VAX was a very influential machine. Bob has three, and one is in his office...! Early VAXes were big3History of UNIX - Part 2the transfer to the VAX removed the architectural limitations on program size, etc., allowed proper virtual memory, and provided much increased computing power

Kent acquired a VAX-11/780 (~1 million instructions/second) in 1979/80, and this was a significant computer science teaching system for some years; initially it was just called unix, later renamed to eagleit had approximately 300MB of disk space, and 1 MB of memoryit supported 20-30 users, initially running UNIX-32V, then 4.0BSD, all the way through to 4.3BSD

it was soon supplemented by a VAX-11/750 (~600 thousand instructions/second) for departmental use, also running 4.xBSD, called comet (well, the pesky students were using eagle far too much)

these were eventually replaced at Kent by various other machines from various manufacturers, latterly from Sun, for example, and othersHistory of UNIX Part II4There were other 32 bit systems (e.g. the Interdata) but the VAX was the overwhelming favourite. The original PC did about 500 thousand instructions per second, but the VAX instructions did more it was the ultimate CISC machine.4History of UNIX - Part 2The Kent VAX-11/780 (eagle)

History of UNIX Part II5

100MB disktape driveglass teletype30MB tapesThis is a picture of the School of Computings first VAX system.

They were called a VAX-11 initially, to make customers feel it was the logical step from the PDP-11. They could even run PDP-11 programs.Note the exchangeable disk drives to the right, each 100MB or so. The plastic cases on the top are the protective ones for the disk cartridges.Also note the magnetic tapes (30MB each) in the background, and the tape drive behind the operators head. Photo is circa 1982.5History of UNIX - Part 2A VAX-11/750 (like comet) about 1.5 metres tall

History of UNIX Part II6

boot selector switchtape drive for software installation etc.(capacity 360kB)The next one down from the VAX-11/780 was the VAX-11/750. A fairly featureless cabinet.6History of UNIX - Part 2UNIX development meanwhile continued at AT & T, culminating in 1983 in a different, incompatible, UNIX system known as System Vthere were various releases, the most common being release 4.2 (SVR4.2) in 1989, unifying contributions from System V and BSD (and other variants)these notably included the C shell, and the underlying support for itthis was licensed to many vendors who added their own modifications and names (often ending in -ix!)

meanwhile, other vendors had formed the X/Open Company (now known as The Open Group), who wanted to produce a single specification for an open system, based on UNIXin 1994, after a lot of messy politics, the UNIX trademark and the Single UNIX Specification were transferred to X/OpenHistory of UNIX Part II77History of UNIX - Part 2also in 1994, BSD4.4-Lite was released, eliminating all code still claimed to rely on the commercial version. This version was merely a collection of source code, and was not absolutely complete; it did however show what could be used, and what could notthis is available if anyone wants to have a look, for interest

in 1995, the UNIX branding programme was introduced; this still exists and is the basis of commercial systems

note that any system creator can apply to have it certified as UNIXit must comply with the Single UNIX Specification, but need not use any particular set of source codee.g. MacOS X is loosely based on BSDSolaris (Sun, then Oracle) based more on System Vbut both are UNIX

History of UNIX Part II8BSD4.4-Lite is downloadable from the website mentioned later.8History of UNIX - Part 2A GNU interludebefore going into Phase III, lets backtrack a littlein time!well visit a group of hackers (programmers, not security breakers) at Massachusetts Institute of Technology (MIT)this would be from the early 1960s, all the way to 1981 or sothey worked in a laid back, co-operative way, freely giving away any programs etc. that they wrote, and modifying others they were given

things changed, and most of them left; those that remained had to use commercial software that they couldnt hack around, and they were no longer as free to give away their work either

one person decided that this was wrong, and that software should be free and unencumbereda software socialist!History of UNIX Part II9GNU is important in the history of free UNIX.9History of UNIX - Part 2his name was...Richard Stallman...!any similarity to School of Computing staff is entirely coincidental...Stallman resigned from MIT, and started a free software projectfree as in no strings attached rather than never any paymentthe plan was (eventually) to produce a complete UNIX-like system that wasnt UNIX, but would look the samethe project was called GNU a recursive acronym standing for GNUs Not UNIX

History of UNIX Part II10

Stallman

The GNU logoStallman is still a major campaigner.

The slide shows a photograph of a very hairy (long hair, bushy beard) Richard Stallman on the left. On the right is a line drawing of a horned animal a gnu.10History of UNIX - Part 2the first product was going to be a C compiler, but it ended up being an editor program called EMACS one of the most powerful editors available, because its ridiculously extensiblein it, you can:play Tetris, Towers of Hanoicheck phases of the moonhave a Java development environmentmanage filesetc.it is programmed in a language called LISP, with a large library of stuffEMACS was also considered ridiculous because it was a very big programa common joke was that EMACS stood for Eight Megabytes And Continually Swappinganother was You means that EMACS can edit files, too?

History of UNIX Part II1111History of UNIX - Part 2

History of UNIX Part II12Here is EMACS- running Tetris!copies of EMACS are available on most platforms

the ancestor of EMACS was an editor called TECO real masochists can try and use it its available for most platformsheres the TECO commands to create a file containing Hello World and display that line:

*IHello World$$*-1t$$Hello World*ex$$(computer output in red above)one can also, apparently, use it to solve differential equationsfor more information:http://en.wikipedia.org/wiki/TECO_%28text_editor%29History of UNIX Part II1313History of UNIX - Part 2the next GNU product was the C (and C++) compiler, gcc

lots of other programs (often quite feature-heavy) followedreally, LOTS...see http://www.gnu.org

all the software was released under the GNU Public License (GPL)this said that you could do what you liked with it (even sell it) but must provide all source code (including anything you added) free of chargethe license is still similar, but there are variants as it is sometimes too restrictiveHistory of UNIX Part II14Sometimes GPL can actually be too restrictive, so other licenses exist too.14History of UNIX - Part 2eventually the GNU Project produced an operating system (HURD), although it wasnt really suitable for general use it was slow and underdevelopedso GNU became:a software project looking for an operating system....

(although HURD is not quite dead....)

the GNU Project is sponsored by a non-profit organisation called the Free Software Foundation which promotes the idea of free software:http://www.fsf.org

Back to our story...History of UNIX Part II15See more about GNU on the website.15History of UNIX - Part 2Phase III the PC and beyondthe earliest PC UNIX is probably PC-IX, developed by IBM for the PC/AT (~1984) an 80286 machinevery few copies of this were sold; it was mainly an executive toythe 80286 had memory management hardware, but it was awful inferior to that on the old PDP-11/40various vendors provided UNIX over the next few years, but most systems were expensive and needed expensive hardwareUNIX still hadnt properly cracked the commercial market

the eventual breakthrough was gradual, and came via free softwarethe catalyst was a system called:History of UNIX Part II16MINIXThe 80286 memory management system was awful worse than the PDP-11/40, which was OK. Not a suitable platform at all.16History of UNIX - Part 2in 1987, an academic named Andrew Tanenbaum wrote a book on Operating Systems, with a real, small, UNIX-like system (called Minix) as a working example; available free to students and educatorsall it needed was an IBM PC (or compatible) with two 5.25 floppy drives (360kB each) but it ran on other hardware tooBob used an IBM PC Portable he had lying around:

the system was immensely popular, and versions were developed for other hardware of the time such as the Atari ST and the Apple Macintosh (not the Mac we know today)all versions came with complete source code, and the ability to modify and rebuild any part of the systemHistory of UNIX Part II17

The 80286 memory management system was awful worse than the PDP-11/40, which was OK. Not a suitable platform at all.

The picture shows an IBM Portable machine weighing about 15 kilos (33 pounds). 9 inch amber CRT screen, detachable keyboard, carrying handle.17History of UNIX - Part 2History of UNIX Part II18

Apple MacintoshAtari ST

Pictures of the Atari ST and the Apple Macintosh.History of UNIX18the PC version of the system was the most popular:it initially required no more than a low end PC, an 8088 system with two 5" floppy disk drives (capacity 360kB each)later versions supported hard disks, and indeed required themlater still, network support was addedlatest version was released relatively recently (well, 2008)

but it is essentially a teaching tool, and was never intended for real production workit came complete with a textbookthis didnt stop people around the world from improving and extending it for several yearsvarious warring splinter groups developed!its still around, but wouldnt be used for serious work

However.

History of UNIX Part II19The book is very educational if you want to learn about operating systems but the Lions book is more fun!19History of UNIX - Part 2Linuxin 1991, a Finnish postgraduate named Linus Torvalds had written a derivative of MINIX; the first stable release appeared in 1994.known as Linux (pronounced lee-nooks, according to Linus)very different architecture to UNIX or BSD, since it was written from scratch (but inspired by Minix)similar functionality, but definite differences both internal and externalnot very well documented, at least in comparison to BSDit was free!

it was an operating system project looking for software....!

Torvalds really just produced the operating system kernel, and relied on other projects (notably the GNU Project) to provide all of the necessary other programs (compilers, utilities etc.)History of UNIX Part II20Torvalds was born on 28th December 1969. He is old!20History of UNIX - Part 2the packaging of the Linux kernel with different combinations of commands, installers etc. has resulted in many, many different distributions of the basic Linux system (e.g. Debian, Ubuntu...)some concentrate on ease of installation, others on building a system from scratch, others on reliability.there are also specialised embedded versions, e.g. for firewallsit can be hard to choose! but there are distro warsthe Linux mascot is called Tux:

History of UNIX Part II21

Distributions of Linux are now big money businesses.

Tux is a rather vacant looking penguin.21History of UNIX - Part 2BSD revisiteda parallel development to Minix was a version of BSD developed for the PC (the 386 and above, because they had proper memory management)it was known as 386BSD, and was the result of a falling out (academic vs. commercial) between researchers and establishment at UCB; the researchers (Bill Jolitz and Lynne Greer Jolitz) wrote a series of articles in Dr Dobbs Journal on Porting UNIX to the 386the first version of 386BSD was pretty unstable, and was corrected by many enthusiasts around the world, who eventually amalgamated into a group which produced a system called FreeBSDonce again, other groups existed, and there are two principal other BSD systems called OpenBSD (concentrating on standardization, correctness, security, and cryptography), and NetBSD (specialising in high portability), although FreeBSD has the largest installed base as a more general purpose system

History of UNIX Part II22Remember that UCB == University of California at Berkeley.386BSD articles can be found via the website.22History of UNIX - Part 2all of the BSD systems are based on the same source code, and are therefore well documented by the many books written about BSD, as well as by the BSD manuals and many academic papersBSD runs on a lot of different hardware, including:PC (386 upwards, including AMD and VIA chips as well as Intel)various Sun hardwareia64Digital Alpha and VAXMotorola 680x0 and 881x0 systemsARMPowerPCXboxRaspberry Pi(Linux runs on quite a few too)History of UNIX Part II23Links to BSD stuff (and books) on the website.23History of UNIX - Part 2BSD has its own mascot, called Beastie. There have been some religious objections to it, but it remains the generic historical BSD mascot:

History of UNIX Part II24

Bob has a Beastie beanie....sad.

Yes, real religious objections. Its a daemon, not a demon. They can be good or bad.The story about the Texas rednecks is linked from the website.24History of UNIX - Part 2A diversion - nanoBSDwhat is nanoBSD?its a build of FreeBSD for embedded systems or appliancesactually just a normal FreeBSD system, built to run from a read-only system diskRAM disks are used for temporary filessystem does not page or swapcan run all of the usual utilities, but may need to store them on another machineadvantages include: increased reliability (less to break), lower power consumption, less noise and heattypical applications:firewall or routerDVD playeriPlayer appliance

History of UNIX Part II25If you dont understand some of the terminology, you will soon25History of UNIX - Part 2here is an example; it uses 15 watts of power, has no hard disk, and runs from a Compact Flash card:

History of UNIX Part II26

CF cardPicture (and another) on the website. This is Bobs firewall machine.

Its a standard 1U case to fit a standard 19 inch rack.26History of UNIX - Part 2The Raspberry Pithe Raspberry Pi is a cheap, basic system designed for educational use, although currently its principal use seems to be in various (often bizarre) embedded applications!roughly the size of a credit cardcost around 25-30 as a bare boardneeds USB peripherals, a power supply, and an SD card for storage700MHz ARM processor, integrated graphicsthe most common model (Model B) has a network interfacevideo:RCA composite video (phono plug)HDMI video (standard HDMI plug)512MB RAM (earlier models had 256MB)there is a newer model tooHistory of UNIX Part II27

History of UNIX Part II28

5.5 cm8.5 cmPicture of a Raspberry Pi (bare board).History of UNIX28History of UNIX Part II29

Annotated line drawing of the board in the previous slide.History of UNIX29The MakerSpacealso known as the Shed in the quadrangle behind Computingthis provides facilities for playing with things such as Raspberry Pis, and much moretools and machinery as well as soldering, etc.a chance to experiment with hardware at levels lower than just plugging things inwe have some Raspberry Pis to play withjust turn up and take a look but not all at onceHistory of UNIX Part II30User interfacesall UNIX systems still have the command prompt, which can be particularly fast and productivehowever, nearly everyone wants a graphical interface at times, and this is usually (except for MacOS X) provided by a development of the X Window System, now known as XorgXorg just provides a basic windowing system, and you can then add a desktop environment on top of thattwo common ones are Gnome and KDEmany others are available; Bob uses a lightweight one called LXDEHistory of UNIX Part II31UNIX diehards use the GUI just so they can have lots of UNIX command line windows...!31History of UNIX - Part 2heres a screenshot of an LXDE desktop:

History of UNIX Part II32

Calculator, browser and command window(s). Note the tabs on the command window these are actually command windows for several different machines, all running in Bobs house!Also note the applets down the right hand side sound control, eyes watching the mouse pointer, OpenOffice, Palm synchroniser,address book, weather, etc.32History of UNIX - Part 2So, what now?if youre a Kent computing student, you can (and will!) use UNIX on the Schools systemsinitial access via http://www.cs.kent.ac.uk/systems/newuser/you can install Linux or BSD on an old/spare computersystems can be downloaded from our Mirror Service, which is really fast on campusyou can buy a Mac!or a Raspberry Pi...some facts:some people in the School use Linuxothers (including Bob) use FreeBSDthe display screens in the School (e.g. in the common room) run on FreeBSD (or did)quite a few staff also use MacsHistory of UNIX Part II33Try it out for yourself...33History of UNIX - Part 2Resourcesthere are lots of links and stuff here, including a copy of todays presentations (soon):http://unixhistory.tavi.co.uk

other interesting stuff here:http://www.bobeager.uk

and Bobs Facebook group:http://group.bobeager.uk

Have fun!History of UNIX Part II34The website covers everything in the presentation, and a lot more.34History of UNIX - Part 2