Linux

's werelds bekendste Open Source besturingssysteem

De oorsprong van Linux

Anno nu is Linux (ontwikkeld vanaf 1991) 's werelds bekendste Open Source besturingssysteem. Het is betrouwbaar en krachtig en tegelijk makkelijk (en tegen lage kosten) beschikbaar voor elk type gebruik en gebruiker. Het tovert een simpele PC om tot een krachtig werkstation voor meerdere gebruikers of tot een server naar keuze, afhankelijk van de geïnstalleerde software. Inmiddels wordt het dan ook overal en nergens toegepast, variërend van lichtgewicht versies voor allerlei apparaten (embedded Linux), via desktop versies voor de bedrijfs- en thuismarkt, tot versies voor de zwaarste vormen van professioneel gebruik in bedrijfskritische serveromgevingen en op supercomputers.

Maar dat is niet zomaar een verdienste van Linux! Linux profiteert van ontwikkelingen in de moderne computertechnologie, zoals de ontwikkeling van de PC vanaf 1982. En het bouwt voort op de vele verworvenheden van tientallen jaren ontwikkeling van Unix, het besturingssysteem dat vanaf 1969 is ontwikkeld op basis van MULTICS (1964).

Een introductie in "Linux" is dan ook niet compleet zonder een historische terugblik:

jaren 60: MULTICS en Unics

Unix vindt zijn oorsprong in MULTICS (Multiplexed Information and Computing Service), een project van MIT, General Electric en AT&T Bell Labs. Het project ging in 1964 van start met als doel een veilig, veelzijdig en flexibel besturingssysteem als commercieel product te ontwikkelen voor General Electric's GE-645 mainframe. Het project was innovatief, maar door zijn omvang en complexiteit niet meteen succesvol, waardoor Bell Labs er in 1969 uitstapte. MIT en General Electric (later Honeywell) bouwden MULTICS verder uit. Honeywell zou het product vanaf 1970 in de markt zetten en de ontwikkeling uiteindelijk in 1985 staken. In Europa werd MULTICS begin jaren 80 m.n. door Franse universiteiten gebruikt (gedistribueerd door de Groupe Bull).

MULTICS introduceerde vele nieuwe concepten, die vandaag de dag nog steeds hun nut bewijzen. Het werd opgezet als multi-user, multi-tasking en multi-processor besturingssysteem, geprogrammeerd in een hogere programmeertaal: PL/1. De broncode zou bij het besturingssysteem worden meegeleverd. Veiligheid was een belangrijk aspect; er werden veel tests op foutcondities ingebouwd. Omdat MULTICS was bedoeld als high availability besturingssysteem voor mainframes was het modulair van opzet: modules als geheugenbankjes en processor units moesten naar believen toegevoegd of verwijderd kunnen worden in een draaiend systeem (on-line reconfiguration). MULTICS introduceerde o.a. ook het hierarchisch bestandssysteem (boomstructuur van directories, die zowel bestanden als subdirectories kunnen bevatten); directories en bestanden werden beveiligd d.m.v. access control lists.

De MULTICS programmeurs van Bell Labs, Ken Thompson en Dennis Ritchie, besloten bij hun terugkeer om hun kennis over de reeds ontwikkelde technologie te benutten. Zo werd MULTICS in de Bell Labs vanaf 1969 doorontwikkeld, aanvankelijk op een in onbruik geraakte PDP-7 en als leuk maar niet door AT&T gesubsidieerd research project. De voorlopige naam werd Unics, waarin de U staat voor "Uniplexed", een verzonnen term, waarmee de complexiteit van het "Multiplexed" MULTICS werd afgewezen. Unics zou eenvoudiger, simpeler worden, bedoeld voor kleinere computersystemen. (Hier ligt ook de oorsprong van "KISS", een term uit de zgn. Unix filosofie, die staat voor: Keep It Simple, Stupid)

Ken Thompson zou eerst zijn begonnen om zijn persoonlijke favoriet, de door hem voor MULTICS ontworpen game Space Travel, om te zetten naar PDP-7 assembly code. Daarna begon de ontwikkeling van Unics, in de vorm van een klein besturingssysteem, waarin zij MULTICS-concepten toepasten die Unix-achtige systemen tot op de dag van vandaag kenmerken, zoals het hierarchisch bestandssysteem, device files en een "command line interpreter" (shell), maar ook het gebruik van één soort bestanden voor alle soorten toepassingen (het bestand als "byte array", simpele opeenvolging van bytes zonder verdere structuur) en van tekstgebaseerde configuratiebestanden.

