注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)UNIX返璞歸真:UNIX技術(shù)內(nèi)幕

返璞歸真:UNIX技術(shù)內(nèi)幕

返璞歸真:UNIX技術(shù)內(nèi)幕

定 價(jià):¥89.00

作 者: 郝慶豐 編著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: Solaris

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787121108716 出版時(shí)間: 2010-06-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 751 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  操作系統(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)是非常重要的。本書(shū)詳細(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)容非常易于讀者理解。選擇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ū)在講解時(shí),作者把這10 000行代碼按照不同的功能模塊分成不同的章節(jié)。每章一般最小以函數(shù)為單位,但在講解某個(gè)功能或接口時(shí),又會(huì)牽涉到很多相關(guān)的函數(shù),并其中揭示了很多優(yōu)秀的設(shè)計(jì)思想、數(shù)據(jù)結(jié)構(gòu)和算法。本書(shū)適用于具有豐富開(kāi)發(fā)經(jīng)驗(yàn)的高級(jí)軟件工程師,尤其是有志于進(jìn)行操作系統(tǒng)研究或?qū)Σ僮飨到y(tǒng)實(shí)現(xiàn)感興趣的軟件工程師,也可作為本專(zhuān)科院校計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)學(xué)生學(xué)習(xí)操作系統(tǒng)和C語(yǔ)言的參考書(shū)。初級(jí)軟件開(kāi)發(fā)人員在閱讀本書(shū)時(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)化之類(lèi)的實(shí)際應(yīng)用,現(xiàn)在IBMCDL部門(mén)擔(dān)任高級(jí)軟件開(kāi)發(fā)工程師。

圖書(shū)目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)