返璞歸真

返璞歸真 pdf epub mobi txt 電子書 下載2025

出版者:電子工業齣版社
作者:郝慶豐
出品人:
頁數:751
译者:
出版時間:2010 年6月
價格:89.00元
裝幀:平裝
isbn號碼:9787121108716
叢書系列:
圖書標籤:
  • UNIX
  • 操作係統
  • Linux/Unix
  • kernel
  • 2010
  • 國內作品
  • programming
  • 科學
  • 生活哲學
  • 自然
  • 簡約
  • 慢生活
  • 心靈成長
  • 自我探索
  • 田園生活
  • 返璞歸真
  • 東方智慧
  • 人生感悟
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

操作係統是一種對計算機中各個設備和資源進行管理並給應用軟件提供各種服務的係統軟件,它的實現可分用戶態和內核態兩大部分。一般而言,操作係統的算法和設計的復雜性大多在內核態部分。因此,瞭解操作係統的內核實現對於瞭解整個操作係統是非常重要的。

本書詳細闡述操作係統的內核(也包括少量用戶態部分),選擇UNIX第6版的全部內核代碼及少量用戶部分代碼、總計10 000行作為講解對象,由框架到細節、由基礎到高級地進行講述;在此過程中貫穿瞭操作係統中的各種知識和概念,比如內存管理、進程調度、中斷和設備管理以及文件係統等,使得內容非常易於讀者理解。

選擇UNIX作為講解對象是因為它強大的生命力和應用的廣泛性。在精妙的設計思想下,它具有小巧高效而健壯的內核、豐富的功能、易擴展的架構和良好的開放性。UNIX所定義的很多接口(比如文件訪問接口)已經成為行業標準。本書在講解時,作者把這10 000行代碼按照不同的功能模塊分成不同的章節。每章一般最小以函數為單位,但在講解某個功能或接口時,又會牽涉到很多相關的函數,並其中揭示瞭很多優秀的設計思想、數據結構和算法。

本書適用於具有豐富開發經驗的高級軟件工程師,尤其是有誌於進行操作係統研究或對操作係統實現感興趣的軟件工程師,也可作為本專科院校計算機及相關專業學生學習操作係統和C語言的參考書。初級軟件開發人員在閱讀本書時可能會碰到一些睏難,但如能堅持研究,它也會是你提高編程水平的一個很好的選擇。

著者簡介

圖書目錄

第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 語法規則和編碼風格說明 23
2.3 思考題 27
第3章 虛擬內存 28
3.1 簡介 28
3.2 虛擬內存的優點 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 係統資源 68
5.3 進程上下文 70
5.4 進程調度 72
5.5 UNIX實現 73
5.5.1 進程上下文 73
5.5.2 進程的兩種狀態 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 定時器的創建 165
6.9.3 定時器的觸發 167
6.10 一些例子 168
6.10.1 進程優先級的調整 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 係統齣錯自陷 180
7.3.2 係統調用自陷 182
7.3.3 調試自陷 182
7.3.4 自陷優先級 183
7.4 自陷處理過程 184
7.4.1 匯編函數_trap 184
7.4.2 C函數trap 186
7.4.3 backup函數 191
第8章 文件係統 211
8.1 概述 211
8.2 框架 212
8.2.1 文件存儲的實現 212
8.2.2 UNIX文件係統 219
8.2.3 UNIX文件係統的詳細實現 224
8.3 文件訪問接口 229
8.3.1 文件創建接口creat 230
8.3.2 文件打開接口open 235
8.3.3 文件關閉接口close 236
8.3.4 文件讀接口read 237
8.3.5 文件寫接口write 238
8.3.6 文件定位接口seek 239
8.3.7 特殊文件創建接口mknod 242
8.3.8 文件鏈接接口link 244
8.3.9 取消文件鏈接接口unlink 246
8.3.10 設備加載接口smount 248
8.3.11 設備卸載接口sumount 251
8.4 節點和塊管理 253
8.4.1 節點緩存 253
8.4.2 塊緩存 255
8.4.3 塊訪問接口 263
8.4.4 節點訪問接口 294
8.5 塊設備驅動 322
8.5.1 概述 322
8.5.2 根設備——rk11磁盤 326
8.6 備注 335
8.6.1 FAT16文件係統 335
8.6.2 多進程訪問文件的問題 338
8.6.3 進程間同步 339
8.6.4 文件的刪除 340
8.6.5 設備驅動的擴展 340
8.7 總結 341
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 讀取器狀態轉換圖 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可執行文件 431
11.1 .out文件 431
11.1.1 可執行頭 431
11.1.2 程序段 432
11.1.3 數據段 432
11.1.4 程序和數據重定嚮錶 432
11.1.5 符號錶 434
11.1.6 示例 437
11.2 動態鏈接過程* 442
11.2.1 靜態共享 443
11.2.2 動態共享 446
11.2.3 GOT/PLT錶和位置無關代碼(PIC) 446
11.2.4 動態加載過程分析 450
第12章 係統調用 457
12.1 概述 457
12.2 係統調用的實現 457
12.2.1 用戶實現 459
12.2.2 係統調用錶和trap自陷 459
12.2.3 內核實現 469
12.3 各係統調用的實現 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 相關係統調用 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 綫程創建調用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 係統初始化過程 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(網絡文件係統) 732
15.3.1 基本原理 733
15.3.2 RPC(遠程過程調用) 734
15.3.3 各過程的實現 737
15.3.4 簡單示例 741
附錄A 參考書目及資源 742
附錄B 思考題答案 743
· · · · · · (收起)

讀後感

評分

評分

評分

評分

評分

用戶評價

评分

不錯的書,膜拜一下那些通讀UNIX源碼並樂在其中的人!

评分

非常非常詳細的注解, 而且很多地方還解釋瞭為什麼要這麼設計

评分

不錯的書,膜拜一下那些通讀UNIX源碼並樂在其中的人!

评分

雖然可以稱得上完全解析,但還是不如Lion's的那本書點撥式的注釋更有味道

评分

雖然可以稱得上完全解析,但還是不如Lion's的那本書點撥式的注釋更有味道

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有