jaren 70: Unix; sources en licenties; programmeertaal C

In de jaren 70 zetten de Bell Labs de ontwikkeling van Unix voort in hun Computer Science Research Group: van PDP-7 naar PDP-11 (1970), van PDP-11 assembly code naar C (1972), van kaal systeem naar systeem met text editing & formatting mogelijkheden (troff). De naam Unics werd omgezet in Unix (door nieuwe typesetting in 1971 onbedoeld gespeld als UNIX wat tot op de dag van vandaag het trademark zou blijven). De "Unix Epoch" 1 januari 1970 00:00:00 UTC (ook wel "Unix tijdstip 0" of "Unix dag 1" genoemd) wordt nog altijd gebruikt als startpunt voor tijdberekening in Unix en Unix-achtige systemen (Unix time/POSIX time).

Met name de overstap van assembly code naar de door de Bell Labs (Dennis Ritchie) ontwikkelde hogere programmeertaal C maakte het Unix besturingssysteem porteerbaar naar andere platformen, omdat men alleen de machine-afhankelijke code hoefde aan te passen. Maar AT&T, destijds de grootste telecom aanbieder in de US, mocht van de Amerikaanse overheid Unix niet commercieel in de markt zetten. Om een antitrustzaak uit 1949 af te ronden was namelijk overeengekomen dat AT&T haar telecommonopolie mocht behouden mits zij zich niet op andere markten, zoals de computermarkt, zou begeven en zij via de Bell Labs licenties zou afgeven voor alle niet-telecomgerelateerde technologie (Consent Decree 1956).

Vanwege die overeenkomst en omdat er geen commercieel belang was stelde AT&T in eerste instantie haar complete Unix versies, inclusief sources en machine-afhankelijke code, voor weinig geld via (academische/research) licenties ter beschikking, zonder enige support. Die openbaarheid zou duren tot en met Unix Versie 6 (1975). Je zou bijna zeggen dat Unix, noodgedwongen, een "Open Source" besturingssysteem werd, al moest die term nog uitgevonden worden (wat pas zou gebeuren in het voorjaar van 1998).

De licenties stonden wetenschappers toe de sources van het "UNIX Time-Sharing System", zoals dit multi-user besturingssysteem vanaf 1971 werd genoemd, in hun colleges te gebruiken. In 1977 publiceerde de Australische universitair docent computerwetenschappen John Lions zijn gebundelde Unix colleges uit 1976, mèt kernel sources en commentaar, onder de naam "Lions' Commentary on UNIX 6th Edition, with Source Code" (in 1996 opnieuw uitgegeven met commentaar van diverse Unix goeroes en nog steeds verkrijgbaar). Het boek werd op basis van de academische licentie van AT&T legaal in colleges gebruikt, totdat AT&T in 1979 bij de release van Unix Versie 7 de academische licentie zo veranderde dat de sources niet meer gebruikt mochten worden in de collegezaal: AT&T had de commerciële waarde van haar Unix ontdekt (maar was nog steeds gebonden aan het Consent Decree)!

Het verbod had meerdere belangrijke gevolgen. Het leidde tot eindeloos copiëren van het boek door studenten, die het buiten de collegezaal bestudeerden en bespraken. De sources raakten mede daardoor nog wijder verbreid. Diverse universiteiten stopten de Unix praktijk-colleges en behandelden Unix alleen nog in theorie. De wetenschapper Andrew S. Tanenbaum begon daardoor te denken over manieren om de Unix praktijk terug te krijgen in de collegezaal, wat in de jaren 80 zou leiden tot de ontwikkeling van zijn educatieve compacte Unix-achtige besturingssysteem "Minix".

jaren 80: Unix varianten; BSD; System V; standaardisatie; GNU; de PC

