: Home :    : De eerste computer :    : Toepassingen :     : Criminaliteit :     : Ontwikkeling :     : Literatuurlijst :     : Conclusie :    
 

:: Links ::



: Konrad Zuse
: Hackers
: Crackers
: UNIX
: Afbeeldingen
: Gastenboek
: Forum

 

.:: Het ontstaan van UNIX ::.


We beginnen bij het begin. Daarvoor moeten we flink terug in de tijd, terug naar de jaren 60. Want toen werd er door de werkgroep 'Project MAC' van Massachusetts Institute of Technoligy (MIT) en General Electric, gewerkt aan een nieuw "timesharing-systeem" voor de grote mainframes van de jaren 60, dat Multics werd genoemd. Zelfs in die tijd, had de computerwereld een voorkeur voor afkortingen, Multics staat namelijk voor "Multiplexed Information and Computing Service". Dit zou het eerste systeem moeten worden waarbij meerdere mensen tegelijk zouden kunnen zijn ingelogd.

Al heel vlug besloten deze 2 bedrijven echter hun krachten te bundelen met Bell Labs, en zo samen verder te werken aan Multics. Sommige ideeen die we nu als normaal zien voor een OS, werden toen bedacht. Bijvoorbeeld een hierarchisch bestandssysteem van geneste directories, toegangscontrole dat kan worden toegepast per file en het schrijven naar devices alsof het bestanden zijn. Ondanks deze prachtige dingen, werd Multics nooit een echt groot succes. Mede daarom besloot Bell Labs om ermee te stoppen. Op dat moment kon Multics met moeite maar 3 users tegelijkertijd aan, terwijl 1000 online users het doel was. Overigens heeft Multics nog heel lang bestaan, tot 31 oktober 2000 om precies te zijn. Meer info is te vinden op http://www.multicians.org/.

Hoewel Bell Labs stopte met Multics in april 1969, was er een aantal programeeurs bij Bell Labs die dat project toch wel erg miste. Vooral het spelletje [Space War] werd heel erg gemist door Dennis Ritchie en Ken Thompson. Deze 2 begonnen dan ook al heel vlug samen met het schrijven van een mager OS voor een 18-bit DEC PDP-7, zodat ze daar Space War op konden spelen. Een collega van hen noemde dit OS UNICS (UNiplexed Information and Computing Service). Toen dat af was en toen ze uitgespeeld waren, gingen ze verder sleutelen aan UNICS met de kennis die ze hadden opgedaan van het Multics project. Ze voegden wat eigen ideeen toe zoals het idee van één fout-afhandelings-functie: panic(). Dit was revolutionair, aangezien men van te voren voor iedere mogelijke fout een aparte afhandelingsfunctie schreef. Aangezien dit vaak 30-40% van de totale code in beslag nam, was dit niet echt efficient. Nadeel van de functie panic() was wel dat deze functie minder gedetaileerde informatie kon geven over het hoe en waarom van de error.

UNIX en C worden geboren In de zomer van 1969 hadden ze een werkbaar systeem (kernel, assembler, shell en editor), dat gebruikt kon worden op een PDP-7. Ze noemden dit resultaat UNIX Time-Sharing System, nadat Brian Kernighan (een collega van hen) dat had voorgesteld. Hoewel UNIX volledig in hoofdletters wordt geschreven, is het geen afkorting. Men kwam op de naam UNIX als grapje, UNI staat voor 1 en Multi voor meer. UNIX kon eigenlijk wel wat Multics nog niet kon: meerdere gebruikers erop laten werken. Men gooide er nog een X achter (wat ook vaak wordt gebruikt om 1 ding aan te duiden) en men had UNIX. De Programmeertaal waarin UNIX was geschreven was BCPL (Basic Combined Programming Language), een tool voor het schrijven van systeemprogrammering en voor een compiler. Maar vanwege hun streven naar extreem economisch gebruik, herschreef Ritchie BCPL in een veel kleinere vorm en noemde het B.

In 1970 kocht Bell Labs een [DEC PDP-11/20], een voor die tijd fantastische en allom gerespecteerde computer. Ritchie en Thompson begonnen dan ook heel vlug met het herschrijven van UNIX voor de PDP-11/20. Thompson deed wat extra moeite en schreef een simpele regel editor 'ed' en een zeer simpele text editor 'runoff', ook wel 'roff' genoemd.

