XNU

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. december 31-én felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .
XNU kernel
Típusú OS kernel
Fejlesztő NEXT , Apple
Beírva C++ és C
Operációs rendszer OS Darwin , macOS , iOS
Engedély Apple Public Source License 2.0
Weboldal opensource.apple.com/sou...

Az XNU (az angol  X nem Unix mozaikszó [1] ) az Apple által kifejlesztett és a macOS operációs rendszercsaládban használt számítógépes operációs rendszerek magja . A kernelforrások nyílt forráskódú licenc (APSL 2.0) alatt jelentek meg a Darwin OS részeként .

A kernelt eredetileg a NeXT fejlesztette ki a NeXTSTEP operációs rendszerhez . Építészetileg hibrid kernel volt, amely a Mach mikrokernel 2.5-ös verzióján alapult ( a Carnegie Mellon Egyetemen fejlesztették ki), a 4.3BSD összetevői és az objektum-orientált illesztőprogram-illesztőprogram- illesztőprogram-készlet .

A NeXT Apple általi felvásárlását követően a Mach mikrokernelt a 3.0-s verzióra frissítették, a BSD kernel összetevőit a FreeBSD projekt segítségével frissítették , a Driver Kit-et pedig egy C++ API váltotta fel az I/O Kit nevű illesztőprogramokhoz .

Kernel architektúra

Az XNU kernel egy modern hibrid kernel, amely egyesíti a monolitikus és mikrokernelek előnyeit, különösen a mikrokernelek üzenettovábbítási képességét a rendszer modularitás növelése és a különböző modulok memóriájának védelme , valamint a monolitikus kernelek nagy sebessége néhány kritikus feladatnál. .

Jelenleg az XNU ARM , [2] x86 , x86-64 architektúrájú processzorokon futhat . A PowerPC támogatása a 10-es verzió (azaz a Mac OS X 10.6 ) óta megszűnt . Mind az egymagos, mind az SMP rendszer támogatott.

Mach

Az XNU kernel magja az egyszerű Mach mikrokernel , amely a monolitikus kernelt külön folyamatként futtatja. Ez némi rugalmasságot biztosít (például egy monolitikus kernel több példánya is futtatható egyetlen Mach-példányon), de teljesítményköltséggel is jár a több kontextusváltás (kernel mód/felhasználói mód) és az üzenet leképezése vagy másolása miatt. tartalom a és a démonmikrokernel . A Mac OS X fejlesztése során a mikrokernelt a BSD kernel néhány funkciójával bővítették .

A Mach támogatja és kezeli a szálakat, folyamatokat, megelőző többfeladatos munkát, üzenettovábbítást ( Interprocess Communication ), memóriavédelmet , virtuális memóriát . A kernel támogatja a soft real-time , a kernel hibakeresést és a konzolos (szöveges) I/O-t is.

BSD

A kernel BSD-alapú része POSIX interfészeket , BSD rendszerhívásokat , Mach folyamatalapú Unix folyamatmodellt , alapvető biztonsági házirendeket, felhasználói és csoportazonosítókat, fájlengedélyeket, hálózati veremet, virtuális fájlrendszert (beleértve a naplózási réteget), számos helyi fájlrendszerek típusai ( HFS / HFS Plus ), NFS kliens és szerver, kriptográfiai funkciók, System V IPC , audit alrendszer, kötelező hozzáférés-vezérlés és néhány zárolási primitív. Az XNU által használt BSD forráskód részben a FreeBSD kerneltől származik .

Jegyzetek

  1. UNIX/Linux alkalmazások portolása Mac OS X rendszerre: Szószedet . Apple Computer (2005). Letöltve: 2009. március 27. Az eredetiből archiválva : 2012. augusztus 13.. "A mozaikszó azt jelenti, hogy X nem Unix"
  2. iPhone processzor található: 620 MHz-es ARM CPU archiválva : 2018. október 7. a Wayback Machine -nél (2007. július 1.)

Linkek