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
對比單核心和微核心的架構
單核心:
微核心:
SIFT ORB FAST簡單比較
sift 畫素點和鄰域畫素點作比較,得到畫素灰度極值 為了消除邊緣響應,邊緣採用harris角點,fast orb 檢測畫素灰度變化明顯的地方 sift 計算畫素梯度及分布,從而確定旋轉角度 orb灰度質心法 確定影象塊的像素質心,連線幾何中心和質心構成向量,根據此向量確定旋轉角 theta。將關鍵...
ext jquery 簡單比較 jquery
ext jq 1.ext體積大,jquery更專注於簡化最基礎的開發工作.所以使用起來,也就感覺更像是使用原始的js進行開發一樣 2.ext介面美觀,jq一般 3.ext 復用性強 4.ext相容性還是有點小問題,jq相容性良好 5.ext不易除錯,6.ext使頁面是只留下body,搜尋引擎無法收錄...
myisam與innodb簡單比較
myisam 這個是預設型別,它基於傳統的isam型別,它是儲存記錄和檔案的標準方法.與其他儲存引擎比較,myisam具有檢查和修復 的大多數工具.myisam 可以被壓縮,而且它們支援全文搜尋.它們不是事務安全的,而且也不支援外來鍵。如果事物回滾將造成不完全回滾,不具有原子性。如果執行大量的sel...