Nadat universiteiten, commerciële firma's en de Amerikaanse overheid lucht hadden gekregen van dat nieuwe revolutionaire besturingssysteem, dat "multi-user" en "multi-tasking" was en op diverse hardware platformen kon draaien, waren er veel licenties aangevraagd. Men ontwikkelde verder op basis van wat er al was, zonder daarbij overigens de naam Unix/UNIX te mogen gebruiken (die was voorbehouden aan AT&T Bell Labs) en zonder enige vorm van samenwerking: er ontstonden diverse varianten van Unix naast elkaar.

Zo ontwikkelde de universiteit van Berkeley, California vanaf 1978 haar eigen Unix variant, de Berkeley Software Distribution (BSD). Deze Unix variant werd al gauw gesponsord door het Amerikaanse Ministerie van Defensie (DARPA), wat zou leiden tot snelle ontwikkelingen, o.a. op het gebied van netwerkondersteuning (ARPANET, TCP/IP).

Diverse fabrikanten van software (bv. Microsoft) en hardware (bv. HP, Digital, IBM, Sun, Apple) gebruikten hun licentie om eigen, commerciële Unix producten te ontwikkelen. De hardwarefabrikanten wilden Unix naar hun eigen hardware porteren, om vervolgens hun Unix variant, zonder sources (closed source), samen met hun systemen (minicomputers en workstations) te verkopen. Na de opheffing van het Consent Decree in 1982 kon AT&T eindelijk ook zelf in de computermarkt stappen en haar Unix tot een commercieel product ontwikkelen met bijbehorende licenties (vanaf Unix System III, 1982).

Deze ontwikkelingen leidden eind jaren 80 tot disputen en tot een sterke behoefte aan standaardisatie. Unix leek de potentie te hebben om uit te groeien tot de industriestandaard voor microcomputers. AT&T's "System V" Unix-versies trachtten in de behoefte aan standaardisatie te voorzien: voor het eerst werkten Unix partners samen en kwam men gezamenlijk standaarden overeen (bv. standaardisatie op basis van de System V Release 4 file system layout en ontwikkeling van de POSIX standaard vanaf 1988).

Maar er waren ook andere ontwikkelingen. Zo was in 1983 de Free Software Foundation (FSF) opgericht door Richard Stallman, die datzelfde jaar een nieuw project startte met het doel te komen tot een vrij verkrijgbaar Unix systeem: het GNU Project.
Binnen de universiteit van Berkeley was ontwikkelaar van het eerste uur Bill Joy verdwenen om samen met anderen Sun Microsystems op te richten (1982; zij zouden SunOS ontwikkelen, gebaseerd op BSD). Ook had zich een groep ontwikkelaars afgesplitst, die BSD wilde ontdoen van de AT&T sources om zo te komen tot een vrije BSD variant (het zouden er vanaf 1991 meerdere worden, zoals FreeBSD en NetBSD).
In 1982 was bovendien de eerste IBM PC met MS-DOS gelanceerd, terwijl Santa Cruz Operation (SCO) erin was geslaagd (1983) om Xenix, de Microsoft Unix variant (1980) voor microprocessor systemen, te porteren naar de Intel 8086 processor.
En in 1984 was door enkele Europese Unix leveranciers (Bull, ICL, Siemens, Olivetti en Nixdorf, bekend geworden als: BISON) het X/Open Consortium opgericht met het doel om op basis van Unix een eenduidige, open besturingssysteem specificatie te ontwerpen. Hiertegen was onmiddellijk verzet gerezen, wat tijdelijk leidde tot een periode van zgn. "Unix wars", maar ook zou uitmonden in de X/Open Portability Guide (XPG), waar de meesten zich omstreeks 1990 achter zouden scharen.

Unix zou zich in de jaren 90, in zijn diverse varianten, verder ontwikkelen tot een robuust maar prijzig besturingssysteem, voor servers en workstations, zeer geschikt voor bedrijfskritische applicaties, zoals databases. Met de verdere ontwikkeling van de PC-architectuur (i386, in 1985) begon zich echter, mede dankzij de hele voorgeschiedenis, langzaam maar zeker de mogelijkheid af te tekenen van robuuste vrij verkrijgbare Open Source Unix-achtige software op zeer betaalbare PC-hardware (IBM PC clones).

jaren 90 - heden: van Unix via Minix naar Linux; 64-bit architectuur; virtualisatie

