macOS 內(nèi)核官方稱(chēng)為 XNU。該縮寫(xiě)代表“XNU 不是 Unix”。 根據(jù)蘋(píng)果的 GitHub 頁(yè)面,XNU 是“卡內(nèi)基梅隆大學(xué)的馬赫內(nèi)核與用于編寫(xiě)驅(qū)動(dòng)程序的 FreeBSD 組件和 C++ API 相結(jié)合的混合內(nèi)核”。 代碼的 BSD 子系統(tǒng)的部分是“通常實(shí)現(xiàn)為微內(nèi)核系統(tǒng)中的用戶(hù)空間服務(wù)器”。 馬赫部分負(fù)責(zé)低級(jí)工作,諸如多任務(wù),受保護(hù)的內(nèi)存,虛擬內(nèi)存管理,內(nèi)核調(diào)試支持和控制臺(tái) I/O。
Linux 內(nèi)核的特性
雖然 macOS 內(nèi)核結(jié)合微內(nèi)核(馬赫)和單內(nèi)核(BSD)的特性,但 Linux 只是一個(gè)單內(nèi)核。 單內(nèi)核負(fù)責(zé) CPU 管理,內(nèi)存,進(jìn)程間通信,設(shè)備驅(qū)動(dòng)程序,文件系統(tǒng)和系統(tǒng)服務(wù)器調(diào)用。
Mac 和 Linux 內(nèi)核的一行不同
macOS 內(nèi)核(XNU)比 Linux 時(shí)間更長(zhǎng),是基于 2 個(gè)很早的代碼庫(kù)的組合。 另一方面,Linux 更新,從頭開(kāi)始編寫(xiě),并在更多設(shè)備上使用。