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 .
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.
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.
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 .
Mac operációs rendszer | |
---|---|
Alkalmazások | |
segédprogramok |
|
Technológia és felhasználói felület |
|
Mach és Mach-szerű operációs rendszerek | |
---|---|