Gebruikershulpmiddelen

Site-hulpmiddelen


linux:architectuur:linux-windows-unix

GNU/Linux, MS-Windows en UNIX

Wie kennis maakt met GNU/Linux 1) ontdekt al gauw dat GNU/Linux in diverse opzichten anders in elkaar steekt dan MS-Windows.
Hoe is dat zo gekomen? Is GNU/Linux een PC-besturingssysteem? En waarom werd GNU/Linux zo'n succesverhaal?

GNU/Linux en MS-Windows: Verschillende werelden!

De oorsprong van GNU/Linux

VAX-11/780, 1978 (www.old-computers.com)

De oorsprong van Linux is UNIX. Het besturingssysteem UNIX werd in 1969 ontwikkeld door AT&T Bell Labs. Het Personal Computer tijdperk was nog niet aangebroken. 2) Een computer was een grote dure machine, die in een computerruimte stond. Om de kosten optimaal uit te baten, deelde je een computer uiteraard met meer gebruikers. Die gebruikers zaten meestal niet in de computerruimte, maar elders in het gebouw achter z.g. “terminals”. De eerste terminals waren een soort elektrische schrijfmachines 3). Later werden die vervangen door “intelligente” video terminals, zoals de beroemde “VT100” van Digital Equipment Corporation (DEC) 4). Weer later, toen Local Area Networks (LAN) in zwang kwamen, werden deze video terminals vervangen door grafische “X-terminals” of door PC's.

In dit landschap is het logisch, dat UNIX meteen voor gebruik door meer gebruikers werd ontworpen. Vanaf de eerste versie was UNIX een “multi-user” operating system. En aangezien meer gebruikers vrijwel automatisch betekent meer gelijktijdig openstaande programma's, werd UNIX dus ook meteen als “multi-processing” besturingssysteem ontworpen. Ook communicatie was van meet af aan belangrijk voor UNIX. Gebruikers moesten immers kunnen communiceren met hun UNIX systeem. UNIX was het eerste besturingssyteem waarop TCP/IP werd ge_i:mplementeerd. UNIX werd groot in de universitaire wereld. Communicatie over Internet was belangrijk. Het concept van het World Wide Web 5) werd op een UNIX NeXT computer ontwikkeld.

De oorsprong van MS-Windows

IBM PC, 1981 (en.wikipedia.org)

De oorsprong van MS-Windows is MS-DOS (1981). MS-DOS was het eerste besturingssysteem voor de IBM PC. MS-DOS was een zeer eenvoudig besturingssysteem: single-user, single-processing, geen gebruikers, geen toegangsrechten. De MS-DOS “kernel” was eigenlijk niet veel meer dan een aantal device-drivers voor beeldscherm, toetsenbord en floppydisk. 6)

