從核心上初步對比macOS和Linux

2021-08-02 23:38:57 字數 882 閱讀 8817

macos核心原始碼官方鏈結

核心概述(我覺得有意思的部分)

os x:完整作業系統

核心:darwin 包含 xnu (混合式核心,包含1. mach微核心,2. bsd層建立在mach之上,3. i/o kit). 有趣的是,xnu's not unix.

xnu給使用者態主要提供bsd的介面,不僅有posix相容的系統呼叫,也有bsd獨有的呼叫。同時也提供少量mach介面(竟然稱之為api)

由於純微核心只有學術價值,因此os x使用的是混合核心。

xnu不是bsd的完整實現,比如bsd的brk()是缺失的;xnu的kext和bsd的kmod不相容。

沒有像linux那樣使用者可見的檔案系統procfs,但還是可以使用sysctl命令

i/o kit是c++實現的,但只用到c++的嚴格子集

開機流程,自行對比linux

(摘自《mac os x for unix geek》一書)

和linux軟硬體對比的個人總結

efi對應bios

nvram對應cmos

boot.efi對應grub

launched對應init

kext對應ko

對比單核心和微核心的架構

單核心:

微核心:

macOS 和 Linux 的核心區別

有些人可能會認為 macos 和 linux 核心之間存在相似之處,因為它們可以處理類似的命令和類似的軟體。有些人甚至認為蘋果公司的 macos 是基於 linux 的。事實上是,兩個核心有著截然不同的歷史和特徵。今天,我們來看看 macos 和 linux 的核心之間的區別。我們將從 macos ...

核心模組和應用程式的對比

應用程式是從頭到尾執行單個任務 模組卻只是預先呼叫初始化函式註冊自己,然後等待以後被呼叫,最後使用exit函式解除安裝自己,從而退出核心。模組僅僅被鏈結到核心,所以它能呼叫的函式僅僅是由核心到處的那些函式。printk就是乙個核心中功能相當於printf的函式,但是printk缺乏對浮點數的支援。使...

對比敏捷開發和IPD的核心思想

敏捷開發一開始除了有核心價值觀外,其實並沒有提到核心思想,但後來發展過程中與精益製造進行了對照,提煉出來一部分核心思想,包括 1 端到端關注價值交付 2 持續改進 3 以人為本 4 消除浪費 5 質量內建 華為花了幾個億從ibm引進了ipd流程,該流程給華為帶來了巨大的生產力,核心思想包括 1 產品...