Sun Microsystems heeft vorige maand het eerste stuk broncode van zijn besturingssysteem Solaris 10 vrijgegeven. De nieuwe versie van die Unix-variant brengt veel veranderingen, zowel in de open licentie als in de technologische inhoud.
|
Daarnaast heeft versie 10 van Suns Unix-variant een reeks verbeteringen op systeemniveau die de notie van massagoed moeten ontkrachten. Dit omvat onder meer ‘zelfgenezing’ in combinatie met prognoses van de systeembelasting en hardwarebetrouwbaarheid (predictive self healing), het nieuwe bestandssysteem ZFS (Zettabyte File System), Linux-compatibiliteit middels Janus, versie 4 van NFS (Network File System), partitionering van het besturingssysteem zelf en DTrace (Dynamic Tracing).
Dynamic Tracing
Laatstgenoemde is het eerste vrijgegeven stuk software van Solaris 10. DTrace is ook een van de meest opvallende technologische vernieuwingen. Dit paradepaardje van Solaris 10 is in de kern een analysetool voor ontwikkelaars, maar het heeft ook veel nut voor systeembeheerders. DTrace maakt het mogelijk applicaties op proces- en thread-niveau te analyseren.
“Voorheen moest je een debug-kernel booten voor een dergelijke analyse. Dat is niet altijd goed, onder meer omdat je dan een andere memory map hebt doordat je net vers bent geboot”, legt Solaris-kernelontwikkelaar Joep Vesseur uit. “Je hebt liever een analyse van en door een draaiend systeem.”
DTrace bevindt zich op de grens tussen userland en de kernel, aldus de Nederlandse Solaris Engineer. De kernel-kant zit ‘m in de monitoren (probes) voor specifieke, elementaire componenten. Er zijn op dit moment ruim veertigduizend probes die DTrace kan activeren. Daarnaast zijn er nog extra probes voor specifieke processen. “Je kunt in wezen voor elke instructie in elke applicatie een probe draaien.” Standaard zijn die monitoren niet allemaal geactiveerd, want dat kost toch wel prestatieniveau. Echter niet zoveel als je zou verwachten, aldus Vesseur.
Openheid licentie Solaris 10 komt uit onder de CDDL-licentie (Common Development and Distribution License), die onlangs is goedgekeurd door open-source-organisatie OSI (Open Source Initiative). De broncode voor Solaris 10, die is te compileren tot een werkend besturingssysteem, komt in het tweede kwartaal van dit jaar uit op de website OpenSolaris.org. Tot die tijd brengt Sun alvast delen van de code uit, zoals de systeemapplicatie DTrace. Sun moet namelijk nog enkele code-elementen juridisch afstemmen voor het vrijgeven van de broncode. De commerciële uitvoering van Solaris zal dan ook wat meer bevatten dan het uiteindelijke OpenSolaris. Toch is er kritiek op de manier waarop Sun Solaris 10 opent. Het bedrijf hanteert hiervoor de CDDL die ontwikkelaars niet beschermt tegen patentaanklachten. Zo is het in theorie mogelijk dat een ontwikkelaar die bijdraagt aan OpenSolaris zijn eigen werk niet mag distribueren zonder permissie van een bedrijf dat een toepasbaar patent bezit. Indien Sun wel een overeenkomst heeft met zo’n patenthouder, mag de Solaris-eigenaar de bijdrage wél distribueren. Daarnaast heeft open-source-goeroe Richard Stallman kritiek op Suns vrijgeven van zestienhonderd patenten, wat namelijk ook onder de CDDL gebeurt. |
Bestandssystemen
Het nieuwe besturingssysteem is ook op andere terreinen verbeterd. NFS 4, wat overigens een protocolversie is en niet Suns implementatieversie, dwingt nu beveiliging af en kan commando’s in één keer uitvoeren, zoals het openen, lezen, bewerken en sluiten van een bestand op de server. Dit is gecombineerd met het tijdelijk opslaan (cachen) van bestanden op en per client-machine. Dit scheelt dus bandbreedte en serverbelasting. Daarnaast kan een Solaris-10-server zich automatisch melden met zijn functie wanneer de machine is gerepliceerd of geactiveerd na een failover.
Naast het netwerkbestandssysteem is ook Solaris’ interne opslagsysteem aangepakt. ZFS, waarvan de eerste release overigens nog geen systeemboot ondersteunt, moet opslag bevatten in een virtueel gebied. “Één grote zak rijst”, vergelijkt Vesseur. “Je hebt dan volledige end to end data-integratie én een grote capaciteit die is in te delen in pools, vakjes in een letterbak zeg maar.” ZFS heeft namelijk een 128-bits adresseringsruimte. “Dat komt neer op zestien biljoen keer alle moleculen in de oceanen.”
Nutsmiddel
Het voorspellen en corrigeren van fouten (predictive self healing) is gebaseerd op uitgebreide analyse van fouten. Sun spreekt van fault events; de eigenlijke oorzaak van een fout, bijvoorbeeld een harde schijf die problemen heeft en daardoor datacorruptie veroorzaakt, wat een applicatie laat struikelen. De falende applicatie is de fout, maar de disk is de oorzaak.
Solaris 10 heeft pro-actieve actie-agents die oorzaken moeten zien aankomen en fouten voorkomen. Deze agents zijn er nu eerst voor de processoren, het geheugen en de i/o-bus, maar komen later ook voor de andere systeemcomponenten. Deze zelfgenezing ondersteunt ook dynamische herconfiguratie en haakt dus in op Suns strategie voor ict als nutsmiddel (utility computing).
De – opnieuw gereanimeerde – x86-uitvoering van Solaris heeft in versie 10 enkele x86-specifieke toevoegingen. Dit zijn ondersteuning voor hyperthreading op Intels Pentium-4-chips, multimedia-instructiesets SSE en SSE2, cache- en geheugenbeheer op Intel-processoren en AMD’s 64-bit extensies voor de algemene instructieset. Vesseur: “Het duurde een paar weken om AMD64-ondersteuning te implementeren en daarna kostte het ons maar drie dagen om het te laten draaien op Nocona (Intels Xeon met 64-bit extensies – red.).”< BR>
http://www.opensolaris.org