XNU

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 31. prosince 2019; kontroly vyžadují 3 úpravy .
jádro XNU
Typ jádro OS
Vývojář Další , Apple
Zapsáno v C++ a C
Operační systém OS Darwin , macOS , iOS
Licence Apple Public Source License 2.0
webová stránka opensource.apple.com/sou...

XNU (zkratka anglického  X is Not Unix [1] ) je jádrem počítačových operačních systémů vyvinutých společností Apple a používaných v rodině operačních systémů macOS . Zdrojové kódy jádra byly publikovány pod licencí open source (APSL 2.0) jako součást OS Darwin .

Jádro bylo původně vyvinuto společností NeXT pro operační systém NeXTSTEP . Architektonicky se jednalo o hybridní jádro založené na Mach microkernel verze 2.5 (vyvinuté na Carnegie Mellon University ), komponenty z 4.3BSD a objektově orientované rozhraní ovladače Driver Kit .

Po akvizici NeXT společností Apple bylo mikrojádro Mach aktualizováno na verzi 3.0, součásti jádra BSD byly aktualizovány pomocí projektu FreeBSD a sada ovladačů byla nahrazena rozhraním C++ API pro ovladače s názvem I/O Kit .

Architektura jádra

Jádro XNU je moderní hybridní jádro, které kombinuje výhody monolitických i mikrojádrových, zejména schopnosti mikrojádr předávání zpráv pro zvýšení modularity systému a ochranu paměti různých modulů a vysokou rychlost monolitických jader v některých kritických úlohách. .

V současné době může XNU běžet na procesorech architektury ARM , [2] x86 , x86-64 . Podpora PowerPC skončila od verze 10 (tj. Mac OS X 10.6 ). Podporovány jsou jednojádrové i SMP systémy.

Mach

Jádrem XNU jádra je jednoduché Mach microkernel , které provozuje monolitické jádro jako samostatný proces. To poskytuje určitou flexibilitu (např. více instancí monolitického jádra lze spustit na jedné instanci Mach), ale také to stojí za výkon kvůli většímu počtu přepínačů kontextu (režim jádra/uživatelský režim) a nutnosti mapovat nebo kopírovat zprávu. obsah mezi a adresním prostorem démonamikrokernelem . Během vývoje Mac OS X bylo mikrojádro rozšířeno o některé funkce jádra BSD .

Mach podporuje a spravuje vlákna, procesy, preemptivní multitasking, předávání zpráv ( Interprocess Communication ), ochranu paměti , virtuální paměť . Jádro má také podporu pro soft real-time , ladění jádra a konzolové (textové) I/O.

BSD

Část jádra založená na BSD implementuje rozhraní POSIX , systémová volání BSD , procesní model Unix založený na procesu Mach , základní bezpečnostní zásady, ID uživatelů a skupin, oprávnění k souborům, síťový zásobník, virtuální souborový systém (včetně vrstvy protokolování), několik typy lokálních souborových systémů ( HFS / HFS Plus ), NFS klient a server, kryptografické funkce, System V IPC , auditní subsystém, povinná kontrola přístupu a některá zamykací primitiva. Zdrojový kód BSD používaný XNU je částečně zděděn z jádra FreeBSD .

Poznámky

  1. Portování UNIX/Linux aplikací na Mac OS X: Slovník . Počítač Apple (2005). Získáno 27. března 2009. Archivováno z originálu 13. srpna 2012. „Zkratka znamená X není Unix“
  2. Nalezen procesor pro iPhone: 620MHz ARM CPU Archivováno 7. října 2018 na Wayback Machine (1. července 2007)

Odkazy