操作系統(tǒng)是一種對計算機中各個設備和資源進行管理并給應用軟件提供各種服務的系統(tǒng)軟件,它的實現可分用戶態(tài)和內核態(tài)兩大部分。一般而言,操作系統(tǒng)的算法和設計的復雜性大多在內核態(tài)部分。因此,了解操作系統(tǒng)的內核實現對于了解整個操作系統(tǒng)是非常重要的。本書詳細闡述操作系統(tǒng)的內核(也包括少量用戶態(tài)部分),選擇UNIX第6版的全部內核代碼及少量用戶部分代碼、總計10 000行作為講解對象,由框架到細節(jié)、由基礎到高級地進行講述;在此過程中貫穿了操作系統(tǒng)中的各種知識和概念,比如內存管理、進程調度、中斷和設備管理以及文件系統(tǒng)等,使得內容非常易于讀者理解。選擇UNIX作為講解對象是因為它強大的生命力和應用的廣泛性。在精妙的設計思想下,它具有小巧高效而健壯的內核、豐富的功能、易擴展的架構和良好的開放性。UNIX所定義的很多接口(比如文件訪問接口)已經成為行業(yè)標準。本書在講解時,作者把這10 000行代碼按照不同的功能模塊分成不同的章節(jié)。每章一般最小以函數為單位,但在講解某個功能或接口時,又會牽涉到很多相關的函數,并其中揭示了很多優(yōu)秀的設計思想、數據結構和算法。本書適用于具有豐富開發(fā)經驗的高級軟件工程師,尤其是有志于進行操作系統(tǒng)研究或對操作系統(tǒng)實現感興趣的軟件工程師,也可作為本??圃盒S嬎銠C及相關專業(yè)學生學習操作系統(tǒng)和C語言的參考書。初級軟件開發(fā)人員在閱讀本書時可能會碰到一些困難,但如能堅持研究,它也會是你提高編程水平的一個很好的選擇。