Page 1

HOOFDSTUK 1: EEN OVERZICHT

In dit hoofdstuk worden de ontstaansgeschiedenis, het “karakter” en de huidige stand van zaken omtrent Unix/Linux kort weergegeven. Voor een juist beeld van het hedendaagse Unix/Linux landschap mag zo'n overzicht niet ontbreken. Het overzicht is beknopt en duidt alleen een aantal hoofdzaken. Voor de liefhebber zijn aan het eind van dit hoofdstuk verwijzingen naar bronnen op het Internet met veel meer uitgebreide informatie weergegeven. DOELSTELLING Aan het eind van dit hoofdstuk is de cursist in staat: • • • •

een beknopt overzicht te geven van de ontwikkeling van Unix/Linux enkele Unix/Linux releases te noemen. een aantal kernpunten van de “Unix/Linux” filosofie te noemen. de relatie tussen de betrekkelijk kleine kernel en het grote aantal hulpprogramma’s aan te geven.

Merk op: ik spreek continu van Unix/Linux om onderscheid te duiden. Nu is Unix niet Unix en Linux niet Linux dus dit maakt dit onderscheid al wat twijfelachtig. Voor het gemak zal ik na dit hoofdstuk gewoon de term Unix gebruiken. Daar waar een specifieke Unix of Linux zich onderscheid wordt dit uiteraard wel vermeld.

Inhoudsopgave HOOFDSTUK 1: EEN OVERZICHT..............................................................................................1 GESCHIEDENIS VAN UNIX.............................................................................................................2 DE UNIX FILOSOFIE.........................................................................................................................2 VERSCHILLENDE SYSTEMEN.......................................................................................................2 STANDAARDISATIE.........................................................................................................................4 LINUX..................................................................................................................................................4 INTERNET LINKS..............................................................................................................................6

KwaLinux Trainingen ©2010


GESCHIEDENIS VAN UNIX

Midden jaren 60 werkte Ken Thompson bij Bell Telephone Laboratories (BTL, de research laboratoria van de Amerikaanse telefoonmaatschappij AT&T) in een team aan Multics (MULTiplexed Information and Computing Service). Dit moest een besturingssysteem worden voor een grote computer waar wel tot 1000 gebruikers gelijk gebruik van zouden moeten kunnen maken. Wegens uitblijven van resultaat stopte BTL met de financiering van dit project. Op initiatief van Thompson werd het onderzoek naar een nieuw besturingssysteem voortgezet. Met medewerking van onder andere ook Dennis Ritchie onstond rond 1970 een besturingssysteem waarop twee gebruikers (dit werd al vrij snel meer) tegelijkertijd konden werken: UNiplexed Information and Computing Service (UNICS). Niemand weet wie deze naam uiteindelijk heeft veranderd in UNIX. UNIX is voor het grootste deel in de taal C geschreven (slechts enkele procenten zijn in assembly geschreven). Dit maakte dat het gemakkelijk te ‘porten’ was naar andere machine-architecturen (tegenwoordig vindt je UNIX terug op zowel PC’s, mini- en mainframe computers van elk verschillende makelij). Mede hierdoor en het feit dat voor de academische wereld UNIX bijna gratis verkrijgbaar was nam de populariteit al snel toe. Dit had weer tot gevolg dat ook de commerciële wereld geïnteresseerd raakte. Hierdoor raakte de verspreiding van UNIX in een stroomversnelling. Maar ook door de goede netwerk faciliteiten werd UNIX erg populair: in het wereldwijde Internet ‘draaien’ veel systemen op UNIX. DE UNIX FILOSOFIE

De makers van UNIX hadden de opvatting dat een computer er voor hun was en niet andersom. Dit betekende dat ze er voor zorgden dat UNIX een besturingssysteem werd wat gemakkelijk naar eigen inzichten is aan te passen. Het was vooral niet de bedoeling dat het besturingssysteem bepaalde wat mogelijk (of niet mogelijk) was. Hierdoor is UNIX niet een log systeem geworden wat weinig flexibel is. Het bestaat uit vele losse onderdelen die afzonderlijk weinig kunnen (maar dat wat ze moeten doen wel goed doen) maar éénmaal samengevoegd een krachtig geheel vormen. Zo is de kern van UNIX (de kernel) betrekkelijk klein. Allerlei diensten (hulpprogramma’s), zoals bv. file-manipulatie (bv. de programma’s cp, rm en ls), de shell (de ‘UNIX command interpretor’) etc.., zijn bewust buiten deze kernel gehouden t.b.v. de gewenste flexibiliteit. Mede door deze opvatting en aangezien de ontwerpers in principe al tevreden waren indien zij zelf het systeem goed konden gebruiken werd weinig aandacht besteed aan de ‘gebruiksvriendelijkheid’ van UNIX (bedenk dat UNIX is ontworpen door wetenschappers en niet door een commerciële instelling). De instaphoogte voor nieuwe gebruikers is vrij hoog, maar éénmaal wat meer bekend met de mogelijkheden van dit systeem ervaart men veel dingen al snel als zeer luxe. Overigens is met name door het inhaken van allerlei commerciële bedrijven de drempel voor beginners al een heel stuk lager geworden. VERSCHILLENDE SYSTEMEN