In 1991 zocht Linus Torvalds, een Finse student informatica aan de universiteit van Helsinki, een alternatief voor het in zijn ogen wel heel krakemikkige en beperkte MS-DOS op zijn PC. Het GNU Project was op dat moment nog niet zo ver dat er een compleet systeem was (de GNU/Hurd kernel was niet klaar) en de vrije i386 Berkeley variant (386BSD) was, door juridische problemen rond code die wellicht onder de AT&T Unix licentie viel, nog niet verkrijgbaar. Dit waren voor Torvalds dus geen alternatieven.
Torvalds kende uit zijn studie ook Minix, het compacte educatieve Unix systeem van Tanenbaum, dat in 1987 was gepubliceerd bij Tanenbaum's boek "Operating Systems: Design and Implementation". Maar dat vormde samen met het boek één copyrighted geheel voor uitsluitend educatieve doeleinden.

Toch begon Torvalds op basis van Minix aan een eigen besturingssysteem te bouwen. Hij wist alles zo te herprogrammeren dat er geen Minix-code meer overbleef. Zo programmeerde hij uiteindelijk de kernel van zijn eigen Unix variant, door vrienden aangeduid als Linux, Linus Torvalds' Unix. Op 5 Oktober 1991 publiceerde hij de eerste officiële versie (0.02) van zijn Linux op het Internet. Het avontuur om de PC tot Unix-achtig workstation te maken, passend binnen een krappe studentenbeurs, was begonnen!

Linux heeft sindsdien een stormachtige ontwikkeling doorgemaakt, mede dankzij het feit dat Torvalds ging samenwerken met het GNU Project en er in 1992 voor koos om Linux voortaan onder de GNU GPL licentie uit te brengen, waardoor het mogelijk werd Linux commercieel te gebruiken. Vele ontwikkelaars maken en onderhouden sindsdien Linux toepassingen. Via Internet en e-mail wisselen velen van hen onderling en met gebruikersgroepen kennis en ervaring uit. Ontwikkeling en beheer van de Linux kernel berusten nog steeds bij Torvalds zelf: tot op heden beslist hij over elke nieuwe kernel release. Linux wordt inmiddels uitgebracht in de vorm van algemene of meer op een specifieke toepassing gerichte distributies ("distro's"). Een voorbeeld van zo'n algemene distributie is de omvangrijke Debian GNU/Linux distributie, waarop onze Tux4u®/Penguin Suite Linux distributie gebaseerd is.

Unix werd groot in de academische wereld, waar men zelf programma's ontwierp om de eigen onderzoeksresultaten mee te verwerken; dat droeg bij aan een serieus imago. Ook Linux ontstond in de universitaire wereld. Het speelse, studentikoze aspect is in Linux nog zichtbaar aanwezig, bv. in de voorkeur voor woordspelingen in namen van toepassingsprogramma's en projecten ("less" als equivalent van het Unix commando "more"; GNU: "GNU's Not Unix"; Wine: "Wine Is No Emulator") en de voorkeur voor diverse diersoorten als logo of mascotte, zoals de gnoe voor het GNU Project en de pinguïn "Tux" voor Linux. De hackers mentaliteit van ontwikkelaars van het eerste uur is eveneens nog zichtbaar, nl. in de nu bijna spreekwoordelijke (intrinsieke) veiligheid van Linux en Linux toepassingen. En ook in diverse functionaliteiten, zoals ondersteuning van bepaalde hardware, die er zonder die mentaliteit niet geweest zouden zijn, omdat diverse hardware fabrikanten, zeker in de begintijd, niet mee wilden werken aan Linux-ondersteuning voor hun "proprietary" hardware.

Bij Linux leidden deze aspecten in eerste instantie tot een reputatie van niet serieus te nemen "studentikoos hackersplatform", een schromelijke onderschatting van de potentie van Linux. Maar Linux is dat stadium inmiddels ruimschoots ontgroeid. Het is uitgegroeid tot een professioneel Open Source besturingssysteem, dat overal terrein wint, ook in de traditionele Unix en Microsoft markten en ook op de desktop. Omdat het stabiel en veilig is, zoveel architecturen en documentformaten ondersteunt, keuzevrijheid biedt, verkrijgbaar is tegen lage kosten, bevrijdt van de gevreesde vendor lock-in.

