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 產品...