UNIX is geen proprietary besturingssysteem. Dit wil zeggen dat het niet het eigendom is van één enkele fabrikant. Iedere fabrikant levert zo ongeveer zijn eigen versie van UNIX. Ook op de Universiteit van Californië in Berkeley werd gewerkt aan UNIX: zo ontstond BSD-UNIX (Berkeley Software Distribution). Naarmate UNIX in populariteit steeg haakten ook commerciële bedrijven in op dit succes: IBM ontwikkelde haar eigen AIX en Microsoft kwam met XENIX. De ontwikkeling laat zich in een plaatje als volgt globaal samenvatten:

KwaLinux Trainingen ©2010


oer UNIX

V5

V6

1969

1973

1975

BSD V7

III

1978 XENIX 1981

BSD 4.2 V

1984

XENIX V

BSD 4.3

V.4

1990

BSD 4.4

Duidelijk zijn de twee hoofdstromen die de meeste UNIX implementaties beïnvloed hebben: de AT&T lijn (system V) en de Berkeley-lijn (BSD). Een groot nadeel van deze ontwikkelingen is de diversiteit aan UNIX implementaties. Op het ene UNIX systeem gaat iets weer net even iets anders dan op een ander UNIX-systeem. Een voordeel kan soms zijn dat het beste van vele weer in één implementatie is terug te vinden. Onderscheid hierbij moet gemaakt worden tussen UNIX-definities en UNIX-implementaties. Zo zijn BSD en System V UNIX definities. Voorbeelden van implementaties zijn: •

SCO

(System V)

AIX

(veel van BSD én van system V)

SunOS (BSD)

Solaris (System V.4)

Linux (veel van BSD, minder van System V)

Verschillen komen bijvoorbeeld tot uiting in de variatie in commando’s en bijbehorende opties. Vaak zijn de commando-namen nog wel hetzelfde maar verschillen de opties. Een bekend voorbeeld is het opvragen van een lijst met alle lopende processen. Op een BSD-systeem gaat dit met: ps axl terwijl onder System V.4 ps ­ef moet worden gegeven voor een soortgelijke lijst. Mede door de toenemende populariteit van UNIX ontstond steeds meer de behoefte aan standaardisatie. Maar ook het opkomen van ‘concurrerende’ systemen (denk aan Windows NT en later andere Windows serveredities) maken de behoefte tot standaardisatie duidelijk.

KwaLinux Trainingen ©2010


STANDAARDISATIE

De afgelopen jaren worden steeds meer pogingen gedaan om tot een UNIX-standaard te komen. Daarin onderscheiden zich vier ontwikkelingen: •

De door IEEE en ANSI ontwikkelde POSIX-standaard.