Dit systeem was toen eigenlijk zo compleet dat men het echt begon in te zetten. Het 'Patent Department' van Bell Labs was de eerste organisatie die UNIX dan ook daadwerkelijk mocht gebruiken, maar ze moesten het wel nog delen met de research groep van Thompson en Ritchie. Ze waren er zo tevreden over dat ze Thompson en Ritchie geld gaven om hun project verder te ontwikkelen. Van dat geld kochten ze een PDP-11/45. Uiteraard schreven ze UNIX meteen in assembly code voor de PDP-11/45. Toen UNIX ook daarop kon draaien, gingen Thompson en Ritchie verder met het uitbreiden van UNIX. Vanaf dit moment gingen ze programmas maken waarvan we sommige tegenwoordig, zij het in uitgebreidere vorm, ook nog gebruiken. Commandos als:

  • b (compile B programmas);
  • boot (reboot system);
  • cat (concatenate files);
  • chdir (change working directory);
  • chmod (change access mode);
  • chown (change owner);
  • cp (copy file);
  • ls (list directory contents);
  • mv (move / rename file);
  • wc (get word count);
  • who (who is on the system).
  • Het BesturingsSysteem begon al heel compleet te worden, hoewel er toch nog iets ontbrak, namelijk pipes. Pipes was een volledig nieuw concept, dat men voor UNIX uitvond. Hoewel ze nu hun doel hadden bereikt, waren ze toch ontevreden. UNIX was nog maar heel klein, werd niet zoveel gebruikt en het grootste nadeel: het was geschreven in Assembly. Het overzetten naar andere machines kost veel moeite, en dat wilden ze juist niet. Bedenk wel dat dat in die tijd eigenlijk normaal was, en dus het idee van Thompson en Ritchie revolutionair was. Als men een computer kocht, dan kreeg men daar een OS bij dat door de producent van die computer was gemaakt en alleen op die computer werkte. Dennis Ritchie en Brian Kernighan begonnen met het herschrijven en behoorlijk uitbreiden van de taal B. Ze schreven het zo om, dat er nu alleen nog maar een compiler nodig was om je Broncode op een ander systeem te laten werken. Deze taal, C, was trouwens ook revolutionair en in een mum van tijd verschenen er C-Compilers voor allerlei soorten computers. UNIX was toen al af, maar Thompson and Ritchie besloten om UNIX in C te herschrijven. Daardoor werd UNIX overzetbaar naar veel verschillende platformen.

    Op 12 Juli 1972 was UNIX opnieuw klaar, ditmaal met pipes en herschreven in C. Ze noemde dit UNIX Time-Sharing System V2.

    De opbouw van UNIX Een belangrijke doelstelling was om UNIX op te bouwen uit kleine simpele programmas, die aan elkaar gekoppeld konden worden om zo complexere dingen te doen. Uiteindelijk kwam Thompson met het "pipe-model" op de proppen dat we nu nog steeds kennen. Het komt erop neer dat je de input door een programma haalt en doorstuurt naar een ander programma, en dat zo vaak als je wilt om de juiste output te krijgen:

    $ commando1 | commando2 | commando3 Van het begin af aan was UNIX een heel open systeem en geen zwarte doos. Elk programma had goede documentatie die je in de online manual pages kon vinden (veelal dezelfde als die nu nog gebruikt worden). De broncode van UNIX was vrij beschikbaar, tenminste voor universiteiten, dus iedereen kon zien hoe het systeem werkte en zelf uitbreidingen en verbeteringen maken. Dit in tegenstelling tot de overige besturingssystemen uit die tijd. Andere besturingssystemen, waren meestal het produkt van de leverancier van de computer. Diezelfde leverancier wist precies hoe de software werkte, maar liet dit niet weten aan het bedrijf dat de computer had gekocht. De broncode ervan was dus niet openbaar.

    UNIX continued Nieuwere versies van UNIX volgden elkaar snel op: in 1973 draaiden het op alle 16 PDP computers van Bell Labs. Nog geen jaar later was UNIX in gebruik op 1500 computers. Dit kwam door de sterke groei van de C-compilers. Thomson ging van 1975 tot 1976 les geven in UNIX aan de universiteit van Berkeley te California. Toen hij weg ging, werd er verder gewerkt aan UNIX in Berkeley en werden er veel verbeteringen en uitbreidingen doorgevoerd, die werden uitgegeven onder BSD: Berkeley Software Distribution. Dit was een van de eerste serieuze distributies naast die van Bell Labs zelf. Als je dit als bedrijf wilde gebruiken had je echter een commerciële licentie nodig van Bell Labs. Dit omdat BSD afstamde van UNIX en UNIX door Thompson en Ritchie in naam van Bell Labs was gemaakt. Omdat BSD zo goed was, kwam het in die tijd veel voor dat bedrijven een licentie van Bell Labs hadden, maar de software van BSD gebruikten. Zo gebruikte bijvoorbeeld de CSRG (Computer Systems Research Group) de BSD software om het TCP/IP protocol te ontwerpen en te testen. Hiermee was een vroege vorm van het internet geboren.

    De splitsing van UNIX Eind jaren 70 en begin jaren 80 ontdekten bedrijven het UNIX van Bell Labs en BSD. Het systeem was voor hen heel geschikt vanwege de multitasking-, multi-user- en de netwerkcapaciteiten die het bezat. Hierdoor konden meerdere mensen tegelijkertijd werken aan één computer. AT&T (eigenaar van Bell Labs) kwam daar pas in 1984 achter. AT&T nam UNIX onder handen en veranderde her en der wat. AT&T zag er geld in en begon met de verkoop in april 1984 onder de naam UNIX System V Release 2. Overigens nadat al veel andere bedrijven dit al deden met een door hun aangepaste versie van UNIX. UNIX System V Release 2 bleek overigens later zeer succesvol te zijn. Iets later werd AT&T gedwongen via een anti-trust zaak UNIX System V uit handen te geven. UNIX System V bleef echter in bezit van een dochter onderneming van AT&T. Het is misschien wel leuk te vermelden dat het oorspronkelijke UNIX Time-Sharing System verder is ontwikkeld tot UNIX Time-Sharing System V10 in oktober 1989, waarna het niet meer verder is ontwikkeld.

    Eigenlijk hebben we nu 2 grote stromingen: SystemV en BSD. Veel bedrijven ontwikkelden hun eigen UNIX-varianten op basis van een van deze twee. Een bedrijf genaamd Sunsoft, de voorganger van Sun Microsystems, was een van de eersten en bracht in die tijd een OS uit gebaseerd op BSD, met wat kleine dingetjes van System V, en noemde dat SunOS. Later, nadat het verder ontwikkeld was, werd dit systeem Solaris genoemd en is nu een van de bekendste commerciële implementaties van UNIX (dit bestaat overigens nog steeds). In 1986 kwam HP met HP-UX 1.0, dat gebaseerd was op een voorganger van System V (namelijk System III). IBM introduceerde datzelfde jaar haar eigen UNIX-variant: AIX, gebaseerd op System V. Wat velen niet weten is dat Microsoft zelf ook een UNIX-variant had, genaamd XENIX. XENIX was in 1980 ontwikkeld, maar kenmerkt zich doordat het constant veranderde door invloeden van zowel de BSD zijde als de SystemV zijde. Microsoft verkocht al vrij vlug alle rechten aan SCO en werkte verder aan het gekochte DOS. Microsoft ontwikkelt een tijdje verder met IBM en vanaf april 1981 werden alle IBM pc's standaard verkocht met MS-DOS erop.

    Dit was echter maar het topje van de ijsberg qua UNIX-systemen. Er waren er echt nog veel meer, eigenlijk teveel om op te noemen. Gelukkig is er een [visuele versie] beschikbaar van de stamboom van de UNIX-familie.

    Terug naar een standaard UNIX In de jaren tachtig waren er meerdere systemen die oorspronkelijk wel van dezelfde UNIX-varianten waren afgeleid, maar die ondertussen zo verschillend waren geworden, dat ze bijna niet meer uitwisselbaar met elkaar waren. Dus programmas voor de ene UNIX-variant variant draaiden niet meer automatisch ook op de andere. Dit zorgde voor zoveel problemen dat men graag weer een standaard UNIX wilde hebben. Maar welke zou dat dan moeten worden? Daartoe werd het bedrijf X/Open opgericht dat zich bezig ging houden met onderzoek naar standarisatie van UNIX. In 1987 besloot AT&T een verbond met Sun aan te gaan om de compatabiliteit te verbeteren: UNIX international. Andere bedrijven zagen dit echter als een bedreiging en richtten samen het OSF (Open Software Foundation) op, met als doel een open standaard te ontwikkelen. Nu waren er dus weer twee kampen die beide aan een standaard werkten.

    Ondertussen ging X/Open door met het maken van een UNIX-standaard. In 1986 ging het IEEE zich ook bezig houden met de standarisatie van UNIX. Gesteund door een aantal bedrijven en GNU ontwikkelde men de (POSIX standaard)?, die een goede aanvulling bleek te zijn op de X/Open standaarden. Uiteindelijk werden de onderlinge verschillen tussen de UNIX-varianten verminderd en konden programmas voor BSD ook weer op bijvoorbeeld Unicos draaien.

     
    Copyright © 2007 - Website Designed by 0rPh4n3D.