返璞歸真

出版時(shí)間:2010 年6月  出版社:電子工業(yè)出版社  作者:郝慶豐  頁(yè)數(shù):751  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

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

作者簡(jiǎn)介

郝慶豐,畢業(yè)于清華大學(xué)電機(jī)系,曾在朗訊、愛(ài)立信等知名外企從事多年的軟件開(kāi)發(fā)工作,有著多個(gè)UNIX和Linux平臺(tái)下大型服務(wù)器、網(wǎng)關(guān)項(xiàng)目的開(kāi)發(fā)經(jīng)驗(yàn),并且參與過(guò)其中大部分項(xiàng)目的架構(gòu)設(shè)計(jì)。結(jié)合所開(kāi)發(fā)項(xiàng)目,作者深入研究了UNIX操作系統(tǒng)內(nèi)核,并付諸于產(chǎn)品性能優(yōu)化之類的實(shí)際應(yīng)用,現(xiàn)在IBMCDL部門擔(dān)任高級(jí)軟件開(kāi)發(fā)工程師。

書籍目錄

第1章 概論   1.1 歷史背景   1.2 UNIX誕生的經(jīng)過(guò)   1.3 UNIX版本6   1.4 各流派一覽   1.5 為什么取得成功    1.5.1 簡(jiǎn)潔高效    1.5.2 健壯性    1.5.3 功能豐富    1.5.4 移植性    1.5.5 開(kāi)放性   1.6 縮寫及術(shù)語(yǔ)說(shuō)明  第2章 UNIX綜述   2.1 硬件平臺(tái)    2.1.1 中斷和自陷(Trap)    2.1.2 兩種處理器模式    2.1.3 通用寄存器    2.1.4 I/O設(shè)備管理    2.1.5 棧(Stack)    2.1.6 常用指令    2.1.7 備注   2.2 UNIX內(nèi)核綜述    2.2.1 模塊分類    2.2.2 各模塊間的通信    2.2.3 源文件    2.2.4 語(yǔ)法規(guī)則和編碼風(fēng)格說(shuō)明   2.3 思考題  第3章 虛擬內(nèi)存   3.1 簡(jiǎn)介   3.2 虛擬內(nèi)存的優(yōu)點(diǎn)    3.2.1 安全性    3.2.2 提高空間利用率    3.2.3 多進(jìn)程的支持   3.3 PDP11/40的虛擬內(nèi)存機(jī)制    3.3.1 頁(yè)地址寄存器(PAR)    3.3.2 頁(yè)描述寄存器(PDR)    3.3.3 活動(dòng)頁(yè)寄存器地址    3.3.4 虛擬地址向物理地址的映射過(guò)程    3.3.5 異常處理    3.3.6 和現(xiàn)代頁(yè)式虛存的比較   3.4 UNIX的虛存實(shí)現(xiàn)    3.4.1 進(jìn)程空間分布    3.4.2 用戶活動(dòng)頁(yè)寄存器設(shè)置函數(shù)estabur    3.4.3 用戶空間映射函數(shù)sureg   3.5 內(nèi)存管理    3.5.1 內(nèi)核內(nèi)存管理    3.5.2 用戶內(nèi)存管理   3.6 思考題  第4章 啟動(dòng)模塊   4.1 操作流程   4.2 中斷向量   4.3 啟動(dòng)函數(shù)start   4.4 備注    4.4.1 為什么需要引導(dǎo)程序和裝入程序    4.4.2 0地址處指令分析    4.4.3 為什么要使用匯編語(yǔ)言    4.4.4 Windows啟動(dòng)過(guò)程淺析   4.5 思考題  第5章 進(jìn)程管理和調(diào)度   5.1 程序員眼中的虛擬機(jī)   5.2 系統(tǒng)資源   5.3 進(jìn)程上下文   5.4 進(jìn)程調(diào)度   5.5 UNIX實(shí)現(xiàn)    5.5.1 進(jìn)程上下文    5.5.2 進(jìn)程的兩種狀態(tài)    5.5.3 調(diào)度過(guò)程    5.5.4 備注   5.6 思考題  第6章 中斷處理過(guò)程   6.1 PSW寄存器   6.2 中斷處理流程   6.3 中斷向量   6.4 PDP /40的中斷類型    6.4.1 電傳終端接口輸入中斷    6.4.2 電傳終端接口輸出中斷    6.4.3 紙帶打孔機(jī)輸入中斷    6.4.4 紙帶打孔機(jī)輸出中斷    6.4.5 時(shí)鐘中斷    6.4.6 行打印機(jī)中斷    6.4.7 磁盤讀寫中斷   6.5 一些常用函數(shù)    6.5.1 特殊指令    6.5.2 fubyte(fuibyte)    6.5.3 fuword(fuiword)    6.5.4 subyte(suibyte)    6.5.5 suword(suiword)    6.5.6 clearseg    6.5.7 copyseg    6.5.8 copyin/copyout    6.5.9 dpadd    6.5.10 ldiv/lrem/lshift   6.6 call函數(shù)   6.7 時(shí)鐘中斷    6.7.1 基本概念    6.7.2 處理過(guò)程   6.8 call函數(shù)調(diào)用分派切換器的理由   6.9 內(nèi)核定時(shí)器    6.9.1 數(shù)據(jù)結(jié)構(gòu)    6.9.2 定時(shí)器的創(chuàng)建    6.9.3 定時(shí)器的觸發(fā)   6.10 一些例子    6.10.1 進(jìn)程優(yōu)先級(jí)的調(diào)整    6.10.2 進(jìn)程分派切換實(shí)例   6.11 備注    6.11.1 中斷服務(wù)函數(shù)中為什么不使用互斥鎖    6.11.2 中斷服務(wù)函數(shù)中為什么不訪問(wèn)u變量    6.11.3 關(guān)于內(nèi)存管理違例自陷的處理過(guò)程    6.11.4 調(diào)度標(biāo)志runrun和runin   6.12 思考題  第7章 自陷   7.1 自陷原理   7.2 自陷向量   7.3 PDP11/40的自陷類型    7.3.1 系統(tǒng)出錯(cuò)自陷    7.3.2 系統(tǒng)調(diào)用自陷    7.3.3 調(diào)試自陷    7.3.4 自陷優(yōu)先級(jí)   7.4 自陷處理過(guò)程    7.4.1 匯編函數(shù)_trap    7.4.2 C函數(shù)trap    7.4.3 backup函數(shù)  第8章 文件系統(tǒng)   8.1 概述   8.2 框架    8.2.1 文件存儲(chǔ)的實(shí)現(xiàn)    8.2.2 UNIX文件系統(tǒng)    8.2.3 UNIX文件系統(tǒng)的詳細(xì)實(shí)現(xiàn)   8.3 文件訪問(wèn)接口    8.3.1 文件創(chuàng)建接口creat    8.3.2 文件打開(kāi)接口open    8.3.3 文件關(guān)閉接口close    8.3.4 文件讀接口read    8.3.5 文件寫接口write    8.3.6 文件定位接口seek    8.3.7 特殊文件創(chuàng)建接口mknod    8.3.8 文件鏈接接口link    8.3.9 取消文件鏈接接口unlink    8.3.10 設(shè)備加載接口smount    8.3.11 設(shè)備卸載接口sumount   8.4 節(jié)點(diǎn)和塊管理    8.4.1 節(jié)點(diǎn)緩存    8.4.2 塊緩存    8.4.3 塊訪問(wèn)接口    8.4.4 節(jié)點(diǎn)訪問(wèn)接口   8.5 塊設(shè)備驅(qū)動(dòng)    8.5.1 概述    8.5.2 根設(shè)備——rk11磁盤   8.6 備注    8.6.1 FAT16文件系統(tǒng)    8.6.2 多進(jìn)程訪問(wèn)文件的問(wèn)題    8.6.3 進(jìn)程間同步    8.6.4 文件的刪除    8.6.5 設(shè)備驅(qū)動(dòng)的擴(kuò)展   8.7 總結(jié)   8.8 思考題  第9章 字符設(shè)備驅(qū)動(dòng)   9.1 交互終端——電傳打字機(jī)(teletypewriter)    9.1.1 設(shè)備特性    9.1.2 操作寄存器    9.1.3 驅(qū)動(dòng)框架    9.1.4 驅(qū)動(dòng)函數(shù)    9.1.5 shell應(yīng)用舉例    9.1.6 內(nèi)核打印接口   9.2 PC-11紙帶打孔機(jī)    9.2.1 設(shè)備特性    9.2.2 操作寄存器    9.2.3 驅(qū)動(dòng)框架    9.2.4 驅(qū)動(dòng)函數(shù)    9.2.5 讀取器狀態(tài)轉(zhuǎn)換圖   9.3 LP-11行打印機(jī)    9.3.1 設(shè)備特性    9.3.2 操作寄存器    9.3.3 驅(qū)動(dòng)框架    9.3.4 驅(qū)動(dòng)函數(shù)   9.4 現(xiàn)代打印機(jī)    9.4.1 并口    9.4.2 和內(nèi)核掛接    9.4.3 簡(jiǎn)單的打印程序    9.4.4 CUPS   9.5 其他字符設(shè)備    9.5.1 內(nèi)存    9.5.2 磁盤   9.6 網(wǎng)絡(luò)驅(qū)動(dòng)程序   9.7 綜合示例   9.8 總結(jié)   9.9 思考題  第10章 進(jìn)程交換過(guò)程   10.1 概述   10.2 具體實(shí)現(xiàn)    10.2.1 進(jìn)程換出函數(shù)xswap    10.2.2 程序段內(nèi)存釋放函數(shù)xccdec    10.2.3 交換函數(shù)swap    10.2.4 調(diào)用實(shí)例   10.3 綜合示例   10.4 思考題  第11章 UNIX可執(zhí)行文件   11.1 .out文件    11.1.1 可執(zhí)行頭    11.1.2 程序段    11.1.3 數(shù)據(jù)段    11.1.4 程序和數(shù)據(jù)重定向表    11.1.5 符號(hào)表    11.1.6 示例   11.2 動(dòng)態(tài)鏈接過(guò)程*    11.2.1 靜態(tài)共享    11.2.2 動(dòng)態(tài)共享    11.2.3 GOT/PLT表和位置無(wú)關(guān)代碼(PIC)    11.2.4 動(dòng)態(tài)加載過(guò)程分析  第12章 系統(tǒng)調(diào)用   12.1 概述   12.2 系統(tǒng)調(diào)用的實(shí)現(xiàn)    12.2.1 用戶實(shí)現(xiàn)    12.2.2 系統(tǒng)調(diào)用表和trap自陷    12.2.3 內(nèi)核實(shí)現(xiàn)   12.3 各系統(tǒng)調(diào)用的實(shí)現(xiàn)    12.3.1 文件相關(guān)調(diào)用    12.3.2 進(jìn)程相關(guān)調(diào)用    12.3.3 信號(hào)相關(guān)調(diào)用    12.3.4 調(diào)試功能調(diào)用    12.3.5 用戶/組ID調(diào)用    12.3.6 時(shí)間相關(guān)調(diào)用    12.3.7 終端相關(guān)調(diào)用  第13章 進(jìn)程間通信   13.1 概述   13.2 管道    13.2.1 相關(guān)系統(tǒng)調(diào)用    13.2.2 管道實(shí)現(xiàn)過(guò)程分析    13.2.3 應(yīng)用示例    13.2.4 采用內(nèi)存文件實(shí)現(xiàn)管道    13.2.5 思考題   13.3 文件   13.4 有名管道   13.5 進(jìn)程間同步    13.5.1 信號(hào)量    13.5.2 互斥體    13.5.3 事件   13.6 死鎖   13.7 其他進(jìn)程間數(shù)據(jù)傳輸方式    13.7.1 消息(message)    13.7.2 信箱(mailbox)    13.7.3 共享內(nèi)存  第14章 多線程的實(shí)現(xiàn)   14.1 概述   14.2 線程和經(jīng)典進(jìn)程的比較   14.3 線程的示例實(shí)現(xiàn)    14.3.1 相關(guān)數(shù)據(jù)結(jié)構(gòu)    14.3.2 實(shí)現(xiàn)方案    14.3.3 線程創(chuàng)建調(diào)用CreateThread    14.3.4 內(nèi)核改動(dòng)    14.3.5 線程退出調(diào)用ExitThread    14.3.6 線程id獲得調(diào)用gettid    14.3.7 線程掛起調(diào)用SuspendThread    14.3.8 線程恢復(fù)調(diào)用ResumeThread    14.3.9 線程終止調(diào)用TerminateThread    14.3.10 線程ID查詢調(diào)用GetThreadID    14.3.11 線程名查詢調(diào)用GetThreadName    14.3.12 使用示例    14.3.13 思考題  第15章 網(wǎng)絡(luò)多用戶   15.1 系統(tǒng)初始化過(guò)程    15.1.1 init進(jìn)程    15.1.2 getty程序    15.1.3 login程序   15.2 telnet程序    15.2.1 工作原理    15.2.2 常用配置   15.3 NFS(網(wǎng)絡(luò)文件系統(tǒng))    15.3.1 基本原理    15.3.2 RPC(遠(yuǎn)程過(guò)程調(diào)用)    15.3.3 各過(guò)程的實(shí)現(xiàn)    15.3.4 簡(jiǎn)單示例  附錄A 參考書目及資源  附錄B 思考題答案

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    返璞歸真 PDF格式下載


