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 .
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.
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.
Čá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 .
Operační Systém Mac | |
---|---|
Aplikace | |
Utility |
|
Technologie a uživatelské rozhraní |
|
Mach a operační systémy podobné Machovi | |
---|---|