UNIX操作系統設計檢視原始碼討論檢視歷史
《UNIX操作系統設計》,莫里斯·J.,巴赫(Mauri 著,出版社: 人民郵電出版社。
人民郵電出版社,1953年10月成立,隸屬於中國工信出版傳媒集團,是工業和信息化部主管的大型專業出版社[1]。建社以來,人民郵電出版社圍繞「立足工信事業,面向現代社會,傳播科學知識,引領美好生活」的出版宗旨,已發展成為集圖書、期刊、音像電子及數字出版於一體的綜合性出版大社[2]。
內容簡介
本書以UNIX系統為背景,全面、系統地介紹了UNIX操作系統內核的內部數據結構和算法。本書首先對系統內核結構做了簡要介紹,然後分章節描述了文件系統、進程調度和存儲管理,並在此基礎上討論了UNIX系統的問題,如驅動程序接口、進程間通信與網絡等。在每章之後,還給出了大量富有啟發性和實際意義的題目。
目錄
第 1章 系統概貌1
1.1 歷史 1
1.2 系統結構 3
1.3 用戶看法 4
1.3.1 文件系統 4
1.3.2 處理環境 8
1.3.3 構件原語 10
1.4 操作系統服務 11
1.5 關於硬件的假設 12
1.5.1 中斷與例外 13
1.5.2 處理機執行級 13
1.5.3 存儲管理 14
1.6 本章小結 14
第 2章 內核導言 15
2.1 UNIX操作系統的體系結構 15
2.2 系統概念介紹 17
2.2.1 文件子系統概貌 17
2.2.2 進程 19
2.3 內核數據結構 27
2.4 系統管理 28
2.5 本章小結 28
2.6 習題 29
第3章 數據緩衝區高速緩衝 30
3.1 緩衝頭部 30
3.2 緩衝池的結構 32
3.3 緩衝區的檢索 33
3.4 讀磁盤塊與寫磁盤塊 43
3.5 高速緩衝的優點與缺點 45
3.6 本章小結 46
3.7 習題 47
第4章 文件的內部表示 48
4.1 索引節點 48
4.1.1 定義 48
4.1.2 對索引節點的存取 50
4.1.3 釋放索引節點 53
4.2 正規文件的結構 53
4.3 目錄 58
4.4 路徑名到索引節點的轉換 59
4.5 超級塊 61
4.6 為新文件分配索引節點 62
4.7 磁盤塊的分配 68
4.8 其他文件類型 71
4.9 本章小結 71
4.10 習題 72
第5章 文件系統的系統調用 74
5.1 系統調用open 75
5.2 系統調用read 78
5.3 系統調用write 82
5.4 文件和記錄的上鎖 83
5.5 文件的輸入 輸出位置的調整—lseek 83
5.6 系統調用close 84
5.7 文件的建立 86
5.8 特殊文件的建立 87
5.9 改變目錄及根 88
5.10 改變所有者及許可權方式 90
5.11 系統調用stat和fstat 90
5.12 管道 90
5.12.1 系統調用pipe 91
5.12.2 有名管道的打開 92
5.12.3 管道的讀和寫 92
5.12.4 管道的關閉 94
5.12.5 例 95
5.13 系統調用dup 95
5.14 文件系統的安裝和拆卸 97
5.14.1 在文件路徑名中跨越安裝點 100
5.14.2 文件系統的拆卸 103
5.15 系統調用link 104
5.16 系統調用unlink 108
5.16.1 文件系統的一致性 109
5.16.2 競爭條件 110
5.17 文件系統的抽象 113
5.18 文件系統維護 114
5.19 本章小結 116
5.20 習題 116
第6章 進程結構 121
6.1 進程的狀態和狀態的轉換 121
6.2 系統存儲方案 125
6.2.1 區 125
6.2.2 頁和頁表 126
6.2.3 內核的安排 128
6.2.4 u區 130
6.3 進程的上下文 131
6.4 進程上下文的保存 133
6.4.1 中斷和例外 133
6.4.2 系統調用的接口 136
6.4.3 上下文切換 139
6.4.4 為廢棄返回(abortive return)而保存上下文 140
6.4.5 在系統和用戶地址空間之間拷貝數據 141
6.5 進程地址空間的管理 141
6.5.1 區的上鎖和解鎖 142
6.5.2 區的分配 142
6.5.3 區附接到進程 143
6.5.4 區大小的改變 144
6.5.5 區的裝入 146
6.5.6 區的釋放 148
6.5.7 區與進程的斷接 148
6.5.8 區的複製 150
6.6 睡眠 151
6.6.1 睡眠事件及其地址 151
6.6.2 算法sleep和wakeup 152
6.7 本章小結 156
6.8 習題 156
第7章 進程控制 159
7.1 進程的創建 159
7.2 軟中斷信號 166
7.2.1 軟中斷信號的處理 169
7.2.2 進程組 175
7.2.3 從進程發送軟中斷信號 175
7.3 進程的終止 176
7.4 等待進程的終止 178
7.5 對其他程序的引用 181
7.6 進程的用戶標識號 188
7.7 改變進程的大小 191
7.8 shell程序 193
7.9 系統自舉和進程init 195
7.10 本章小結 198
7.11 習題 199
第8章 進程調度和時間 206
8.1 進程調度 206
8.1.1 算法 206
8.1.2 調度參數 207
8.1.3 進程調度的例子 210
8.1.4 進程優先權的控制 212
8.1.5 公平共享調度 213
8.1.6 實時處理 214
8.2 有關時間的系統調用 215
8.3 時鐘 218
8.3.1 重新啟動時鐘 218
8.3.2 系統的內部定時 218
8.3.3 直方圖分析 220
8.3.4 記帳和統計 223
8.3.5 計時 223
8.4 本章小結 224
8.5 習題 224
第9章 存儲管理策略 226
9.1 對換 226
9.1.1 對換空間的分配 226
9.1.2 進程的換出 229
9.1.3 進程的換入 232
9.2 請求調頁 236
9.2.1 請求調頁的數據結構 238
9.2.2 偷頁進程 243
9.2.3 頁面錯 246
9.2.4 在簡單硬件支持下的請求調頁系統 253
9.3 對換和請求調頁的混合系統 254
9.4 本章小結 254
9.5 習題 255
第 10章 輸入 輸出子系統 258
10.1 驅動程序接口 258
10.1.1 系統配置 259
10.1.2 系統調用與驅動程序
接口 261
10.1.3 中斷處理程序 267
10.2 磁盤驅動程序 268
10.3 終端驅動程序 271
10.3.1 字符表clist 273
10.3.2 標準方式下的終端驅動程序 276
10.3.3 原始方式下的終端驅動程序 280
10.3.4 終端探詢 282
10.3.5 建立控制終端 283
10.3.6 間接終端驅動程序 283
10.3.7 註冊到系統 284
10.4 流 285
10.4.1 流的詳細的示例 288
10.4.2 對流的分析 290
10.5 本章小結 291
10.6 習題 291
第 11章 進程間通信 294
11.1 進程跟蹤 294
11.2 系統Ⅴ IPC 297
11.2.1 消息 299
11.2.2 共享存儲區 304
11.2.3 信號量 308
11.2.4 總的評價 316
11.3 網絡通信 317
11.4 套接字 318
11.5 本章小結 322
11.6 習題 323
第 12章 多處理機系統 325
12.1 多處理機系統的問題 325
12.2 主從處理機解決方法 326
12.3 信號量解決方法 328
12.3.1 信號量定義 329
12.3.2 信號置實現 329
12.3.3 幾個算法 336
12.4 Tunis系統 340
12.5 性能局限性 340
12.6 習題 340
第 13章 分布式UNIX系統 342
13.1 衛星處理機系統 343
13.2 紐卡斯爾連接 350
13.3 透明型分布式文件系統 353
13.4 無存根進程的透明分布式模型 356
13.5 本章小結 357
13.6 習題 358
附錄A 系統調用 361
索引 377
參考文獻 382
參考文獻
- ↑ 我國出版社的等級劃分和分類標準,知網出書,2021-03-01
- ↑ 人民郵電出版社簡介,人民郵電出版社