Microsoft realiseerde zich natuurlijk heel goed, dat MS-DOS als basis voor MS-Windows niet het eindpunt kon zijn. MS-DOS diende vervangen te worden door een beter, meer UNIX-achtig besturingssysteem. Dat nieuwe besturingssysteem werd “NT” (New Technology, 1993). Alle moderne MS-Windows besturingssystemen (Windows 2000, XP, Vista, enz.) zijn gebaseerd op NT. De sprong naar NT met zijn geavanceerde kernel (multi-processing, multi-user, toegangsrechten, virtueel geheugen) was natuurlijk h_e`t moment geweest om Windows-NT ook in de verdere uitwerking (grafisch systeem, registry, diskgebruik) volledig multi-user te maken. Microsoft was echter zo slim om dat niet te doen: Windows-NT werd (net als zijn opvolgers) ontworpen als een single-user PC-besturingssysteem.

Waarom? Dat had alles met het business model van Microsoft te maken. Dat model was (en is) kort samengevat: “Elke gebruiker op zijn eigen PC met MS-Windows licentie, met daarop uitsluitend Microsoft applicaties met bijbehorende niet-overdraagbare licenties.” Zou Microsoft Windows-NT volledig multi-user gemaakt hebben, dan zou het technisch mogelijk zijn geweest om meer gebruikers gelijktijdig van _e'_e'n Windows- en applicatielicentie gebruik te laten maken. Dat zou het Microsoft business model ernstig hebben ondergraven! Microsoft bond zijn gebruikers dus stevig vast aan zijn PC en MS-Windows. Een strategie die grote gevolgen zou hebben voor onze IT-omgevingen tot op de dag van vandaag. De hele problematiek van “Windows Virtualisatie”, waarbij op een server voor iedere gebruiker een complete virtuele MS-Windows PC moet worden ge_e:muleerd, zou niet hebben bestaan als Microsoft Windows-NT volledig multi-user had ontworpen!

GNU/Linux: Het eigentijdse UNIX

NNSA IBM Sequoia supercomputer, 2013 GNU/Linux is in veel opzichten een exponent van UNIX. Diverse technische concepten en implementaties zoals we die vandaag de dag in GNU/Linux aantreffen vinden hun oorsprong in UNIX:

  • Procesmodel en signalen (kill)
  • Virtueel geheugenbeheer en paging
  • Hi_e:rarchisch bestandssysteem met i-nodes
  • Universeel bestandsformaat (bestand als array van 0 of meer bytes)
  • Platte tekst als basis voor configuratie- en logbestanden 7)
  • Programma's als eenvoudige bouwblokken
  • Complexe opdrachten via pipelines
  • Gedeelde programmabibliotheken (shared libraries)
  • I/O via device files
  • TCP/IP
  • Network sockets
  • X-Windows grafische omgeving

Ook voor het Open Source licentiemodel van GNU/Linux moeten we teruggaan naar UNIX. Ten tijde dat AT&T UNIX ontwikkelde, was het bedrijf onderworpen aan een antitrust “Consent Decree” (1956). Op grond van dit decreet mocht AT&T geen activiteiten ontplooien anders dan telefonie en telegrafie. Bovendien was AT&T verplicht om aan derden tegen een nominale vergoeding licenties te verstrekken op haar patenten. Als gevolg van dit “Consent Decree” kon AT&T UNIX niet als product op de markt brengen. De UNIX activiteiten van AT&T Bell Labs vielen onder research.

De UNIX activiteiten van Bell Labs raakten snel bekend in de universitaire wereld, waarmee AT&T Bell Labs nauwe contacten onderhield. Diverse universiteiten, waaronder de unversiteit van California te Berkeley, toonden belangstelling voor UNIX en vroegen de ontwikkelaars bij Bell Labs om de UNIX software. Deze verzoeken belandden vervolgens bij de patent afdeling van AT&T. Op grond van het “Consent Decree” trok de patent afdeling de conclusie dat AT&T verplicht was om voor de UNIX software een licentie te verstrekken. De patent afdeling van AT&T wilde geen conflict met het ministerie van justitie. Zo verstrekte AT&T op 1 Dec. 1973 een licentie aan de universiteit van California te Berkeley. En wat voor licentie! De universiteit van California te Berkeley kreeg de UNIX software - inclusief source code!! - “as is”, zonder support, vrij van royalties in handen. Vele licenties zouden volgen, niet alleen aan universiteiten, maar ook aan de Amerikaanse overheid en aan commerci_e:le bedrijven. 8)

UNIX werd snel populair in de universitaire wereld. De universiteit van California te Berkeley ontwikkelde zijn eigen UNIX variant “BSD” (Berkeley Software Distribution) en verspreidde die wederom inclusief source code. UNIX was “Open Source” software, al was die term nog niet uitgevonden. 9) Gebruikers en ontwikkelaars werkten samen in de ontwikkeling van programma's. Ontwikkelingen van AT&T werden overgenomen in BSD, verbeterd door gebruikers en vervolgens opgenomen in de volgende AT&T release. BSD leverde belangrijke bijdragen aan UNIX, zoals “remote login” en “network sockets”.

Niet alleen de UNIX software, ook de kennis over UNIX verspreidde zich snel. De UNIX source code werd op grote schaal als lesmateriaal gebruikt in de collegezaal. Professor Andrew S. Tanenbaum gebruikte UNIX in colleges op de Vrije Universiteit van Amsterdam. John Lions, lector aan de unversiteit van New South Wales, bracht de source code van UNIX in boekvorm uit met commentaar: “Lions' Commentary on UNIX 6th Edition, with Source Code”, John Lions, 1976. Studenten raakten hierdoor bekend met UNIX. Zij namen hun UNIX kennis vervolgens mee naar hun nieuwe werkgevers. 10)

Met de release van AT&T version 7 (1979) verbood AT&T echter het gebruik van de UNIX sources in cursussen. In reactie hierop schreef Professor Andrew S. Tanenbaum als bijlage bij zijn boek “Operating Systems Design and Implementation” (1987) een eigen mini-UNIX “MINIX”, vrij van AT&T code. De source code van MINIX was echter niet vrij te verspreiden. De uitgever had bedongen, dat de licentie van MINIX was gekoppeld aan de aanschaf van het boek. Uit frustratie over de licentie van MINIX begon de Finse student Linus Torvalds in 1991 met de ontwikkeling van een eigen UNIX. Met behulp van een MINIX systeem ontwikkelde Linus Torvalds een eigen kernel en porteerde hierop de sources van het GNU project. 11) Ook de Linux kernel kreeg de GNU “General Public License”. Het vrije UNIX “GNU/Linux” was geboren!

GNU/Linux: Een succesverhaal

 AZbox HD digitale satellietontvanger Sind 1991 heeft GNU/Linux een onstuimige groei doorgemaakt. Aanvankelijk werd GNU/Linux door de commerci_e:le UNIX wereld gezien als een hobbyistisch besturingssysteem. Voor professionele toepassingen vertrouwde men liever op AIX, HP-UX, Solaris of het IBM mainframe. Maar in de loop der jaren moest ook de professionele wereld de kracht van het snel volwassen wordende GNU/Linux onderkennen. Vandaag de dag heeft GNU/Linux in feite alle commerci_e:le UNIX systemen achter zich gelaten. Dat de top 10 Supercomputers in de wereld zonder uitzondering een GNU/Linux variant gebruiken, is veelzeggend. Als het aankomt op performance en communicatie in een grote rekencluster is de keuze van het besturingssysteem kennelijk geen punt van discussie meer.

Tegenwoordig komen we GNU/Linux in alle gangbare computertoepassingen tegen:

  • Webserver
  • File/Database/Applicatieserver
  • Desktop PC
  • Supercomputer
  • Cloudcomputing
  • Opslagsystemen
  • Renderfarms t.b.v. animatiefilms (Toy Story, Shrek, Happy Feet, The Croods, etc.)

Daarnaast is GNU/Linux zeer populair als besturingssysteem voor ingebedde systemen (embedded systems):12)

  • Mobiele telefoons (Android)13)
  • Navigatie systemen (TomTom)
  • Satelliet ontvangers (Dreambox, AZbox)
  • Smart TV's (Samsung)
  • Digitale piano's (Roland)
  • Netwerkrouters (Cisco, LinkSys, Fritzbox)
  • Medische apparatuur
  • Robotica

Waarom werd GNU/Linux zo'n succesverhaal? Twee factoren hebben hier een sleutelrol gespeeld:

  • Het ijzersterke UNIX concept
  • De GNU/GPL Open Source licentie

UNIX is een ijzersterk concept voor een besturingssysteem gebleken. Geen enkel concept voor een besturingssysteem is zo vaak gecopieerd: NeXTSTEP, MAC OS/X, iOS, Minix, FreeBSD, GNU/Linux, Android, Tizen, Google Chrome OS. Al deze besturingssystemen zijn gebaseerd op de concepten van UNIX.

Maar zeker zo belangrijk is de keuze van Linus Torvalds voor de GNU/GPL Open Source licentie 14). Daardoor werd co_o:peratieve software ontwikkeling mogelijk. De essentie van de GNU/GPL licentie is, dat wie GNU/GPL software wijzigt, verbetert of er iets aan toevoegt, zijn source code moet publiceren. Innovatie blijft daardoor niet binnen het domein van de ontwikkelaar (closed source), maar kan door andere ontwikkelaars weer als basis gebruikt worden om op voort te bouwen. Commerci_e:le partijen die elkaars concurrenten zijn, kunnen daardoor toch samenwerken. Zo herbergt de Linux kernel zowel innovaties ontwikkeld door HP als door IBM. En van die innovaties plukken wij allen dagelijks weer de revenuen.

Verder lezen

Tux4u® Linux / Open Source & Security Oplossingen: http://tux4u.nl/oss/

.

Copyright © 2013 Integrated Services; Tux4u.nl
Author: Marjan Waldorp; linux-windows 2013-07-19

1)
Wat we doorgaans een “Linux systeem” noemen, is eigenlijk een bundeling van een Linux kernel, de “GNU is Not Unix” programmeer- en applicatie omgeving en andere software.
2)
De IBM PC zou pas in 1981 verschijnen.
3)
TeleType Corporation Model 33. Teletype Model 33 (en.wikipedia.org)
4)
Later overgenomen door Compaq, nu HP
5)
CERN, Tim Berners-Lee, 1990
6)
We moeten bedenken, dat de hardware van de eerste IBM PC ook zeer eenvoudig was. Die hardware was niet te vergelijken met systemen, zoals bijv. de VAX-11/780 (DEC 1978), waar UNIX op liep. De VAX was een “state of the art” computer met een 32-bit (4GB!) virtueel geheugenbereik (VAX = Virtual Address eXchange). De PC zou daarop moeten wachten tot de Intel 80386 (1985).
7)
UNIX werd ontwikkeld vanuit een technische invalshoek. Er was niet alleen aandacht voor functionaliteit, maar ook voor beheervriendelijkheid. Er werd bewust gekozen voor “platte tekst” als formaat voor configuratie- en logbestanden, zodat deze eenvoudig met standaard commando's te inspecteren en te wijzigen zouden zijn.
Microsoft koos voor precies de tegenovergestelde strategie. Om reverse engineering te bemoeilijken, werd met opzet voor ingewikkelde technische implementaties gekozen. Zo was het hacken van Exchange, een extensie op de open IMAP standaard, een technische uitdaging! Uiteindelijk lukte het hacken wel.
8)
Bron: “A Quarter Century of UNIX”, Peter H. Salus, Addison-Wesley, 1994
9)
Open Source Initiative strategy session, February 3rd 1998, Palo Alto, California
10)
Het kon niet uitblijven dat UNIX ontdekt zou worden door de computerindustrie. Diverse hardwarefabrikanten ontwikkelden, veelal op basis van BSD, een eigen closed source UNIX variant: Solaris (Sun), HP-UX (HP), AIX (IBM), Ultrix (DEC), Sinix (Siemens), IRIX (Silicon Graphics), NeXTSTEP (NeXT), enz. Zij boden hun oplossing aan als een goedkoper alternatief voor het dure IBM mainframe, of als high end grafisch werkstation. Toen in 1982 het “Consent Decree” werd opgeheven en UNIX een AT&T product werd, namen de meeste UNIX leveranciers een AT&T SV (system five) licentie. Commercieel UNIX veroverde snel de zakelijke- en overheidsmarkt voor grotere computersystemen. Met de opkomst van GNU/Linux is de betekenis van commercieel UNIX aan het afnemen. Diverse UNIX leveranciers leveren inmiddels naast hun eigen UNIX variant systemen met Linux uit.
11)
GNU is not UNIX, Richard Stallman 1983
12)
intelligente apparaten
13)
Android gebruikt geen X-Windows, maar een eigen grafische omgeving.
linux/architectuur/linux-windows-unix.txt · Laatst gewijzigd: 2018/12/30 17:17 (Externe bewerking)