Zoals we in deel 1 van deze serie zagen, hebben hardware fabrikanten in de loop van de tijd hun eigen UNIX-versie ontwikkeld. Deze zijn veelal gebaseerd op System V UNIX of BSD UNIX. Vooral als reactie op de commercie rondom UNIX, ontstaat er een tegenbeweging: Linux.

Windows komen we tegen op de meeste werkplekken en op veel servers bij de meeste organisaties. Windows op de server met serverapplicaties werkt daar prima samen als een soepel ecosysteem met Windows op de werkplekken. Maar Linux is in opkomst en vervangt langzamerhand Windows én UNIX in het datacenter. Misschien komt het wel door de enorme aandacht die Android, de Raspberry Pi en ook Chrome OS krijgen, dat er een andere en bredere doelgroep zich te begint interesseren in Linux. Linux op de desktop kan hierdoor gaan doorbreken en een goed alternatief vormen voor thuis-PC’s. En omdat Linux in het datacenter al een redelijke installed base heeft, is een toekomstig ecosysteem van Linux-servers met Linux-werkplekken voor bedrijven ook geen gekke gedachte. Linux wordt dit jaar 20 jaar oud en is dus geen tiener meer, maar echt volwassen technologie.

 Het begon met GNU

In 1984, is door Richard Stallman bij het Massachusetts Institute of Technology (MIT),het GNU-project gestart, met als doel een gratis UNIX-achtig besturingssysteem te ontwikkelen. GNU is een afkorting voor ‘GNU’s Not UNIX’. De bedoeling was om GNU gratis beschikbaar te stellen inclusief alle broncode. Stallman bedacht de GNU General Public License (GPL) en richtte de Free Software Foundation (FSF) op (www.fsf.org). Software die onder de GPL valt, moet als source code beschikbaar worden gesteld, mag worden gebruikt, aangepast en verkocht mits onder ook weer onder de dezelfde GPL-voorwaarden. Het GNU-project heeft veel tools en applicaties opgeleverd, maar een bruikbare stabiele kernel (Hurd) heeft (te) lang op zich laten wachten. De kernel(*15) (kern) heeft als taak de interactie met de hardware te verzorgen, dus lezen en schrijven naar de processor, het geheugen en de harde schijf. Het zorgt dat multitasking mogelijk wordt en dat meerdere systeemprocessen semi-gelijktijdig functioneren. Eigenlijk al die taken die door POSIX-1 zijn gedefinieerd (zie http://en.wikipedia.org/wiki/POSIX). GNU wordt dit jaar 30 jaar, maar het totale besturingssysteem GNU/Hurd wordt niet grootschalig gebruikt. Je kan het GNU/Hurd-besturingssysteem downloaden op www.gnu.org

 Afbeelding: Richard Stallman

 

Afbeelding: GNU-logo

Minix

 Omdat het door AT&T niet meer toegestaan was de source code publiek te gebruiken voor zijn educatieve doeleinden, besloot ook de Nederlander Andrew Tanenbaum een eigen UNIX-achtig, compact besturingssysteem te maken als begeleidend materiaal bij zijn studieboek over besturingssystemen in 1987. De eerste versie van dit educatieve open source (maar niet gratis) besturingssysteem was MINIX 1.0 (een mini-UNIX) en het draaide op de inmiddels betaalbaar geworden Intel-gebaseerde PC’s. Minix is zeer compact en wordt nog steeds actief onderhouden. Je kunt Minix downloaden op www.minix3.org

 Afbeelding: Andrew Tanenbaum

Afbeelding: MINIX logo

Linus Torvalds

In 1991 werkte de Finse student Linus Torvalds met Minix en besloot het op te waarderen naar een gratis bruikbaar besturingssysteem in plaats van een puur educatieve omgeving. Omdat aanpassen van Minix te veel tijd zou kosten, besloot hij een compleet nieuw besturingssysteem te ontwikkelen, dat geïnspireerd was op Minix en GNU. Het nieuwe besturingssysteem werd uiteindelijk Linux gedoopt. Omdat je niks hebt aan een besturingssysteem zonder applicaties, besloot Linus Linux zo te ontwikkelen dat de programmeeromgeving (met name de libraries(*16)) compatibel is met de gangbare POSIX-standaarden. Applicaties draaiend op andere commerciële UNIX-versies hoeven dan in principe slechts opnieuw te worden gecompileerd op Linux.

De eerste versie van Linux was dan ook een UNIX-achtig besturingssysteem voor de betaalbare PC met een 386-processor, met dezelfde multitasking mogelijkheden als UNIX. Dit was overigens nog zonder netwerk en zonder grafische bedieningsmogelijkheid. Linux vormt de kernel van het besturingssysteem. Linux – de kernel – zit vol met stuurprogramma’s voor devices, ondersteuning voor bestandssystemen en tegenwoordig ook netwerkprotocollen en dergelijke. Naast de kernel vormen tools en applicaties een belangrijk onderdeel van Linux. Ze vormen namelijk het userland (*17).

 

Afbeelding: Linus Torvalds

 Linus besloot uiteindelijk om Linux onder de GPL-licentie ter beschikking te stellen. Veel tools en applicaties die door het GNU-project zijn ontwikkeld, zijn te compileren op Linux, doordat Linux POSIX ondersteunt. Feit is dat nagenoeg alle Linux-versies van dit moment veel van de GNU-onderdelen bevatten. We spreken daarom tegenwoordig van GNU/Linux, maar in de wandelgangen en ook in Linux Magazine wordt dit ingekort tot Linux. In 1994 is GNU/Linux 1.0 beschikbaar gekomen, Linux wordt dit jaar dus 20 jaar. Het versienummer 1.0 geeft de versie van de Linux-kernel weer. In de loop van de jaren is Linux (de kernel) regelmatig bijgewerkt en verbeterd, waarbij het versienummer voor de hoofdversie (voor de punt) en de subversies (achter de punt) zijn verhoogd. De meest recente versie is 3.13.1 (www.kernel.org). Is Linux nu UNIX? Nee, Linux is UNIX-achtig. Het handelsmerk UNIX is alleen voor besturingssystemen, die gecertificeerd zijn door The Open Group. In theorie zou je best GNU/Linux kunnen laten certificeren om het GNU/UNIX te noemen, maar dat kost (jaarlijks) geld en dat druist helemaal in tegen de open source en GPL-filosofie. Je vindt Linus op Google+: https://plus.google.com/+LinusTorvalds/posts

 Afbeelding: Linux logo

 Open source BSD

 Je zou bijna vergeten dat er nog een andere belangrijke open source-afsplitsing is ontstaan naast GNU en Linux. De eerdere BSD-versies werden BSD-UNIX genoemd en bevatten ook broncode van AT&T. Toen later de AT&T-code is verwijderd en opnieuw is geschreven, is de term UNIX komen te vervallen. Uiteindelijk zijn er een viertal spin-offs gekomen van BSD, namelijk FreeBSD (www.freebsd.org), OpenBSD (www.openbsd.org), NetBSD (www.netbsd.org) en de jongste telg in de familie is DragonFly BSD (www.dragonflybsd.org). De BSD-besturingssystemen vallen niet onder de GPL-licentie, maar onder een eigen BSD-licentie. De BSD-licentie is eveneens een open source-licentievorm, maar het is hierin wel toegestaan binaire versies (dus zonder source) te verspreiden. Dit maakt in principe BSD erg geschikt als ingebed besturingssysteem in allerlei devices en dingen (bijvoorbeeld voor ons toekomstige Internet of Things).

 

Afbeelding: FreeBSD logo

*15) Kernel – Softwaregedeelte dat het hart vormt van een besturingssysteem en directe interactie heeft met de hardware, door bijvoorbeeld stuurprogramma’s. Voorbeelden zijn het lezen en schrijven naar de processor, het geheugen en de harde schijf. Het zorgt dat multi-tasking mogelijk wordt en dat meerdere systeemprocessen semi-gelijktijdig functioneren. De kernel is een afgeschermd gebied.

