Net zoals we vorig week antwoord gaven op de vijf vragen die mensen die voor het eerst met Linux aan de slag gaan, helpen we je nu nog verder op weg door de terminologie die je tegenkomt met je te doorlopen. Het OS komt uit 1991 en wordt inmiddels gebruikt in auto's, smartphones, webservers, netwerkapparatuur en meer.

Het zal met die alsmaar groeiende rol in de back-end geen verbazing wekken dat Linux steeds meer in het bedrijfsleven moet worden gezocht, Bijvoorbeeld IT'ers in DevOps-teams gaan aan de slag met containers, SDN-controllers en andere infrastructuur die op Linux is gebouwd. Het open source besturingssysteem bestaat uit verschillende componenten, waar we ook dieper op ingaan.

Kernel

De kern van het besturingsysteem die instructies verstuurt naar de CPU, randapparatuur en geheugen. Later in dit artikel komen we terug op specifiek de Linux-kernel.

Bootloader

Het proces dat het starten van het systeem bestiert. Op een computer ziet een gebruiker de bootloader als een splashscreen tijdens het opstarten. Op een netwerkapparaat zie je een statusmelding die aangeeft dat het bootproces wordt doorlopen.

Daemons

Dit zijn services die starten bij het booten of nadat het systeem volledig is opgestart. De netwerk-daemon bijvoorbeeld, activeert de netwerk-interfaces bij het opstarten. Andere deamons zijn zaken als DNS en tijd.

Shell

Dit is de opdrachtprompt, oftewel de command-line. Die kan intimiderend zijn voor mensen die alleen grafische interfaces gewend zijn, maar de meeste IT-professionals zijn eraan gewend om direct in de shell te werken.

Opdrachten

De command-line interface (CLI) van de shell levert een aantal belangrijke functionaliteiten voor geavanceerde gebruikers die de tekstgebaseerde interface kennen.

Desktopomgeving

Er is een aantal desktopomgevingen voor Linux, wat grafische interfaces zijn met venstergebaseerde GUI's zoals bij Windows en macOS. In tegenstelling tot die besturingssystemen, kan Linux worden uitgerust met een andere desktopomgeving. De gebruiker kan zo op zoek gaan naar een venstersysteem die hij of zij zelf meer kan waarderen.

Pakketbeheerders en applicaties

Hoewel veel programma's - vooral de toepassingen die vanaf de command-line worden aangestuurd - worden meegeleverd met de installatie van het besturingssysteem, wil je waarschijnlijk meer dan de standaardfunctionaliteit. Veel programma's die je als gebruiker wilt hebben zijn grafische, GUI-gebaseerde applicaties die niet standaard zijn meegeleverd. Daar gebruik je meestal een pakketbeheerder voor, een programma dat is bedoeld voor het binnenhalen van softwarepakketten van gratis beschikbare library's.

MINIX en Unix