Het is groot geworden als de L in LAMP (Linux met Apache webserver, MySQL en PHP/Perl/Python) voor webhosting servers. Het draait op mainframes en supercomputers (zoals IBM's "Sequoia", supercomputer voor astronomische toepassingen, operationeel vanaf 2012). Het wordt gebruikt voor de serverparken voor Internet en de "renderfarms" in de filmindustrie (Disney/Pixar, DreamWorks). En het zit (als "embedded Linux") verborgen in allerlei apparaten, zoals smartphones (Google's Android), routers en firewalls (Cisco, LinkSys, AVM FRITZ!Box), digitale piano's (Roland).

Linux ondersteunt vanzelfsprekend de hedendaagse 64-bit architectuur (bv. AMD64). Vanuit de Unix markt wordt Linux inmiddels ook omarmd, meestal als extraatje, naast het eigen besturingssysteem. Zo heeft bv. IBM zich ontpopt als fel promotor van Linux. Anno nu ondersteunt IBM vooral de Enterprise distributies van Red Hat en SUSE , maar in 2000 schreef IBM geschiedenis door haar nieuwe 64-bit besturingssysteem z/OS (voor haar zSeries 64-bit mainframe) uit te brengen mét "Linux on zSeries" als tweede besturingssysteem. Opeens had de IBM klant er een keuzemogelijkheid bij!

Nu Linux geporteerd is naar diverse legacy Unix processoren (PA-RISC, SPARC, Alpha) draait het op servers in bedrijfskritische omgevingen naast Unix- en Microsoft-platformen, fysiek of virtueel van elkaar gescheiden. Op o.m. webhosting servers gebruikt men graag de combinatie van Linux als besturingssysteem samen met zgn. "operating system virtualisatie software" zoals Linux-VServer, waardoor meerdere Linux systemen naast elkaar op een en dezelfde server kunnen draaien (wat o.a. leidt tot efficiënt gebruik van de hardware, terwijl klanten slechts toegang hebben tot hun eigen account op een van de virtuele Linux systemen).

Ook de koppeling van Linux met Microsoft producten is op diverse manieren gerealiseerd:

  • Door Linux toepassingen, naast andere formaten, ook Microsoft formaten te laten ondersteunen (OpenOffice.org).
  • Door de mogelijkheid te creëren om MS-Windows software op een Linux systeem te laten draaien (Wine).
  • Door de mogelijkheid om een Linux systeem over het netwerk met een MS-Windows systeem te laten communiceren via het SMB protocol, waardoor bestanden (en printers) van het MS-Windows systeem gedeeld kunnen worden (Samba).
  • Door gebruik te maken van technieken voor terminal emulatie, zoals het Remote Desktop Protocol (RDP) van Microsoft of het platform-onafhankelijke Virtual Network Computing (VNC), waardoor men vanuit de eigen Linux-omgeving (ingericht als RDP client of VNC viewer) rechtstreeks in de grafische Desktop-omgeving van een MS-Windows machine (ingericht als RDP of VNC server) kan werken.
  • Door de mogelijkheid om MS-Windows naast Linux te installeren op een andere partitie van de boot disk van een computersysteem (dual boot configuratie).
  • Door gebruik te maken van virtualisatie-technieken, waardoor MS-Windows als gastsysteem ("guest OS") binnen Linux kan draaien (VMware, VirtualBox, Xen).

Waar de Unix wereld inmiddels gekenmerkt wordt door overnames en bundeling van krachten (Digital-Compaq-HP; Sun-Oracle) teneinde de verworven positie te behouden en tegelijkertijd met pijn in het hart afscheid neemt van diverse legacy processoren (Alpha, PA-RISC), zet Linux haar opmars gestaag voort.


Tux, Linux Logo

Tux
Linux logo/mascotte


GNU Logo

GNU logo


Debian GNU/Linux Logo

Debian
GNU/Linux logo


Tux4u®/Penguin Suite Logo

Tux4u®
Penguin Suite
logo

Powered by Debian button van www.debian.org Tux4u® logo van Tux4u® - iconized Git Logo by Jason Long - shrunk to fit Written in vi - animated gif Powered by PHP logo van www.php.net VALID XHTML 1.0 Transitional