*16) Library – een soort verzameling bibliotheken met kant-en-klare stukjes software, die door programmeurs direct aangeroepen worden, waardoor basisfunctionaliteit meteen beschikbaar is, zonder alles zelf te moeten ontwikkelen.

 *17) Userland – Het deel van het besturingssysteem dat buiten de kernel draait, waaronder de gebruikersapplicaties, maar ook de libraries van het besturingssysteem. Het GNU-userland is bijvoorbeeld de benaming voor de GNU-tools, die aan een besturingssysteem zijn toegevoegd.

*18) Tijdlijn (timeline) – een grafisch overzicht in de tijd gezien, van de ontwikkeling van een product of bedrijf, met relaties tussen de diverse producten.

 

Bewogen verleden

 Veel fabrikanten zijn in de loop der jaren gestopt of overgenomen en de UNIX-versies zijn eveneens aan een einde gekomen of opgenomen in andere UNIX-versies. Anderen adopteren met succes UNIX in hun productlijn (denk aan Apple en Google). Parallel aan dit alles zien we de opkomst van open source UNIX-achtingen als FreeBSD en Linux. Als je deze ontwikkelingen allemaal in een schema zou verwerken met onderliggende relaties, krijg je een mooie tijdlijn (*18). En dat is precies wat Andrew J. Brehm gedaan heeft op  www.netneurotic.de/mac/unix/images/UNIX.png. In dit plaatje zie je een overzichtelijk grafische tijdlijn, die de grote lijnen weergeeft tot en met 2003. Een completere en indrukwekkende UNIX/Linux-tijdlijn is gemaakt door Éric Lévénez. Je vind deze op www.levenez.com/unix. Deze tijdlijn loopt tot en met 2013 en bevat zo’n beetje elke UNIX- en Linux-variant, die ooit bestaan heeft. Je ziet hier duidelijk in terug dat er meer dan één Linux-versie is om uit te kiezen. Overigens, we hebben weliswaar maar drie Windows 8 versies om uit te kiezen, maar Windows heeft samen met DOS eveneens een roerige ontwikkeling doorgemaakt. Éric Lévénez heeft ook een DOS/Windows-tijdlijn gemaakt, die leuk is om eens te bekijken (www.levenez.com/windows).

 UNIX vs Linux anno 2014

 Linux op server