用戶評(píng)論 (總計(jì)7條)

 
 

  •   本人大三,正在學(xué)UNIX操作系統(tǒng)。用的是電子科技大學(xué)的那本UNIX操作系統(tǒng)教材,綠封面,很薄的那本。寫的比較簡(jiǎn)略,源代碼基本沒(méi)有。有同學(xué)買了本這個(gè)在看,覺(jué)得很好就推薦給我,自己買回來(lái)正在看,覺(jué)得真的不錯(cuò),推薦對(duì)UNIX的內(nèi)核實(shí)現(xiàn)有興趣,以及正在學(xué)操作系統(tǒng)的朋友。
  •   很好的國(guó)人寫的unix書
  •   國(guó)內(nèi)很難的UNIX技術(shù)資料。
  •   本人準(zhǔn)備學(xué)習(xí)系統(tǒng)基礎(chǔ)原理 linux代碼太多繁瑣 windows又不開(kāi)源 這本書剛好合適我
  •   從目前學(xué)習(xí)的進(jìn)度來(lái)看,這本書正好適合我現(xiàn)在的情況。非常好
  •   個(gè)人覺(jué)得書本不錯(cuò)
  •   本書與萊昂世UNIX源代碼分析大有淵源啊,本書主要還是參考萊昂氏UNIX源代碼分析
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7