I/OKit驅(qū)動程序框架 和其他操作系統(tǒng)不同,XNU的獨特之處在于為設備驅(qū)動程序提供了一個完整的運行時環(huán)境姜凄。XNU的設備驅(qū)動程序運行時環(huán)境稱為I/O Kit要门,是一個蘋果開發(fā)的...
I/OKit驅(qū)動程序框架 和其他操作系統(tǒng)不同,XNU的獨特之處在于為設備驅(qū)動程序提供了一個完整的運行時環(huán)境姜凄。XNU的設備驅(qū)動程序運行時環(huán)境稱為I/O Kit要门,是一個蘋果開發(fā)的...
內(nèi)核擴展模塊 類似用戶態(tài)的共享庫或動態(tài)鏈接庫,內(nèi)核擴展模塊是內(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)核的一個重要職責就是管理數(shù)據(jù),這些數(shù)據(jù)既包括用戶數(shù)據(jù)也包括系統(tǒng)數(shù)據(jù)破加。為了實現(xiàn)這個目的俱恶,數(shù)據(jù)按照文件和目錄的方式組織,文件和目錄保存在各種類型的文...
BSD 高級功能 內(nèi)存管理 虛擬內(nèi)存管理是在Mach 層進程的范舀,Mach 控制了分頁器合是,并且向用戶態(tài)導出了各種vm_和mach_vm_消息接口。而用戶態(tài)的開發(fā)者大部分都只知道...
BSD 層 Mach只是一個微內(nèi)核锭环。盡管Mach的部分應用程序接口(API)也暴露給了用戶態(tài)聪全,但是開發(fā)者主要使用的還是更為流行的POSIX API,而這一套API 是通過Ma...
Mach 虛擬內(nèi)存 在內(nèi)核管理最重要的資源中辅辩,出了CPU本身难礼,就是內(nèi)存了。Mach 和所有內(nèi)核一樣汽久,代碼中有很大一部分都在負責高效地管理內(nèi)存(virtual memory鹤竭,V...
Mach 調(diào)度 Mach 在核心原語的基礎上實現(xiàn)了很多重要的功能踊餐。幾乎所有的功能都和系統(tǒng)資源:硬件設備景醇、虛擬內(nèi)存以及CPU本身的管理有關。CPU 的管理稱之為調(diào)度(sched...