Het heeft heel weinig te maken met hoe MacOS X is opgebouwd.
MacOS X vindt zijn oorsprong in Rhapsody (OpenStep) en NeXT ... De kern van MacOS X draait op een unix-systeem, uitgebreid met Apple eigen toepassingen, bibliotheken en subsystemen en een Window Management-systeem (Finder) gesterkt door een (zeer mooi in elkaar passend) gelaagd model van functionaliteiten, zoals Quicktime bijvoorbeeld, en toepassingen.
Daarbij bestaan het OS in hoofdelijk drie smaken: MacOS X, tvOS en iOS. De systemen delen de kern, maar verschillen ook wezenlijk in functionaliteit en optimalisaties.
In het geval van Microsoft werkt het wezenlijk anders: Windows 10 bestaat voor uit drie groepen:
Desktop, Mobile en Internet of Things-edities ... Daaronder zijn er twee onderverdelingen te maken: processor-architectuur (32bit en 64bit) en markt-segment (met bijbehorende functionaliteit): thuisgebruiker (home), professional (pro), grootgebruik (enterprise), onderwijs (education), mobiel (mobile), mobiel grootgebruik (mobile enterprise) en Internet of Things (als platform voor 'slimme apparaten').
Feitelijk zijn de edities technisch aan elkaar gelijk. Wat verschilt is de functionaliteit die 'aan' of 'uit' staat. Voorbeeld: Microsofts variant op FileVault is Bitlocker. In de thuisgebruikers-editie kun je Bitlocker in beperkte mate aan of uitzetten voor de interne schijf. De opties zijn beperkt. In de 'Professionele' uitvoering kun je Bitlocker volledig gebruiker met alle beschikbare opties.
Welnu, het verschil met Apples aanpak:
De wens van Microsoft is dat code een zekere mate van probabiliteit moet kennen tussen de uitvoering; een programma geschreven voor Windows 10 Desktop, moet tevens kunnen werken op een Windows 10 telefoon.
Zoals zo vaak, het is een streven ...
Waar Windows 10 in vooroploopt op MacOS X zijn de beschikbare variaties en opties ten aanzien van Virtualisatie en in mindere mate Sandboxing. Virtualisatie zit diep in het besturingssysteem verwerkt, hetgeen betekend dat je - mits je de juiste over de juiste licentie van Windows 10 beschikt - je virtuele machines kunt draaien.
Verder kent Windows 10 een aantal omgevingen voor ontwikkelaars, beheerders en gebruikers om het systeem aan te spreken: de desktop grafische interface, de tablet grafische interface (in hetzelfde besturingssysteem), de 'legacy' grafische interface (sterk gelijkend op de oude Windows-toepassingen), de klassieke Command Line ('DOS-prompt'), PowerShell (Een Windows eigen 'terminal omgeving') en binnenkort dus bash met een Linux subsysteem.
Dit subsysteem draait gewoon bovenop de Windows-kernel en niet gevritualiseerd. Dit betekend dat het subsysteem op dezelfde bronnen kan rekenen (en snelheid) als de rest van het systeem. Maar het gaat verder ...
Microsoft heeft een samenwerkingsovereenkomst gesloten met Ubuntu, een van de meest populaire distributies: Ubuntu. Wat men dus eigenlijk heeft gedaan is het incorporeren van het basis linux-systeem, een koppeling gemaakt met de kernel en de rest van Windows zodat je opeens, behalve Microsoft ook Linux-compatible toepassingen zou kunnen draaien. Dat laatste heb ik nog niet bevestigd gezien, daar er ook de nodige koppelingen nodig zullen zijn, zoals een grafische omgeving (een window manager, toegang tot of koppeling met de Windows window manager, etc).
Maar belangrijker nog, daar waar Windows een systeem is vooral gericht op toepassingen en niet zo zeer op processen (of procesketens) zoals unix/linux dat wel doet, introduceert Microsoft hiermee een aantal nieuwe interessante nieuwe mogelijkheden voor Microsoft (Windows) gebruikers: je kunt nog meer toepassingen draaien dan voorheen, je kunt gebruik maken van *nix-like opdrachten en ... scripts ....
Het is een concept dat nu uitgewerkt gaat worden, het brengt tevens (potentieel) de nodige problemen met zich mee. Maar op zich vind ik het idee zo gek nog niet.
Moet je maar eens een complexe find opdracht, met substitute en allerlei randvoorwaarden ingeven op de Command Line in Microsoft Windows: een drama ... Onder PowerShell kan het wel, maar het is voor (niet Microsoft-gezinden) een wat vreemde wereld ... Nu kun je gewoon onder Windows 10 een unix/linux-opdrachtregel ingeven: et voila ... resultaat ...
Ik kan me zo voorstellen dat er in de toekomst Windows-toepassingen ontstaan die leunen op dit subsysteem of .. dat men een manier vind om makkelijk en snel Linux toepassingen geschikt te maken voor Windows.
Maar hiermee is de aanpak van Microsoft diametraal anders dan die van Apple.
Apple MacOS X heeft zijn oorsprong in NeXT/Openstep, Microsoft Windows heeft zijn oorsprong in Windows Network Technology ... Een wezenlijk verschil .
Maar het moet gezegd: ze zijn wel druk bezig daar in Redmond ... Niet alles is mij direct duidelijk waarvoor het zal dienen, maar soms zitten er best leuke dingen bij ...
Ach, na een ietwat 'soft intermezzo' wordt het binnenkort de beurt aan Apple om de industrie (wederom) een boost te geven ...
Tot dan wachten we af ...
/// Disclaimer: het gaat me niet om een 'beter' of 'slechter' discussie te starten hier, maar enkel om inzicht te geven in de technologie die zojuist bij de buren is geïntroduceerd. Immers: we hoeven het niet te lusten, maar notie nemen van kan ons Apple-gebruikers mogelijk tot betere inzichten of nog betere ideeën brengen ...
Hartelijke Apple groet,
Doctor