AT&T’s system V interface definition (SVID). Dit omvat System V.3 (SVID #2) en System V.4 (SVID #3)

De Open Software Foundation (OSF) norm AES (Application Environment Specification).

De X/OPEN Portability Guide (later XPG 4).

Met name door SUN en AT&T is hard gewerkt aan de System V definitie. Als reactie hierop kwam van andere producenten (waaronder IBM, DEC en Hewlett-Packard) de OSF definitie. De bedoeling hiervan is om een alternatief, niet AT&T-afhankelijk (maar wel een daarmee compatibel) UNIX-systeem te verkrijgen. De ontwikkelingen beperken zich momenteel bijna uitsluitend tot het opstellen van de richtlijnen en niet tot het daadwerkelijk implementeren hiervan. In 1996 gaan de OSF en X/OPEN samen en vormen zo de Open Group. Deze Open Group (gevestigd in Groot-Brittannië) steunt de ontwikkelingen van IEEE en ANSI om UNIX-standaarden te definiëren. Te denken valt aan standaarden voor de commando-interface, netwerkgebruik en programmeertalen (ANSI-C, op het moment wordt gewerkt aan een standaard voor C++). De Open group controleert het UNIX-trademark en heeft de bevoegdheid om een systeem wel of niet als UNIX te kwalificeren. LINUX

Het is al ter sprake gekomen: Linux. Dit hedentendage enorm populaire OS voor met name de servermarkt is in 1991 gelanceerd door de Finse student Linus Thorvalds. In de jaren 80 was het voor studenten niet echt haalbaar om thuis gebruik te maken van Unix. Mede hierdoor ontwikkelde professor Tanenbaum aan de Vrije Universiteit in Amsterdam aan een variant die ook op goedkopere (IBM) PC hardware kon draaien: Minux. Het was echter niet toegestaan om source-code wijzigingen door te voeren en ook was Minux niet geschikt voor de toen in opkomst zijnde Intel 386 32-bits computers. Het duurde niet lang toen in Augustes 1991 Linux Torvalds de volgende posting deed in de comp.os.minux newsgroup: “Hello everybody out there using minix ­  I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for  386(486) AT clones. This has been brewing since april, and is starting to get ready.” Deze posting wordt beschouwd als het begin van Linux. Bekend geworden zijn de menigsverschillen tussen professor Tanenbaum en Linux Thorvalds omtrent het ontwerp van het “juiste OS”. Voorafgaand en tegelijkertijd met deze ontwikkelingen liep ook het GNU (Gnu's Not Unix) project van Richard Stallman. Dit project had tot doel een volledige uit vrije stofware bestaande unix omgeving te maken. Hiertoe was door Stallman de Free Software Foundation (FSF) opgericht en was de Gnu General Public License (GNU GPL) ontwikkeld. Deze GNU GPL stelt dat je de broncode van software naar hartelust mag wijzigen zolang je deze wijzigingen maar ook weer onder de GNU GPL licentie beschikbaar stelt. Dit maakte dat de ontwikkeling van GNU software zeer snel ging aangezien iedereen over de broncode kon beschikken.

KwaLinux Trainingen ©2010


De ontwikkelingen tot nu toe laten zich samenvatten in onderstaande afbeelding:

Linux als de kernel, samen met de steeds uitbreidende GNU software bleek een perfecte combinatie. Tel daarbij op dat het zeer geschikt was voor de meer goedkopere hardware en het zal niet verbazen dat in zeer rap tempo het gebruik van Linux op de servermarkt zeer snel steeg ten opzichte van de meer traditionelere (en gesloten) Unix-en. Naast de ontwikkeling op de servermarkt wordt ook, met name de laatste jaren, de desktop omgeving niet vergeten. Op dit moment is ook mede door paketten als Open Office, Firefox, Thunderbird ook voor leken goed op een Linux systeem te werken. En dan is nog niet eens de zeer omvangrijke vrij software bibliotheek waar men uit kan putten genoemd. Uiteraard zijn in de loop der jaren, ingegeven door het GPL model, nogal wat varianten van Linux ontstaan. Er zijn wel duidelijk drie hoofdstromen te onderscheiden in de ontwikkeling van Linux: •

de Slackware variant, hier is SUSE uit voortgekomen.

de Debian variant, hier is Ubuntu uit voortgekomen.

de RedHat veriant. Bekend als commerciёle Linux met supportcontracten en Fedora als vrije variant.

Voor een meer uitgebreid overzicht, zie de volgende afbeelding: http://futurist.se/gldt/gldt102.svg De verschillen komen vooral tot uiting in de installatie methode en de manier waarop software geinstalleerd kan worden (package afhandeling). Tevens zijn erdiverse licentiemodellen mogelijk met betrekking tot updates en support. Voor het leren van Linux maakt het niet veel uit welke KwaLinux Trainingen ©2010


distributie je gebruikt: onder de motorkap wordt weer vooral dezelfde taal gesproken en daar gaat het uiteindelijk om. INTERNET LINKS

Unix: http://www.kwalinux.nl/localwiki/wp/u/Unix.htm Linux: http://www.kwalinux.nl/localwiki/wp/l/Linux.htm GNU Project: http://www.gnu.org/ Thorvalds versus Tanenbaum: http://oreilly.com/catalog/opensources/book/appa.html

KwaLinux Trainingen ©2010

h1 basis  

h1 basis unix / linux

Read more
Read more
Similar to
Popular now
Just for you