Waarom Mac OS X werkt op XNU: Kernel Breakdown

5

Je opent de laptop. Klik op de applicatie. Het werkt. De meeste gebruikers kijken nooit onder de motorkap. Dat zou niet moeten. Maar het begrijpen van de engine verklaart waarom Macs zich anders voelen dan Windows-pc’s en Linux-apparaten. Het geheim is geen magie. Het is code. Specifiek de XNU-kernel.

Wanneer u op de aan/uit-knop drukt, wordt de XNU-kernel eerst geladen. Het is de baas van hardware. Het bepaalt hoeveel geheugen aan een toepassing wordt toegewezen. Het beheert de CPU-tijd. Het houdt de schijfstations in de gaten om er zeker van te zijn dat gegevens niet verloren gaan in de ether. Maar XNU is niet helemaal opnieuw opgebouwd. Het is een hybride.

Mach-stichting

De kern van XNU is Mach. Dit is niets nieuws. Het is een product van de Carnegie Mellon University en dateert uit de jaren tachtig. Waarom 80s-code gebruiken? Omdat het werkt. Mach verzorgt het zware werk van virtueel geheugenbeheer. Het kan ook multitasken.

Wanneer je Mac oververhit raakt, komt Mach tussenbeide. Het kan de verwerkingssnelheid van de CPU verminderen. Dit is geen storing. Dit is een functie. Het systeem geeft voorrang aan de overlevingskansen van hardware boven pure snelheid. Je merkt misschien dat de fans sneller gaan draaien of dat apps een beetje achterblijven. Dat is Mach die je silicium beschermt.

I/O-kit: verbindingshub

Vervolgens hebben we de Input-Output Kit. Het maakt deel uit van de kernel, maar heeft een specifieke taak. Het bestuurt apparaatstuurprogramma’s. Die ken je. Dit zijn vertalers waarmee uw printer met uw computer kan communiceren. Zonder deze is de hardware slechts duur plastic.

De I/O Kit maakt gebruik van een speciale, beperkte versie van C++. Het is geen volledige C++. Het is uitgekleed. Efficiënt. Deze laag verwerkt de enorme in- en uitstroom van gegevens. Het beheert verzoeken die van uw Mac naar uw randapparatuur gaan en terug.

Zo kun je tegelijkertijd een USB-muis, een FireWire-schijf en een Thunderbolt-display aansluiten. De I/O Kit jongleert ermee. Geen verwarring. Het verwerkt verschillende technologieën tegelijkertijd. Als u het op sommige oudere pc-architecturen probeert, kunt u driverconflicten tegenkomen. Macs doen dat doorgaans niet.

BSD: Beveiligingsbouncer

De derde pijler van XNU komt van Berkeley Software Distribution (BSD). Het is een UNIX-derivaat. Zie het als een bewaker. Of de uitsmijter bij een exclusieve club.

Wanneer u inlogt, bepaalt BSD uw machtigingen. Beheerders hebben vrij spel. Ze kunnen programma’s verwijderen. Ze kunnen software op systeemniveau installeren. Een standaardgebruiker? Ze krijgen minder. De BSD-laag handhaaft deze regels. Het weerhoudt normale gebruikers ervan dingen kapot te maken. Het synchroniseert ook processen. Het houdt het systeem georganiseerd.

Zonder deze laag zou Mac OS X een chaos van conflicterende rechten zijn. Iedereen kan het systeem wissen. BSD handhaaft de vrede.

Stapelconcept

Ingenieurs beschouwen Mac OS X als een stapel. Dit is een conceptueel model. Onder: hardware en firmware. De volgende is de XNU-kernel. Daarboven: kerndiensten. Vervolgens applicatieservices. Boven: de daadwerkelijke app die u gebruikt.

Deze stapel is belangrijk. Het laat zien hoe de lagen op elkaar inwerken. Nucleaire veranderingen kunnen rimpeleffecten veroorzaken. Het updaten van de GUI breekt meestal niet de kern. De scheiding is opzettelijk.

Kernservices en GUI

De kernservicelaag bevat het raamwerk. Verwerk taken zoals tekstzoekopdrachten in meerdere talen. Biedt systeem-API. Ontwikkelaars gebruiken deze API’s om software te bouwen. Kerndiensten doen het zware werk van het achtergrondwerk.

Het serviceniveau van de applicatie wordt weergegeven. Dit is een grafische gebruikersinterface (GUI). Maak vensters, pictogrammen en cursors. Dit is een communicatiekanaal tussen applicaties. Deze laag maakt het gemakkelijker om tekst uit de browser te kopiëren en in het document te plakken. Zo kunnen applicaties met elkaar communiceren.

Wat betekent XNU?

De naam zelf is een grap. Computeringenieurs houden van slechte woordspelingen. XNU vertegenwoordigt geen complexe afkorting. Dit betekent “X is geen Unix”.

Unix is ​​een ander besturingssysteem. Mac OS X deelt hetzelfde DNA. Maar het is geen Unix. De naam benadrukt dit verschil. Het is respect voor voorouders en verdeeldheid. Het herinnert ons eraan dat, hoewel de Mac is gebouwd op UNIX-principes, hij op zichzelf al een beest is.

De kernel verwerkt het geheugen. De I/O-serie verzorgt de aansluitingen. BSD zorgt voor de beveiliging. De stapel houdt ze bij elkaar. De volgende keer dat u wilt dat uw Mac soepel werkt, onthoud dan de code die het onzichtbare werk voor u doet. Dit is geen magie. Dit is architectuur.

Vorig artikelHoe u een liefdadigheidszoekmachine kunt gebruiken om mondiale goede doelen te financieren
Volgend artikelBegrijp de client/server-architectuur van uw netwerk