Search

Archives

Pages

Op mijn desktop:

Suggesties, commentaar, ... (klik of schrijf zelf:)e-mail webgang
Laatste titels:

Minix 3

Uitzending do 18:00 ** November 24th, 2011 by wim.webgang **

Verjaardag
1 minuut stilgestaan bij de 12e verjaardag van de samenstelling van het vorige webgang team met Lydia, die in Australiƫ een lokale BA aan het worden is.

Minix versie 3
Open Source besturingssysteem van Andrew Tanenbaum (zie verder): www.minix3.org.

Tanenbaum: microkernels en betrouwbaarheid

Andrew Tanenbaum is een Prof die hoofd is van de Afdeling Computersystemen van de Nederlandse Vrije Universiteit van Amsterdam, en bekend door zijn analyse van de polls bij verkiezingen in de VS. Maar in de unix-wereld geniet hij vooral bekendheid door theorie over besturingssytemen en zijn eigen unix versie die hij Minix noemde. In 1987 diende Minix om studenten te leren hoe een besturingssysteem werkte, maar hij schreef er een boek over dat gedetailleerd de broncode uitlegde, en de hele broncode was bijgeleverd. Zo onstond op internet al snel een groep van duizenden volgelingen die over het systeem discuteerden, het uitprobeerden, en er aan werkten.
Het was een inspiratie voor Linus Torvalds, die toen hij met de Linux kern begon, zijn project bescheiden voorstelde als een hobby-project, maar “zonder Minix code”. (correctie op wat gezegd werd: niet zo groot als minix – eigenlijk zei hij niet zo groot als gnu, wat verwijst naar de GNU programmeertools als gcc, de c-compiler “won’t be big and professional like gnu”)
Minix is ondertussen toe aan Minix3, en is onder een BSD licentie te vinden op www.minix3.org.

Tanenbaum ging van bij het begin uit van een kleine kern van het operating systeem, die vooral de andere processen in het oog houdt. Belangrijke taken van het besturingssysteem, als bestandssysteem, procesbeheer enz wordt uitgevoerd als aparte modeles die een niveau onder de kern staan, en dit in tegenstelling tot de meeste andere besturingssystemen waar een “monolitische kern” gebruikt wordt, die alle taken van het besturingssysteem zelf uitvoert.

De Franse Linux website linuxfr.org publiceerde een interview met Tanenbaum, waarin natuurlijk Linux ook als onderwerp aan bod komt naast Minix.

Daarin vertelt hij dat hij zelf niet veel meer aan de code van Minix3 schrijft, maar dat er 3 full time programmeurs mee bezig zijn, en dat het goed vordert. Ze krijgen wel input van buitenaf, maar verkiezen externe code wel zelf te integreren.

Een eigenschap van Minix is dat de drivers, die de verbinding met hardware vormen, en dikwijls oorzaak van fouten en een “crash” zijn, door Minix zelf gemonitored worden. Als Minix ziet dat de driver crasht, zal ten eerste de Minix kern niet crashen, maar wel de driver herstarten. Daarbij kan de vraag gesteld worden of je de fouten dan niet in stand houdt. Maar als je een dubbelen reaktie hebt kan je zowel de werking van het lopend systeem garanderen, als de fout melden waardoor de code kan gecheckt worden.

Bovendien wordt eraan gewerkt om alle componenten behalve de kleine microkern, te kunnen “updaten” in een draaiend systeem. Dat betekent dat een fout in een driver kan gemeld worden, het probleem kan opgezocht en verholpen worden, en dat de betreffende code kan vervangen worden zonder het systeem uit te schakelen. Dat is ideaal voor systemen die echt 24 uur op 24 moeten draaien, en die niet mogen of kunnen herstart worden.

Momenteel wordt er gewerkt aan compatibiliteit met BDS, zodat je BSD programma’s kan draaien op de Minix3 kern. BSD wordt ondermeer gebruikt door Apple in zijn OS-X. Tanenbaum mikt meer bepaald op variant NetBSD, gekend als een stabiel en volwassen systeem, met een 8000 software packages.

BSD heeft ook een andere licentie als Linux, en Tanenbaum ziet daar een groot voordeel in. Het succes van Linux tov bv BSD is volgens hem niet te danken aan de GPL-licentie (tov de BSD-licentie), maar wel aan een rechtszaak in de jaren 90 die BSD een tijd van de markt hield, net op het moment dat Linux een grote groei kende. De BSD licentie laat toe dat bedrijven de software aanpassen aan eigen noden, zonder eisen te stellen, de GPL licentie eist dat veranderingen aan het systeem moeten gepubliceerd worden als er een toepassing van wordt verspreid. Ook vind hij niet dat Linux een succes is, eerder ziet hij BSD als een succes, en in het algemeen ziet hij maar weinig open source programma’s die echt dominant zijn, met uitzondering van Apache en gcc. Bovendien zou een bedrijf als Google er hard aan werken om de Linux GPL code uit zijn Androids te vervangen door BSD code, om niet meer onder de verplichting te vallen van de GPL

Er wordt ook gewerkt aan het gebruiken van multi-core processoren zoals de Intel SCC chip die 48 kernen heeft, maar het is moeilijk. Ze focussen er vooral op hoe een of meer kernen het werk van de andere kernen kunnen checken om zo het systeem nog betrouwbaarder te maken. En dat ligt in de lijn van de algemene doelstelling van Minix3; voor de gebruiker zou het een systeem moeten zijn dat nooit crasht, of in cijfers ten hoogste een keer in 50 jaar.

Dat zou ten koste kunnen gaan van de snelheid, hoewel Tanenbaum niet denkt dat dat een grote rol speelt. Voor de eindgebruiker maakt een paar percent verschil in processorsnelheid geen enkel merkbaar verschil uit.

De Europese Onderzoeksraad heeft geld vrijgemaakt voor Minix; er werd 2,5 miljoen Euro voorzien voor de ontwikkeling, en nog een bijkomend bedrag voor de commercialisering ervan. Om de kans op toepassing in de industrie nog uit te breiden wordt vanaf januari aan een versie gewerkt voor de AMD processor.

Tanenbaum zit in ieder geval een mooie toekomst weggelegd voor microkernels, en dus ook voor Minix3.


Linus is nog dikwijls ondervraagd over het Minix-Linux verschil, en soms licht dat ook een tipje van de sluier op, zoals hier (http://yarchive.net/comp/minix.html) waar hij uitlegt waarom hij *toen* het micro-kernel idee, zoals toegepast in de *toenmalige* minix versie, niet volgde.

Lift ^ | Lift v | Comments Off

Comments are closed.