XNU kerne | |
---|---|
Type | OS kerne |
Udvikler | Næste , Apple |
Skrevet i | C++ og C |
Operativ system | OS Darwin , macOS , iOS |
Licens | Apple Public Source License 2.0 |
Internet side | opensource.apple.com/sou... |
XNU (akronym for engelsk X er ikke Unix [1] ) er kernen i computeroperativsystemer udviklet af Apple og brugt i macOS -familien af operativsystemer . Kernekilderne er blevet udgivet under en open source-licens (APSL 2.0) som en del af Darwin OS .
Kernen blev oprindeligt udviklet af NeXT til NeXTSTEP OS . Arkitektonisk var det en hybridkerne baseret på Mach mikrokerne version 2.5 (udviklet på Carnegie Mellon University ), komponenter fra 4.3BSD og den objektorienterede drivergrænseflade Driver Kit .
Efter opkøbet af NeXT af Apple blev Mach-mikrokernen opdateret til version 3.0, BSD-kernekomponenterne blev opdateret ved hjælp af FreeBSD -projektet , og driverkittet blev erstattet med en C++ API til drivere kaldet I/O-kittet .
XNU-kernen er en moderne hybridkerne, der kombinerer fordelene ved både monolitiske og mikrokerner, især mikrokernernes evne til at overføre meddelelser til at øge systemets modularitet og beskytte hukommelsen på forskellige moduler, og den høje hastighed af monolitiske kerner i nogle kritiske opgaver .
I øjeblikket kan XNU køre på ARM , [2] x86 , x86-64 arkitekturprocessorer . PowerPC- support er ophørt siden version 10 (dvs. Mac OS X 10.6 ). Både enkeltkerne- og SMP - systemer understøttes.
Kernen i XNU-kernen er den simple Mach -mikrokerne , som kører den monolitiske kerne som en separat proces. Dette giver en vis fleksibilitet (f.eks. kan flere forekomster af en monolitisk kerne køres på en enkelt Mach-forekomst), men det koster også en ydeevne på grund af flere kontekstskift (kernetilstand/brugertilstand) og behovet for at kortlægge eller kopiere beskeder indhold mellem og dæmonadresserummikrokerne- . Under udviklingen af Mac OS X blev mikrokernen udvidet med nogle funktioner i BSD -kernen .
Mach understøtter og administrerer tråde, processer, forebyggende multitasking, meddelelsesoverførsel ( Interprocess Communication ), hukommelsesbeskyttelse , virtuel hukommelse . Kernen har også understøttelse af blød realtid , kernefejlfinding og konsol (tekst) I/O.
Den BSD-baserede del af kernen implementerer POSIX -grænseflader , BSD -systemkald , den Mach-procesbaserede Unix -procesmodel , grundlæggende sikkerhedspolitikker, bruger- og gruppe-id'er, filtilladelser, netværksstak, virtuelt filsystem (inklusive logningslag), flere typer af lokale filsystemer ( HFS / HFS Plus ), NFS -klient og -server, kryptografiske funktioner, System V IPC , revisionsundersystem, obligatorisk adgangskontrol og nogle låseprimitiver. BSD-kildekoden, der bruges af XNU, er delvist nedarvet fra FreeBSD -kernen .
macOS | |
---|---|
Ansøgninger | |
Hjælpeprogrammer |
|
Teknologi og brugerflade _ |
|
Mach og Mach-lignende operativsystemer | |
---|---|