Linux is 'Unix-achtig' en hoewel Linux wat van de feel van Unix heeft, bevat het niet daadwerkelijk Unix-code. Je kunt Linux meer zien als het kleinkind van Unix en meer een neef van MINIX (stiekem 's werelds grootste besturingssysteem). Dat lichte, kleine Unix-achtige OS werd in de jaren 80 gemaakt om aan studenten de basisbeginselen mee te geven van OS-ontwerp.

De code was beschikbaar voor educatieve doeleinden, maar mocht niet voor commerciële toepassingen worden gebruikt. In 1991 kondigde informaticastudent Linus Torvalds aan een nieuw OS te maken, geïnspireerd door MINIX, maar van de grond af opgebouwd, zodat er een open source GNU GPL aan gegeven kon worden. Hij combineerde zijn eigen voornaam met MINIX tot Linux.

Linux-kernel

Dat brengt ons bij de kernel van Linux. Dat is het voornaamste verschil met MINIX (waardoor het ironisch is dat Torvalds werd beschuldigd van het stelen van MINIX-code voor zijn besturingssysteem). MINIX is gebaseerd op een microkernel die zo min mogelijk code bevat om het OS te starten. Linux is een 'monolithic kernel', wat betekent dat functies als het bestandssysteem, virtueel geheugen en verschillende systeemcalls allemaal aanwezig zijn in de afgeschermde kernelruimte.

Een voordeel daarvan (ook een nadeel trouwens) is dat het interne besturingssysteem kan evolueren, terwijl de gescheiden interface, die de gebruiker het meeste ziet, stabiel en onveranderlijk kan blijven. Dat betekent dat Linux je niet zal dwingen programma's te upgraden.

Linux-community

De code is open source en wordt uitgegeven onder de GNU Public License. Dat betekent dat onder meer:

  • Besturingssysteem Linux gratis kan worden gedownload en geïnstalleerd.
  • Gebruikers het OS kunnen bestuderen en aanpassen.
  • Er geen beperkingen zijn in het opnieuw distribueren van originele of aangepaste versies van het OS.

Een van de duidelijkste tekenen dat dit een communityproject is, is wel dat de kernel niet in de grootste geheimzinnigheid wordt ontwikkeld in een bedrijfslaboratorium, maar via een openbare e-maillijst. Daar worden alle voorgestelde wijzigingen besproken en zijn er debatten over of dit geïntegreerd moer worden in het OS. Iedereen kan zich bij deze discussie aansluiten. Torvalds is de goedaardige dictator van de mailinglist, hoewel goedaardig wellicht niet helemaal van toepassing is, omdat hij bekend staat om zijn tirades als hij code als problematisch ziet. De laatste tijd probeert hij zijn leven te beteren.

Maar er is meer aan de community dan de kernel. De openheid van Linux betekent dat er een grote groep professionals en fans actief betrokken is bij het vinden naar nieuwe manieren om het te gebruiken. Linux is geen 'minder' project omdat het door enthousiasme wordt gedreven in plaats van geld: het heeft goede API's, gemoderniseerde netwerkstacks en een infrastructuur die zich uitstekend leent voor een modern datacenter met SDN-architectuur.

Linux-distributies

Er is niet één leverancier, maar er zijn een heleboel leveranciers. Omdat het open source is zou je in theorie de kernel, een desktopomgeving, utilities en verschillende applicaties kunnen downloaden om de boel vervolgens zelf te installeren. In de praktijk wordt dit allemaal samengepakt in een distrubutie (distro), in essentie een OS die op een bepaalde manier is ingericht om direct mee te kunnen werken.

Maar in theorie zou iedereen dus een Linux-distributie kunnen maken om ter download aan te boeden, maar in de praktijk worden de meeste aangeboden door bedrijven of nonprofits. Enkele van de bekendere distributies zijn:

  • Ubuntu
  • SuSE
  • Debian
  • Red Hat
  • Fedora
  • Oracle Linux
  • CentOS
  • Arch Linux
  • Mandriva

Deze lijst verandert aan de lopende band. DistroWatch is een goede bron om zowel de grote spelers in de gaten te houden als de voor- en nadelen van verschillende distributies in de gaten te houden.

Linux en Windows

De millenniumwisseling was het gouden tijdperk voor de ruzies tussen aanhangers van Microsoft en die van Linux. Laatstgenoemde categorie verklaarde graag waarom hun OS het beste was en Microsoft reageerde vaak fel op Linux. De luidtste pro-Linux fans verklaarden dat het jaar van Linux op de pc nabij was, maar dat is duidelijk niet gebeurd. Ook voor commerciële eindgebruikers is het een niche gebleven en de Windows vs. Linux-ruzies worden tegenwoordig niet meer zo breed uitgevochten - hoewel je een paar harde kerners hebt die de strijdbijl niet willen begraven.

Maar voor servers is het een heel ander verhaal. Linux is een enorme speler, even groot of zelfs groter dan concurrenten, waaronder Microsoft. In de lucratieve techwereld zou je zeggen dat Linux, in zekere zin, keihard gewonnen heeft van de commerciële softwaremaker. Daarnaast hebben we Android, het besturingssysteem dat is gebouwd op de Linux-kernel, dat enorm is in de mobiele markt, waar Microsoft nooit voet aan de grond heeft gekregen.

Kinderen van Linux

Omdat het zo flexibel aanpasbaar en inzetbaar is, kreeg Linux voet aan de grond bij ontwikkelaars, die een aantal niches groot hebben gemaakt met behulp van de open source-software. De afgelopen tien jaar is er een explosie geweest in het aantal Linux-gebaseerde producten die een stevige impact hadden in de IT-wereld, waaronder:

  • Kubernetes: Containerclusterbeheer van Google
  • OpenStack: Softwareplatform voor Infrastructure as a Service
  • Open Daylight: Java-gebaseerd project van de Linux Foundation om de adoptie van SDN's en NFV's te vergoten
  • Docker: Containersoftware
  • Open vSwitch (OVS): Een multilayerswitch die een switching-stack levert in virtualisatieplatforms.

Toekomst in het bedrijf

IDG-collega Paul Venezia vroeg zich bij het 25-jarige jubileum van Linux af waarom het zo groot is geworden in commerciële omgevingen, terwijl het een open systeem is dat hard heeft moeten werken om een hobby-imago van zich af te schudden. Venezia vermoedt twee redenen. De eerste is dat Linux in hoge mate is aan te passen, zodat je het kunt gebruiken voor welk platform dan ook. Ontwikkelaars hebben het OS dan ook omarmd.

De tweede gaat om een behoorlijke commerciële drijfveer: lage kosten. Linux draaide vooral om vrijheid en openheid, wat ook inhield dat de code toegankelijk en dus gratis beschikbaar moest zijn. Dat prijskaartje was interessant voor bedrijven. Misschien nog belangrijker is dat Linux kan draaien op breed beschikbare hardware in een tijdperk waar Unix-leveranciers als Sun hun OS bundelden in hun high-end hardware.

Deze factoren houden in dat Linux nog jarenlang mee zal draaien in het bedrijfsleven. Of je nu een systeembeheerder of netwerkspecialist bent, het is wellicht handig dit systeem goed te leren kennen.