注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡操作系統(tǒng)UNIX返璞歸真:UNIX技術內幕

返璞歸真:UNIX技術內幕

返璞歸真:UNIX技術內幕

定 價:¥89.00

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

購買這本書可以去


ISBN: 9787121108716 出版時間: 2010-06-01 包裝: 平裝
開本: 16開 頁數: 751 字數:  

內容簡介

  操作系統(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ā)人員在閱讀本書時可能會碰到一些困難,但如能堅持研究,它也會是你提高編程水平的一個很好的選擇。

作者簡介

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

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號