本文選自《返璞歸真——unix技術內幕》一書
序一
作業系統作為計算機中核心的系統軟體,直接決定了計算機系統的整體效能。學習作業系統的過程中,理解所有作業系統設計背後的原理是非常重要的,但如果能夠把這些原理和真實的作業系統實現結合起來,則可以更加深刻地理解作業系統的本質所在。
美國貝爾實驗室的丹尼斯·里奇(dennis mac alistair ritchie)和肯尼思·湯普森(kenneth lane·thompson)共同開發的c和unix是本領域最重要的成果之一,對整個計算機產業產生了深遠的影響。因此,通過深入分析閱讀unix這一經典系統的源**實現來學習作業系統是非常有價值的途徑。unix 第6版(unix v6)是現代各類unix作業系統的源頭,它具備了現代作業系統的絕大部分特徵:程序管理和排程、記憶體管理、檔案系統和i/o裝置管理等。在此之後,unix分為眾多不同流派,但它們基本上都秉承了unix v6的設計思想。
作者郝慶豐曾在朗訊、摩托羅拉等公司從事多年的軟體開發工作,參與過多個unix及linux下大型軟體專案的設計和開發,有著數十萬行**的開發經驗。基於這些基礎,他編寫了這本講解unix的書籍,針對pdp-11處理器,給出unix v6近萬行原始碼的詳細解析,其中也包含了很多作者自己的開發經驗和理解。在寫作過程中,作者翻閱了大量資料,做了很多實驗。因此,書中深入淺出、詳略得當的講解使得某些原本艱澀難懂的**變得生動活潑,甚至妙趣橫生。對於重點章節或很艱深的部分,作者則不吝筆墨、列舉多個例子闡明;在每章結束還有針對性地提出一些思考題,讓讀者進一步鞏固本章內容。
全書共分15章。第1章主要講述unix誕生的經過、流派和它的特點。第2章主要講述unix框架及其執行的硬體平台。第3章講述虛擬記憶體的主要功能及unix虛擬記憶體的實現原理。第4章主要講述啟動過程。第5章主要講述程序管理和排程的實現。第6章是對中斷處理過程的講解,而第7章講述和中斷類似的自陷的處理過程。第8章講解檔案系統,其實是檔案系統的核心實現,而使用者實現部分在第12章講述。第9章講解unix是如何管理i/o(輸入/輸出)裝置的。第10章在第4章的基礎上更全面地闡述unix的交換過程,因為交換是程序管理中乙個很重要的概念。第11章講述unix可執行檔案的格式。第12章講述unix系統呼叫的實現過程,包括了檔案系統、程序和訊號等部分。第13章不僅講解已有的各種程序間通訊的方式(訊號、檔案、管道),而且還給出其他多種程序間通訊方式(訊號量、互斥體、訊息等)的示例實現。第14章給出現代作業系統才有的執行緒的示例實現。最後第15章講述unix的登入過程和20世紀80年代出現的網路檔案系統nfs,進而體現其對網路多使用者的支援。
對於初級軟體工程師,只要能認真研習,它也將是你提高軟體開發水平的乙個很好的選擇。
清華大學計算機系教授、博士生導師 鄭緯民
2023年4月15日於北京清華園
書名:返璞歸真——unix技術內幕
編著
isbn 978-7-121-10871-6
出版日期:2010年6月
定價:89.00元(含cd光碟1張)
開本:16開
頁碼:768頁
宣傳語
節選10000行unix核心原始碼
耳目一新的視角
入木三分的剖析
生動詳盡的圖例
作者實現的執行緒
恰似醍醐灌頂,讓你徹底了解unix核心。
內容簡介
作業系統是一種對計算機中各個裝置和資源進行管理並給應用軟體提供各種服務的系統軟體,它的實現可分使用者態和核心態兩大部分。一般而言,作業系統的演算法和設計的複雜性大多在核心態部分。因此,了解作業系統的核心實現對於了解整個作業系統是非常重要的。
本書詳細闡述作業系統的核心(也包括少量使用者態部分),選擇unix第6版的全部核心**及少量使用者部分**、總計10 000行作為講解物件,由框架到細節、由基礎到高階地進行講述;在此過程中貫穿了作業系統中的各種知識和概念,比如記憶體管理、程序排程、中斷和裝置管理以及檔案系統等,使得內容非常易於讀者理解。
選擇unix作為講解物件是因為它強大的生命力和應用的廣泛性。在精妙的設計思想下,它具有小巧高效而健壯的核心、豐富的功能、易擴充套件的架構和良好的開放性。unix所定義的很多介面(比如檔案訪問介面)已經成為行業標準。本書在講解時,作者把這10 000行**按照不同的功能模組分成不同的章節。每章一般最小以函式為單位,但在講解某個功能或介面時,又會牽涉到很多相關的函式,並其中揭示了很多優秀的設計思想、資料結構和演算法。
本書適用於具有豐富開發經驗的高階軟體工程師,尤其是有志於進行作業系統研究或對作業系統實現感興趣的軟體工程師,也可作為本專科院校計算機及相關專業學生學習作業系統和c語言的參考書。初級軟體開發人員在閱讀本書時可能會碰到一些困難,但如能堅持研究,它也會是你提高程式設計水平的乙個很好的選擇。
本書詳細資訊:
想即時獲取更多圖書及活動資訊,趕快加入博文視點讀者俱樂部 吧!
作業系統 計算機系統
1.計算機系統 硬體 軟體 2.作業系統作用 管理系統資源 控制操作執行 支撐人機互動 3.硬體資源包括 處理器 儲存器 外圍裝置 軟體資源包括 程式 資料 4.作業系統型別 批處理 分時 實時 網路 分布式 批處理 作業提交給計算機後不再干預 分時 unix linux 實時 銀行 各分行同時處理...
計算機系統軟體 作業系統
眾所眾知,計算機系統由硬體和軟體兩大部分組成。硬體是指用電子器件和機電裝置組成的計算機實體。軟體一般是指面向某個領域或解決某一特定問題以及實現計算機自身管理的各種程式的總稱,前者稱為應用程式,後者稱為系統軟體。計算機硬體 馮諾依曼型計算機結構由 運算器,控制器,儲存器,輸入裝置和輸出裝置五部分組成 ...
作業系統 計算機系統概述
作業系統的基本概念 作業系統自下而上可大致分為四個部分 硬體 作業系統 應用程式和使用者。作業系統的特徵 1.併發。指兩個或多個事件在同一時間間隔內發生。注意 同一時間間隔 併發 和同一時刻 並行 的區別。2.共享。資源共享即共享,是指系統中的資源可供記憶體中多個併發執行的程序共同使用。共享可分為以...