XNU

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 31. december 2019; checks kræver 3 redigeringer .
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 .

Kernelarkitektur

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.

Mach

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.

BSD

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 .

Noter

  1. Portering af UNIX/Linux-programmer til Mac OS X: Ordliste . Apple Computer (2005). Hentet 27. marts 2009. Arkiveret fra originalen 13. august 2012. "Akronymet står for X er ikke Unix"
  2. iPhone-processor fundet: 620MHz ARM CPU Arkiveret 7. oktober 2018 på Wayback Machine (1. juli 2007)

Links