# Ubuntu: Linux voor mensen/Wat is Linux?/UNIX

Om te begrijpen waarom Linux zo populair is, moeten we teruggaan in de tijd. Het begon dertig jaar geleden...
Stel je een computer voor zo groot als een huis, of zelfs zo groot als een stadion. Zo groot waren de krachtige computers in die tijd. En als de afmetingen al een probleem vormden, was er iets dat de zaken nog veel meer bemoeilijkte: elke computer had een verschillend besturingssysteem. Software moest altijd op maat gemaakt worden, en software voor een gegeven systeem draaide niet op een ander. Het feit dat je met een systeem kon werken, gaf geen garantie dat je je ook zou kunnen behelpen op een ander.
* Besturingssysteem
* Een besturingssysteem (in het Engels operating system of afgekort OS) is het programma (meestal een geheel van samenwerkende programma's) dat bij opstarten van de computer als eerste in het geheugen geladen wordt, en dat de functionaliteiten aanbiedt om andere programma's te laten uitvoeren.
Computers waren in die tijd ook extreem duur. Ook na de aankoop moesten er zware financiële offers gebracht worden om de gebruikers uit te leggen hoe ze de computer moesten bedienen. De totale prijs van een computerpark was monsterlijk hoog.
Op technologisch gebied was de wereld nog niet erg geavanceerd. Bijgevolg kon er aan het probleem “afmeting” gedurende tien jaar niet veel gedaan worden. Maar het probleem software werd wel aangepakt. In 1969 begon een team van ontwikkelaars in Bell Labs te werken aan een oplossing voor de problematiek van de compatibiliteit. Ze ontwikkelden een nieuw besturingssysteem dat volgende eigenschappen had:
* Het was simpel en elegant.
* Het was geschreven in de C-programmeertaal in plaats van in machinetaal.
* De code kon gerecycleerd worden: code gemaakt voor een bepaalde machine, kon mits minimale aanpassingen ook op een andere machine draaien. Dat was vroeger niet mogelijk.
* Machinetaal
* Machinetaal is de taal waarin instructies geschreven zijn die de processor van een computer direct kan uitvoeren, zonder tussenkomst van een vertaalprogramma. Machinetaal is verschillend voor elk merk en type van processor. Elke instructie heeft een code. Maar omdat die codes zo cryptisch zijn en dus moeilijk te onthouden, ontwikkelde men programmeertalen, die het allemaal een beetje menselijker moesten maken. Nu blijft nog steeds de Engelse term code bestaan: een programma zoals het door de programmeur “gecodeerd” of ingetypt werd. Deze term wordt ook gebruikt voor andere talen dan machinetaal.
* Compatible
* In informatica betekent de term compatibiliteit letterlijk “vereenigbaar met”, met andere woorden dat een zekere software, een programma, past of kan bestaan op een zekere hardware.
De ontwikkelaars van Bell Labs noemden hun project UNIX.
Vooral de derde eigenschap, dat code opnieuw gebruikt kon worden in andere omstandigheden, was erg grensverleggend. Tot dan toe waren alle op de markt beschikbare besturingssystemen geschreven in een codetaal die specifiek voor een bepaalde hardware ontwikkeld was, de machinetaal. UNIX daarentegen had slechts behoefte aan een klein stukje speciale code, dat nu algemeen bekend is als de kernel. De kernel is het enige programma dat aangepast moet worden aan elk specifiek platform en vormt de basis van de UNIX omgeving. Het besturingssysteem en alle andere functies worden rond de kernel gebouwd en geschreven in een abstractere programmeertaal, C. Deze C taal werd speciaal ontwikkeld om het UNIX systeem te maken. C en UNIX gaan dus hand in hand. Door deze nieuwe techniek was het veel eenvoudiger geworden om een besturingssysteem te maken dat op vele verschillende types van hardware kon draaien.
* Kernels en platformen
* Kernels vind je overal, ook je MS Windows machine heeft er eentje. Een platform is de verzameling van hardware waarvoor programma's ontwikkeld worden.
De softwarehuizen waren er als de kippen bij om zich aan te passen aan de nieuwe gebruiken, omdat ze haast zonder moeite vele tientallen keren meer software konden verkopen dan voorheen. Dit leidde tot gekke situaties: stel je eens voor dat verschillende computers van verschillende makelij over hetzelfde netwerk konden communiceren, of dat gebruikers plots met verschillende systemen konden werken, zonder nood aan extra opleiding. UNIX heeft er heel veel aan gedaan om de gebruikersvaardigheden compatibel te maken tussen systemen onderling.
De volgende twee decades brachten verdere ontwikkeling van het UNIX systeem. Je kon steeds meer doen met je UNIX computer en steeds meer hardware- en softwareverkopers ondersteunden UNIX in hun produktlijn.
Initieel vond je UNIX enkel in hele grote omgevingen met mainframes en minicomputers. Je moest al aan een universiteit werken, of voor de overheid of een grote financiële instelling om in aanraking te komen met een UNIX omgeving.
* Mini vs. micro
* Een minicomputer indertijd was niet echt zo klein. De PC van tegenwoordig valt trouwens in de categorie microcomputers.
Maar de computers werden steeds kleiner, en rond het eind van de jaren tachtig hadden vele mensen thuis al een home computer. Er waren toen al verscheidene versies van UNIX voor de PC architectuur beschikbaar, maar geen enkele was vrij verkrijgbaar. En wat nog belangrijker is: ze waren verschrikkelijk traag. Bijgevolg hadden de meeste thuisgebruikers MS DOS of Windows 3.1.