I/OKit驅(qū)動程序框架 和其他操作系統(tǒng)不同,XNU的獨特之處在于為設(shè)備驅(qū)動程序提供了一個完整的運行時環(huán)境涎永。XNU的設(shè)備驅(qū)動程序運行時環(huán)境稱為I/O Kit,是一個蘋果開發(fā)的...
內(nèi)核擴(kuò)展模塊 類似用戶態(tài)的共享庫或動態(tài)鏈接庫句惯,內(nèi)核擴(kuò)展模塊是內(nèi)核使用的模塊土辩,可以根據(jù)需要動態(tài)插入或移除,而且這個需求通常來自用戶態(tài)抢野。OS X 和 iOS 中的XNU都利用了...
基于B樹的HFS+文件系統(tǒng) 盡管如今的操作系統(tǒng)在驅(qū)動程序的幫助下支持任何的文件系統(tǒng),但是每一個操作系統(tǒng)都會有一個自己“原生”的文件系統(tǒng)各墨,DOS的原生文件系統(tǒng)是FAT指孤。Wind...
文件系統(tǒng)和虛擬文件系統(tǒng)交換 內(nèi)核的一個重要職責(zé)就是管理數(shù)據(jù),這些數(shù)據(jù)既包括用戶數(shù)據(jù)也包括系統(tǒng)數(shù)據(jù)贬堵。為了實現(xiàn)這個目的恃轩,數(shù)據(jù)按照文件和目錄的方式組織,文件和目錄保存在各種類型的文...
BSD 高級功能 內(nèi)存管理 虛擬內(nèi)存管理是在Mach 層進(jìn)程的黎做,Mach 控制了分頁器叉跛,并且向用戶態(tài)導(dǎo)出了各種vm_和mach_vm_消息接口。而用戶態(tài)的開發(fā)者大部分都只知道...
BSD 層 Mach只是一個微內(nèi)核蒸殿。盡管Mach的部分應(yīng)用程序接口(API)也暴露給了用戶態(tài)筷厘,但是開發(fā)者主要使用的還是更為流行的POSIX API,而這一套API 是通過Ma...
Mach 虛擬內(nèi)存 在內(nèi)核管理最重要的資源中宏所,出了CPU本身酥艳,就是內(nèi)存了。Mach 和所有內(nèi)核一樣爬骤,代碼中有很大一部分都在負(fù)責(zé)高效地管理內(nèi)存(virtual memory充石,V...
Mach 調(diào)度 Mach 在核心原語的基礎(chǔ)上實現(xiàn)了很多重要的功能。幾乎所有的功能都和系統(tǒng)資源:硬件設(shè)備霞玄、虛擬內(nèi)存以及CPU本身的管理有關(guān)骤铃。CPU 的管理稱之為調(diào)度(sched...
Mach 原語:一切以消息為媒介 XNU 的核心是Mach 微內(nèi)核。 Mach 是 OS X 和 iOS 的核心中的核心坷剧。盡管Mach 核心被 BSD 層包裝起來了惰爬,而且主要...
內(nèi)核引導(dǎo) 引導(dǎo)XNU XNU 內(nèi)核是一個Mach-O 格式的目標(biāo)文件。引導(dǎo)加載器(EFI 或 iBoot)中包含解析Mach-O 的代碼听隐,可以通過LC_UNIXTHREAD命...
內(nèi)核架構(gòu) 內(nèi)核的基礎(chǔ)知識 所有現(xiàn)代的操作系統(tǒng)在設(shè)計師都包含一個稱為內(nèi)核(kernel)的組件补鼻,是整個系統(tǒng)的核心。內(nèi)核就是操作系統(tǒng)。從高層次看风范,所有運行的應(yīng)用程序?qū)嶋H上是內(nèi)核的...
貫穿始終:launchd 當(dāng)你打開Mac 或 i-設(shè)備的電源時咨跌,引導(dǎo)加載器(OS X:EFI, iOS: iBoot)開始查找內(nèi)核并且啟動內(nèi)核硼婿。不過內(nèi)核只是一個服務(wù)提供者锌半,而...
引導(dǎo)過程:EFI 和 iBoot 引導(dǎo)過程指的是從就計算機(jī)通電那一瞬間到CPU開始執(zhí)行操作系統(tǒng)代碼時的整個過程,這個過程往往是系統(tǒng)啟動過程中被忽視的一部分寇漫。在這個非常初期的階...
進(jìn)程跟蹤和調(diào)試 DTrace DTrace中的“D”指的是D語言刊殉。這是一門完整的跟蹤語言,通過這門語言可以創(chuàng)建專門的跟蹤器(tracer)或者探測器(probe) druss...
可執(zhí)行文件 在UNIX中州胳,任何文件都可以通過簡單的 chmod +x 命令標(biāo)記為可執(zhí)行文件记焊。但是不能保證文件可執(zhí)行,這個標(biāo)記只是告訴操作系統(tǒng)內(nèi)核將這個文件讀入內(nèi)存栓撞,然后尋找一...
OS X 和 iOS 使用的技術(shù) 作為一個從BSD衍而來的操作系統(tǒng)遍膜,OS X 繼承了很多BSD相關(guān)的特有的特性。其中包括POSIX系統(tǒng)調(diào)用瓤湘,一些BSD擴(kuò)展(內(nèi)核隊列)以及BS...
XNU 內(nèi)核XNU是Darwin 的核心瓢颅,也是整個OS X 的核心。XNU由一下幾個組件組成: Mach 微內(nèi)核進(jìn)程和線程抽象虛擬內(nèi)存管理任務(wù)調(diào)度進(jìn)程間通訊和消息傳遞機(jī)制 B...