




已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
OS X與iOS內(nèi)核編程OS X與iOS內(nèi)核編程基本信息原書名:OS X and iOS kernel programming作者: (澳)哈爾沃森(Halvorsen,O.H.) (澳)克拉克(Clarke,D.) 譯者: 賈偉叢書名: 圖靈程序設(shè)計叢書出版社:人民郵電出版社ISBN:9787115318244上架時間:2013-5-16出版日期:2013 年6月開本:16開頁碼:1版次:1-1所屬分類:計算機內(nèi)容簡介 計算機書籍os x與ios內(nèi)核編程面向mac os x 和ios 操作系統(tǒng),介紹了操作系統(tǒng)和內(nèi)核架構(gòu)等基礎(chǔ)知識,以及內(nèi)存管理、線程同步、i/o kit 框架等基本概念。通過最貼近實戰(zhàn)的方法幫助讀者編寫高效的內(nèi)核級代碼。本書兩位作者具備豐富的計算機硬軟件以及設(shè)備驅(qū)動程序開發(fā)經(jīng)驗,在他們的指引下,讀者定能為usb 和thunderbolt 等設(shè)備開發(fā)設(shè)備驅(qū)動程序。 如果你對ios 和mac os x 操作系統(tǒng)感興趣,關(guān)注內(nèi)核開發(fā)實踐,或者你是驅(qū)動程序開發(fā)人員,那么本書適合你閱讀。 與傳統(tǒng)的用戶應(yīng)用程序開發(fā)不同,內(nèi)核環(huán)境更加復(fù)雜多變,任何問題都會嚴(yán)重影響系統(tǒng)的穩(wěn)定性、安全性和性能,所以一定要確保內(nèi)核代碼中沒有任何錯誤。本書介紹了非常實用的內(nèi)核開發(fā)方法,是xnu內(nèi)核開發(fā)者必備的“九陰真經(jīng)”。 os x與ios內(nèi)核編程兩位作者都活躍在計算機軟硬件以及驅(qū)動程序開發(fā)一線,具有豐富的實戰(zhàn)經(jīng)驗。ole henry halvorsen是最早一批為usb 3.0和thunderbolt創(chuàng)建視頻硬件設(shè)備的開發(fā)人員。douglas clarke具有15年以上的麥金塔計算機專業(yè)軟硬件開發(fā)經(jīng)驗。本書匯集了兩位作者多年的實戰(zhàn)經(jīng)驗與智慧感悟,展現(xiàn)了一幅xnu內(nèi)核編程與設(shè)備驅(qū)動程序開發(fā)的斑斕畫卷。相信在作者循循善誘、通俗易懂的講解下,讀者定能為書中的精彩內(nèi)容深深吸引,漸入化境,在不知不覺中煉就內(nèi)核開發(fā)的絕世武功。 如果你對ios和mac os x操作系統(tǒng)感興趣,關(guān)注內(nèi)核開發(fā),或者你本身就是驅(qū)動程序開發(fā)人員,那么如此精彩的一本好書絕對不容錯過。目錄os x與ios內(nèi)核編程 第1章操作系統(tǒng)原理1 1.1 操作系統(tǒng)的作用3 1.2 進(jìn)程管理3 1.3 進(jìn)程地址空間4 1.4 操作系統(tǒng)服務(wù)5 1.5 虛擬內(nèi)存6 1.6 調(diào)度8 1.7 硬件和驅(qū)動程序9 1.8 小結(jié)11 第2章mac os x和ios12 2.1 xnu內(nèi)核17 2.1.1 內(nèi)核擴展(kext)18 2.1.2 mach18 2.1.3 bsd層27 2.1.4 i/o kit29 2.2 小結(jié)31 第3章xcode和內(nèi)核開發(fā)環(huán)境32 3.1 語言的選擇:c+32 3.2 xcode33 .3.3 “hello world”內(nèi)核擴展34 3.4 加載和卸載內(nèi)核擴展37 3.5 使用控制臺查看輸出39 3.6 小結(jié)40 第4章i/o kit框架41 4.1 i/o kit 模型41 4.2 對象關(guān)系43 4.3 info.plist文件43 4.3.1 驅(qū)動程序類46 4.3.2 ioregistryexplorer50 4.4 內(nèi)核庫:libkern52 4.4.1 osobject52 4.4.2 容器類54 4.5 小結(jié)56 第5章應(yīng)用程序與驅(qū)動程序的交互57 5.1 i/o kit框架58 5.2 查找驅(qū)動程序58 5.3 觀察設(shè)備移除63 5.4 修改設(shè)備驅(qū)動程序?qū)傩?5 5.5 基于狀態(tài)的交互68 5.6 驅(qū)動程序的通知79 5.7 小結(jié)83 第6章內(nèi)存管理84 6.1 內(nèi)存類型84 6.1.1 cpu物理地址85 6.1.2 總線物理地址85 6.1.3 用戶和內(nèi)核虛擬地址85 6.1.4 內(nèi)存順序:大端序和小端序86 6.1.5 32位和64位內(nèi)存尋址87 6.2 內(nèi)存分配88 6.2.1 底層分配機制89 6.2.2 mach內(nèi)存域分配器89 6.2.3 kalloc家族89 6.2.4 bsd中的內(nèi)存分配90 6.2.5 i/o kit內(nèi)存分配91 6.2.6 使用c+的new操作符分配內(nèi)存92 6.3 內(nèi)存描述符92 6.3.1 iobuffermemorydescriptor94 6.3.2 其他的內(nèi)存描述符95 6.4 映射內(nèi)存95 6.4.1 用戶空間任務(wù)到內(nèi)核空間的內(nèi)存映射95 6.4.2 iomemorymap類97 6.4.3 內(nèi)核到用戶空間任務(wù)的內(nèi)存映射98 6.4.4 將內(nèi)存映射到指定的用戶空間任務(wù)99 6.4.5 物理地址映射100 6.5 小結(jié)101 第7章同步和線程102 7.1 同步原語102 7.2 原子操作104 7.3 鎖107 7.3.1 自旋鎖107 7.3.2 互斥109 7.3.3 條件變量110 7.3.4 讀/寫互斥112 7.4 同步異步事件:工作環(huán)113 7.4.1 iocommandgate115 7.4.2 定時器116 7.4.3 釋放工作環(huán)117 7.5 內(nèi)核線程118 7.6 小結(jié)119 第8章usb120 8.1 usb體系結(jié)構(gòu)120 8.1.1 usb傳輸速度122 8.1.2 主機控制器123 8.1.3 usb協(xié)議124 8.1.4 端點126 8.1.5 usb描述符126 8.1.6 usb設(shè)備類127 8.2 i/o kit usb支持128 8.2.1 usb設(shè)備和驅(qū)動程序處理129 8.2.2 加載usb驅(qū)動程序130 8.2.3 usb prober132 8.2.4 驅(qū)動程序示例:usb大容量存儲器設(shè)備驅(qū)動程序133 8.2.5 驅(qū)動程序啟動138 8.2.6 處理設(shè)備移除138 8.2.7 枚舉接口139 8.2.8 枚舉端點140 8.2.9 執(zhí)行設(shè)備請求141 8.2.10 執(zhí)行批量端點和中斷端點的i/o144 8.3 小結(jié)147 第9章pci express和thunderbolt148 9.1 i/o kit中的pci150 9.1.1 匹配和加載驅(qū)動程序151 9.1.2 驅(qū)動程序示例:一個簡單的pci驅(qū)動程序154 9.1.3 訪問配置空間寄存器156 9.1.4 pci i/o內(nèi)存區(qū)158 9.1.5 處理設(shè)備移除161 9.2 中斷162 9.2.1 i/o kit中斷機制163 9.2.2 注冊接收中斷164 9.2.3 啟用msi166 9.2.4 處理主中斷166 9.2.5 處理二級中斷168 9.3 直接內(nèi)存訪問168 9.3.1 將物理地址轉(zhuǎn)換為總線地址170 9.3.2 為dma準(zhǔn)備內(nèi)存171 9.3.3 建立分散/聚集列表172 9.3.4 iodmacommand類173 9.4 小結(jié)175 第10章電源管理177 10.1 響應(yīng)電源狀態(tài)改變179 10.2 請求電源狀態(tài)改變184 10.3 處理設(shè)備空閑185 10.4 觀察設(shè)備電源狀態(tài)改變186 10.5 匯總187 10.6 小結(jié)191 第11章串行端口驅(qū)動程序192 11.1 mac os x串行端口體系結(jié)構(gòu)概覽192 11.2 串行端口驅(qū)動程序194 11.3 實現(xiàn)ioserialdriversync類197 11.4 串行端口狀態(tài)200 11.5 串行端口事件204 11.6 串行數(shù)據(jù)傳輸207 11.7 從用戶空間訪問串行端口211 11.8 小結(jié)214 第12章音頻驅(qū)動程序215 12.1 數(shù)字音頻和音頻設(shè)備簡介215 12.2 core audio217 12.3 i/o kit音頻支持218 12.4 實現(xiàn)一個音頻驅(qū)動程序219 12.4.1 驅(qū)動程序和硬件初始化221 12.4.2 注冊音頻控制223 12.4.3 實現(xiàn)音頻引擎225 12.4.4 i/o引擎初始化226 12.4.5 其他的音頻引擎功能235 12.5 小結(jié)236 第13章網(wǎng)絡(luò)238 13.1 網(wǎng)絡(luò)內(nèi)核擴展242 13.1.1 內(nèi)核控制kpi242 13.1.2 套接字過濾器242 13.1.3 因特網(wǎng)協(xié)議過濾器250 13.1.4 接口過濾器255 13.2 調(diào)試和測試網(wǎng)絡(luò)擴展258 13.3 i/o kit中的網(wǎng)絡(luò)259 13.3.1 構(gòu)建簡單以太網(wǎng)控制器驅(qū)動程序261 13.3.2 myethernetdriver設(shè)計262 13.3.3 驅(qū)動程序初始化和啟動264 13.3.4 介質(zhì)和狀態(tài)選擇266 13.3.5 配置設(shè)備硬件地址268 13.3.6 啟用和禁用設(shè)備268 13.3.7 傳輸網(wǎng)絡(luò)分組270 13.3.8 接收分組271 13.3.9 對myethernetdriver進(jìn)行測試274 13.4 小結(jié)276 第14章存儲系統(tǒng)277 14.1 傳輸層驅(qū)動程序278 14.2 ioblockstoragedevice接口279 14.3 構(gòu)建ram磁盤設(shè)備282 14.4 分區(qū)規(guī)則292 14.4.1 實現(xiàn)一個示例分區(qū)規(guī)則293 14.4.2 媒介內(nèi)容線索屬性300 14.5 媒介過濾器驅(qū)動程序300 14.5.1 加密過濾器規(guī)則示例302 14.5.2 創(chuàng)建一個自定義guid分區(qū)表306 14.6 小結(jié)308 第15章用戶空間usb驅(qū)動程序310 15.1 背景310 15.2 iousblib框架311 15.3 處理異步操作315 15.4 iousbdeviceinterface類316 15.5 iousbinterfaceinterface類320 15.5.1 屬性方法321 15.5.2 端點數(shù)據(jù)傳輸方法322 15.5.3 低延遲同步傳輸328 15.6 小結(jié)330 第16章調(diào)試331 16.1 常見的問題類型331 16.2 內(nèi)核恐慌332 16.3 調(diào)試機制333 16.3.1 啟動時修復(fù)崩潰335 16.3.2 采用iolog()追蹤335 16.3.3 輸出棧跟蹤336 16.3.4 通過firewire遠(yuǎn)程跟蹤337 16.3.5 遠(yuǎn)程內(nèi)核核心轉(zhuǎn)儲339 16.3.6 kdb340 16.3.7 通過以太網(wǎng)或firewire使用gdb遠(yuǎn)程調(diào)試340 16.3.8 實時調(diào)試運行的內(nèi)核344 16.3.9 使用虛擬機調(diào)試344 16.3.10 在內(nèi)核中使用gdb調(diào)試344 16.3.11 使用activity monitor診斷掛起進(jìn)程354 16.3.12 查找內(nèi)存和資源泄漏355 16.4 小結(jié)356 第17章高級內(nèi)核編程357 17.1 內(nèi)核中的sse和浮點357 17.2 多功能驅(qū)動程序358 17.3 編寫i/o kit族358 17.4 內(nèi)核控制kpi359 17.4.1 內(nèi)核控制注冊361 17.4.2 客戶端連接362 17.4.3 獲取和設(shè)置選項363 17.4.4 從用戶空間訪問內(nèi)核控制364 17.5 內(nèi)核中的進(jìn)程處理365 17.6 加載資源366 17.7 kext資源之外的內(nèi)容367 17.8 內(nèi)核驅(qū)動程序通知368 17.9 小結(jié)371 第18章部
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020年成人高考高起專英語語法時態(tài)訓(xùn)練
- 湖南省懷化市通道縣2023-2024學(xué)年五年級上學(xué)期科學(xué)期中試卷
- 2025至2030年中國虛擬專用網(wǎng)絡(luò)行業(yè)發(fā)展監(jiān)測及投資前景展望報告
- 2025至2030年中國凍鰹魚行業(yè)市場調(diào)研及投資戰(zhàn)略規(guī)劃建議報告
- 2025至2030年中國肽飼料市場供需現(xiàn)狀及投資戰(zhàn)略研究報告
- 2025至2030年中國農(nóng)作物種植市場運營態(tài)勢及發(fā)展前景預(yù)測報告
- 融入生活情境的高中生物科學(xué)本質(zhì)觀培養(yǎng)策略研究
- 雙規(guī)的法律依據(jù)
- 四川省廣安第二中學(xué)2024-2025學(xué)年高二上學(xué)期開學(xué)考試化學(xué)試卷(含答案)
- 兒童陪伴師傅合同協(xié)議書
- JT-T 329-2025 公路橋梁預(yù)應(yīng)力鋼絞線用錨具、夾具和連接器
- 《MATLAB教程簡明》課件
- 公司事故隱患內(nèi)部報告獎勵機制
- 中國居民營養(yǎng)和健康狀況調(diào)查報告
- 犬瘟熱的診斷及治療論文
- 2022年初中英語教師進(jìn)城招聘考試模擬試題及部分答案(共5套)
- 全國河流水文站坐標(biāo)
- 電力拖動與控制課件
- 農(nóng)產(chǎn)品食品檢驗員理論知識競賽題庫
- 廣西主要斷裂帶-個人整理
- 油田注水工藝及管理
評論
0/150
提交評論