Van zowel Linux(en), Windows als Unix verschijnen de laatste tijd regelmatig nieuwe versies. Vaak gevolgd door een of meer noodzakelijke updates. Opvallende trend vind ik dat elk van deze besturingssystemen steeds groter wordt, doordat er alsmaar meer functionaliteit in aangebracht wordt. Is dit noodzakelijk? Of kan het anders?
Microsoft Windows Vista was nog maar koud beschikbaar of Windows 7 kwam al op de markt. De laatste Apple Mac OS X Combo Update is maar liefst ruim 950 MB groot. Linux'en buitelen over elkaar heen met als maar meer functionaliteit (en minder bugfixes). Open Solaris is voor meer dan 50 procent anders dan Solaris 10. Zowel in de diverse Linux'en, als in Windows 7, als in Solaris zit tegenwoordig een hypervisor. Open Solaris biedt allerlei nieuwe functionaliteit waaronder netwerkvirtualisatie.
Het lijkt wel alsof elke nieuwe release van een besturingssysteem beter en daarmee groter moet zijn dan de vorige release. En dat is in mijn ogen een slechte zaak. Ooit is een besturingssysteem ontworpen als een simpele doch effectieve laag software die de hardware abstraheert voor de bovenliggende applicaties en die programmatische toegang tot diezelfde hardware faciliteert. Een besturingssysteem heeft dus een complexe taak maar moet tegelijkertijd klein en simpel zijn. Klein en simpel betekent namelijk verminderde kans op bugs, makkelijk onderhoudbaar, minder noodzaak tot patchen en meer overblijvende capaciteit voor de daadwerkelijke applicaties.
Met dit in gedachten hoort een zoekfunctie niet in het OS. En een webbrowser ook niet. Een hypervisor is een grensgeval: er zijn echter al fabrikanten die in hun servers een hypervisor meeleveren als firmware en hiermee de taak van het besturingssysteem vereenvoudigen.
Besturingssystemen horen 'dun' te zijn. En om toch gelijksoortige functionaliteit aan te kunnen bieden als met 'dikke' besturingssystemen is een modulaire opbouw een prima oplossing. Waarom zou een OS niet kunnen bestaan uit een minimale kern aangevuld met modules die dan bijvoorbeeld de functionaliteit van een hypervisor bieden? Of die, hardware specifiek, meldingen uit de hardware doorgeven aan het OS voor verdere afhandeling? En door modules te gebruiken wordt het ook veel eenvoudiger om een en dezelfde release van een besturingssysteem te gebruiken voor zowel embedded systemen, als datacenterservers, als consumentencomputers.
Daarom denk ik dat alle huidige besturingssystemen heel goed dunner en modulairder ontworpen kunnen worden. En dat de hele markt, van consumenten enerzijds tot enterprise datacenters anderzijds, daarmee gebaat is.
Enerzijds heb je gelijk anderzijds vragen gebruikers om al die extra’s. Voor servers kun je die weg laten maar op de desktop wil iedereen altijd alles ook al gebruiken ze dat niet, dat is klaarblijkelijk menselijk . . .
Zolang het voor een ‘simpele’ gebruiker maar makkelijk is om een werkend systeem te krijgen ben ik absoluut voor een modulair systeem.
Het lijkt me dat als al die extra’s als modules op een (paar) schijfjes bijgeleverd worden dat dan iedereen ook gelukkig kan zijn. Men heeft toch alle inhoud bij de hand. Houdt hoogstens in dat mensen die aan hun computer sleutelen af en toe een module dienen te vervangen.
Kijk ook eens naar distributies als crashbang linux, puppylinux, damn small linux, erg klein, allemaal minder dan 100MB, lekker snel en niet eens moeilijk