In de laatste Linux Magazine van 2013 lazen we in het artikel ‘Linux in de lift’ al, dat UNIX in het datacenter aan het afnemen is. Ongeveer 12 procent van de servers draait volgens UNIX. Welke UNIX-versies zijn dit dan? The Open Group geeft antwoord, want om jezelf UNIX te mogen noemen, moet je gecertificeerd zijn. Aan de UNIX 03 standaard voldoen: HP-UX 11i, IBM AIX 5 en 6, Oracle Solaris 10 en 11, Fujitsu Solaris 10, Inspur K-UX 2. Van alle servers zou volgens IDC al 21 procent Linux draaien. De groei in Linux wordt vooral veroorzaakt, doordat organisaties commerciële UNIX-versies vervangen door open source Linux-versies.  Linux was in eerste instantie ontwikkeld voor de Intel 80386 en hoger, maar is door fabrikanten en de community geport naar 64-bits processoren van Intel en AMD en voor RISC-processoren, zoals de PowerPC, de SUN SPARC en andere. Windows Server is echter nog steeds de marktleider in de datacenters. In principe kan elke Linux-versie als server worden ingezet.

 Linux op de desktop

Op de desktop (en laptop, netbook) komen we UNIX nog maar zeer weinig tegen. Het marktaandeel van Linux is ietsje groter, maar toch maar 1,5 procent. Mac OS X heeft een marktaandeel van ongeveer 7 tot 8 procent. Dat betekent dat Mac OS X UNIX (we mogen het UNIX noemen, omdat The Open Group Mac OS X heeft gecertificeerd!) eigenlijk best een aardig marktaandeel heeft. Mac OS X is geen open source en een commercieel besturingssysteem. Op de desktop en laptop wordt het merendeel gebruik gemaakt van closed source besturingssystemen en dan met name Microsoft Windows. Onderzoeken laten hierbij geen onderscheid zien tussen zakelijk gebruik en thuisgebruik. Linux wordt waarschijnlijk meer thuis dan zakelijk op de desktop/laptop gebruikt. Analyses die door bedrijven op internet worden uitgevoerd, tonen niet aan dat Linux ‘op internet werkplekken‘ veel wordt gebruikt (dat is immers de genoemde 1,5 procent), maar misschien worden de Linux werkplekken vooral voor andere activiteiten gebruikt (studie, gamen en dergelijke). Uit ons lezersonderzoek van eind vorig jaar blijkt dat 70 procent van de lezers met Linux werkt op de primaire werkplek/device, maar omdat we grotendeels Linux-aanhangers zijn, vormt dit geen correcte weergave van de markt, dat moge duidelijk zijn.

 

Afbeelding: Mac OS X: UNIX maar geen open source

Linux op smartphones en tablets

Totaal anders is het voor smartphones en tablets. Hier zien we het op de BSD-kernel gebaseerde besturingssysteem Apple iOS aan de top staan (meer dan 50 procent) en het op Linux gebaseerde Android op de tweede plek (een procent of 30). iOS is natuurlijk closed source maar Android is open source (zie http://source.android.com). Windows heeft op deze devices (nog) geen rol van betekenis.

Linux dingen

Dit nummer gaat over Internet of Things. We zagen elders in dit nummer al dat Linux steeds meer wordt gebruikt in allerlei ‘dingen’ die we niet direct computer, telefoon of tablet kunnen noemen. We komen Linux tegen in mediasystemen, dvd-spelers, fotocamera’s, robots, drones, home automation devices, routers en access points, slimme brillen en slimme horloges, lampen, game consoles, navigatiesystemen, smart TV’s mini/micro-systemen en single-board computers als de Raspberry Pi, bewakingssystemen, IVI-systemen (In-Vehicle-Infotainment). Intel komt met een wearable Linux ‘PC’ ter grootte van een SD-kaartje met Linux voor toepassingen waar we alleen nog maar van kunnen dromen. Hoeveel ‘dingen’ er op Linux draaien is niet bekend, maar datzelfde geldt voor de dingen die een BSD-versie, een bedrijfseigen ingebedde besturingssysteem of een uitgeklede Windows-versie gebruiken.

 Samenvatting

 We weten nu waar de roots van Linux liggen en waar het globaal voor gebruikt wordt. We hebben nog niet hoeven te “werken” in dit tweede deel van de workshop, maar in deel 3 van de workshop gaan we eindelijk aan de slag met Mint als virtual machine. Mint? Ja, Mint. Heb je vragen over deze overstapserie? Mail naar marcel@linuxmag.nl