評分
☆☆☆☆☆
這書英文版貌似跟我差不多大。 學瞭不少知識,但是很快又忘記瞭。
評分
☆☆☆☆☆
震區必備!
評分
☆☆☆☆☆
這書英文版貌似跟我差不多大。 學瞭不少知識,但是很快又忘記瞭。
評分
☆☆☆☆☆
可惜又忘完瞭。 感覺沒啥新鮮的概念呢。
評分
☆☆☆☆☆
這書英文版貌似跟我差不多大。 學瞭不少知識,但是很快又忘記瞭。
譯者序
前 言
第一部分 綜述
第1章 BSD係統的曆史和目標 1
1.1 UNIX係統的曆史 1
1.1.1 UNIX係統的起源 1
1.1.2 UNIX係統的研究與發展 3
1.1.3 AT&T的UNIX係統Ⅲ和係統Ⅴ 5
1.1.4 其他組織 5
1.1.5 關於BSD係統 5
1.1.6 UNIX世界 6
1.2 BSD和其他係統 7
1.3 4BSD的設計目標 9
1.3.1 4.2BSD設計目標 9
1.3.2 4.3BSD設計目標 10
1.3.3 4.4BSD設計目標 10
1.4 係統的發布 11
參考資源 13
第2章 4.4BSD設計綜述 16
2.1 4.4 BSD模塊與內核 16
2.2 內核結構 17
2.3 內核提供的服務 19
2.4 進程管理 19
2.4.1 信號 20
2.4.2 進程組和會話 21
2.5 內存管理 22
2.5.1 BSD內存管理設計要點 22
2.5.2 內核中的內存管理 23
2.6 I/O係統 24
2.6.1 描述符與I/O 24
2.6.2 描述符管理 25
2.6.3 設備 25
2.6.4 套接字IPC 26
2.6.5 分散/聚集I/O 27
2.6.6 多文件係統支持 27
2.7 文件係統 27
2.8 文件庫(filestore) 30
2.9 網絡文件係統 31
2.10 終端 32
2.11 進程間通信 32
2.12 網絡通信 33
2.13 網絡實現 33
2.14 係統操作 34
習題 34
參考資源 34
第3章 內核服務 36
3.1 內核組織 36
3.1.1 係統進程 36
3.1.2 係統入口 36
3.1.3 內核的運行時結構 37
3.1.4 內核的入口 38
3.1.5 內核的返迴 39
3.2 係統調用 39
3.2.1 結果處理 39
3.2.2 係統調用的返迴 40
3.3 陷阱和中斷 40
3.3.1 陷阱 40
3.3.2 I/O設備中斷 41
3.3.3 軟件中斷 41
3.4 時鍾中斷 42
3.4.1 統計和進程調度 42
3.4.2 超時 43
3.5 內存管理服務 44
3.6 時間服務 46
3.6.1 標準時間 47
3.6.2 調整時間 47
3.6.3 外部錶示 47
3.6.4 間隔時間 47
3.7 用戶、組和其他標識符 48
3.7.1 主機標識符 50
3.7.2 進程組和會話 50
3.8 資源服務 51
3.8.1 進程優先級 51
3.8.2 資源利用 51
3.8.3 資源限製 51
3.8.4 文件係統配額 52
3.9 係統操作服務 52
習題 53
參考資源 54
第二部分 進程
第4章 進程管理 55
4.1 進程管理概述 55
4.1.1 多程序機製 56
4.1.2 調度 56
4.2 進程狀態 57
4.2.1 進程結構 58
4.2.2 用戶結構 61
4.3 上下文切換 62
4.3.1 進程狀態 63
4.3.2 底層上下文切換 63
4.3.3 主動上下文切換 63
4.3.4 同步 65
4.4 進程調度 67
4.4.1 進程優先級的計算 67
4.4.2 進程優先級例程 68
4.4.3 進程運行隊列和上下文切換 69
4.5 進程創建 70
4.6 進程終止 72
4.7 信號 72
4.7.1 與POSIX信號的比較 74
4.7.2 發送信號 75
4.7.3 傳遞信號 77
4.8 進程組和會話 78
4.8.1 會話 79
4.8.2 作業控製 80
4.9 進程調試 81
習題 83
參考資源 84
第5章 內存管理 85
5.1 術語 85
5.1.1 進程與內存 86
5.1.2 分頁 86
5.1.3 替換算法 87
5.1.4 工作集模型 87
5.1.5 交換 88
5.1.6 虛擬內存的優點 88
5.1.7 虛擬內存的硬件要求 88
5.2 4.4BSD虛擬內存係統綜述 89
5.3 內核內存管理 91
5.3.1 內核映射和子映射 91
5.3.2 內核地址空間的分配 92
5.3.3 內核內存分配 93
5.4 進程獨立擁有的資源(Per-Process Resource) 95
5.4.1 4.4BSD進程虛擬地址空間 95
5.4.2 缺頁調度 96
5.4.3 映射對象 97
5.4.4 對象 98
5.4.5 頁對象 98
5.5 共享內存 99
5.5.1 mmap模型 100
5.5.2 共享映射 102
5.5.3 私有映射 102
5.5.4 壓縮影子鏈 104
5.5.5 私有快照 105
5.6 新進程的創建 106
5.6.1 保留內核資源 106
5.6.2 復製用戶地址空間 107
5.6.3 不采用復製技術創建新進程 108
5.7 文件的執行 108
5.8 進程地址空間的操作 109
5.8.1 進程大小的改變 109
5.8.2 文件映射 110
5.8.3 改變保護機製 111
5.9 進程的終止 112
5.10 分頁器接口 112
5.10.1 vnode 分頁器 114
5.10.2 設備分頁器 115
5.10.3 交換分頁器 115
5.11 分頁 117
5.12 頁麵替換 121
5.12.1 換頁參數 122
5.12.2 頁麵換齣守護進程 123
5.12.3 交換 124
5.12.4 換入進程 125
5.13 可移植性 126
5.13.1 pmap模塊的角色 128
5.13.2 初始化和啓動 130
5.13.3 映射的分配和釋放 132
5.13.4 改變映射的訪問和鎖定屬性 134
5.13.5 頁錶使用信息的管理 135
5.13.6 物理頁麵的初始化 135
5.13.7 內部數據結構的管理 136
習題 137
參考資源 137
第三部分 I/O係統
第6章 I/O係統綜述 139
6.1 從用戶到設備的I/O映射 139
6.1.1 設備驅動程序 140
6.1.2 I/O隊列 141
6.1.3 中斷處理 141
6.2 塊設備 142
6.2.1 塊設備的入口點 142
6.2.2 磁盤I/O請求的排序 143
6.2.3 磁盤標簽 144
6.3 字符設備 145
6.3.1 原始設備和物理I/O 146
6.3.2 麵嚮字符的設備 147
6.3.3 字符設備驅動程序的入口點 148
6.4 描述符管理和服務 148
6.4.1 打開文件入口 149
6.4.2 對描述符的管理 151
6.4.3 文件描述符的鎖定 152
6.4.4 描述符上的多路復用I/O操作 154
6.4.5 select的實現 155
6.4.6 在內核中數據的移動 157
6.5 虛擬文件係統的接口 159
6.5.1 vnode的內容 159
6.5.2 對vnode的操作 160
6.5.3 路徑名翻譯 161
6.5.4 導齣文件係統服務 162
6.6 獨立於文件係統的服務 163
6.6.1 名字緩存 164
6.6.2 緩衝區管理 165
6.6.3 緩衝區管理的實現 167
6.7 可堆疊的文件係統 169
6.7.1 簡單文件係統層 170
6.7.2 聯閤安裝的文件係統 171
6.7.3 其他的文件係統 173
習題 174
參考資源 175
第7章 本地文件係統 176
7.1 文件係統的分層管理 176
7.2 索引節點的結構 177
7.3 命名 180
7.3.1 目錄 180
7.3.2 在目錄中查找名字 181
7.3.3 路徑名轉化 182
7.3.4 鏈接 182
7.4 配額 185
7.5 文件鎖定 187
7.6 其他文件係統機製 191
7.6.1 大文件支持 191
7.6.2 文件標誌 192
習題 193
參考資源 193
第8章 本地文件庫 194
8.1 文件庫概述 194
8.2 Berkeley 快速文件係統 196
8.2.1 Berkeley 快速文件係統的組織 197
8.2.2 存儲策略的優化 198
8.2.3 文件的讀/寫操作 199
8.2.4 文件係統參數化 201
8.2.5 布局策略 202
8.2.6 分配機製 203
8.2.7 塊的成簇 205
8.2.8 同步操作 207
8.3 日誌結構的文件係統 208
8.3.1 日誌結構的文件係統組織 209
8.3.2 索引文件 211
8.3.3 讀日誌 212
8.3.4 寫日誌 212
8.3.5 塊統計 213
8.3.6 緩存 215
8.3.7 目錄操作 215
8.3.8 文件的創建 216
8.3.9 讀寫文件 217
8.3.10 文件係統清理 217
8.3.11 文件係統參數化 219
8.3.12 文件係統的崩潰恢復 219
8.4 基於內存的文件係統 220
8.4.1 基於內存的文件係統的組織 221
8.4.2 文件係統性能 223
8.4.3 展望 223
習題 224
參考資源 225
第9章 網絡文件係統 227
9.1 曆史和概況 227
9.2 NFS結構和操作 229
9.2.1 NFS協議 231
9.2.2 4.4BSD的NFS實現 233
9.2.3 客戶端/服務器的交互 236
9.2.4 RPC的傳輸問題 236
9.2.5 安全問題 237
9.3 提高性能的技術 239
9.3.1 租約 241
9.3.2 崩潰恢復 244
習題 245
參考資源 246
第10章 終端處理 248
10.1 終端處理模式 248
10.2 行規程 249
10.3 用戶接口 250
10.4 tty數據結構 251
10.5 進程組、會話和終端控製 253
10.6 字符列錶 253
10.7 RS-232和調製解調器控製 254
10.8 終端操作 255
10.8.1 打開 255
10.8.2 輸齣行規程 256
10.8.3 輸齣的上半部 257
10.8.4 輸齣的下半部 258
10.8.5 輸入的下半部 258
10.8.6 輸入的上半部 259
10.8.7 stop例程 260
10.8.8 ioctl例程 260
10.8.9 調製解調器轉換 261
10.8.10 關閉終端設備 261
10.9 其他的行規程 262
10.9.1 串行綫路IP規程 262
10.9.2 圖錶行規程 263
習題 263
參考資源 263
第四部分 通信
第11章 進程間通信 265
11.1 進程間通信模型 265
11.2 實現結構和概述 270
11.3 內存管理 271
11.3.1 mbufs 271
11.3.2 存儲管理算法 273
11.3.3 mbuf操作例程 274
11.4 數據結構 275
11.4.1 通信域 275
11.4.2 套接字 276
11.4.3 套接字地址 278
11.5 建立連接 279
11.6 數據傳送 281
11.6.1 傳送數據 281
11.6.2 接收數據 283
11.6.3 傳遞訪問權限 285
11.6.4 在本地域傳遞訪問權限 286
11.7 關閉套接字 287
習題 288
參考資源 289
第12章 網絡通信 290
12.1 內部結構 290
12.1.1 數據流 291
12.1.2 通信協議 291
12.1.3 網絡接口 293
12.2 套接字到協議的接口 297
12.2.1 協議用戶請求例程 298
12.2.2 內部請求 300
12.2.3 協議控製-輸齣例程 300
12.3 協議到協議的接口 301
12.3.1 pr_output 301
12.3.2 pr_input 301
12.3.3 pr_ctlinput 301
12.4 協議和網絡接口之間的接口 302
12.4.1 數據包的傳送 302
12.4.2 數據包的接收 303
12.5 路由 305
12.5.1 內核路由錶 306
12.5.2 路由查找 308
12.5.3 路由重定嚮 311
12.5.4 路由錶接口 311
12.5.5 用戶級的路由策略 312
12.5.6 用戶級路由接口:路由套接字 312
12.6 緩存和擁塞控製 313
12.6.1 協議緩存策略 313
12.6.2 隊列限製 314
12.7 原始套接字 314
12.7.1 控製塊 314
12.7.2 輸入處理 315
12.7.3 輸齣處理 315
12.8 其他的網絡子係統主題 315
12.8.1 帶外數據 316
12.8.2 地址解析協議 316
習題 317
參考資源 318
第13章 網絡協議 320
13.1 Internet網絡協議 320
13.1.1 Internet地址 322
13.1.2 子網 322
13.1.3 廣播地址 324
13.1.4 Internet多播 324
13.1.5 Internet端口與關聯 325
13.1.6 協議控製塊 325
13.2 用戶數據報協議(UDP) 325
13.2.1 初始化 326
13.2.2 輸齣 327
13.2.3 輸入 327
13.2.4 控製操作 328
13.3 互聯網協議(IP) 328
13.3.1 輸齣 329
13.3.2 輸入 330
13.3.3 轉發 331
13.4 傳輸控製協議(TCP) 332
13.4.1 TCP連接狀態 333
13.4.2 序列變量 336
13.5 TCP 算法 337
13.5.1 定時器 338
13.5.2 往返程時間的估計 339
13.5.3 連接建立 340
13.5.4 連接關閉 341
13.6 TCP輸入處理 342
13.7 TCP輸齣處理 344
13.7.1 數據的發送 345
13.7.2 避免傻瓜窗口綜閤徵 346
13.7.3 避免小數據包 346
13.7.4 延遲的確認及窗口更新 347
13.7.5 重發狀態 348
13.7.6 慢啓動 348
13.7.7 源抑製的處理 349
13.7.8 緩衝區與窗口大小調整 349
13.7.9 使用慢啓動避免擁塞 350
13.7.10 快速重發 351
13.8 Internet控製報文協議(ICMP) 352
13.9 OSI實現中的問題 353
13.10 聯網和進程間通信綜述 355
13.10.1 通信通道的創建 355
13.10.2 數據的發送與接收 356
13.10.3 數據傳送或接收的終止 356
習題 357
參考資源 359
第五部分 係統操作
第14章 係統啓動 361
14.1 概述 361
14.2 引導 362
14.3 內核的初始化 363
14.3.1 匯編語言啓動 363
14.3.2 機器相關初始化 364
14.3.3 消息緩衝區 364
14.3.4 係統數據結構 364
14.4 自動配置 365
14.4.1 設備的探測 366
14.4.2 設備連接 367
14.4.3 新的自動配置數據結構 367
14.4.4 新的自動配置函數 368
14.4.5 設備命名 368
14.5 獨立於機器的初始化 369
14.6 用戶級初始化 371
14.6.1 /sbin/init 371
14.6.2 /etc/rc 372
14.6.3 /usr/libexe/getty 372
14.6.4 /usr/bin/login 372
14.7 係統啓動的相關話題 373
14.7.1 內核的配置 373
14.7.2 係統關機與自動重啓 373
14.7.3 係統調試 374
14.7.4 同內核來迴傳遞信息 374
習題 375
參考資源 376
附錄 術語錶 377
· · · · · · (
收起)
評分
☆☆☆☆☆
BSD三兄弟中,FREEBSD是当之无愧的老大。这玩意只有搞操作系统的哥们看看。咱也是从linux正营策反过来的,鼓捣这玩意比linux有意思的多。(个人喜好而已,口下留情,不想打OS的口水仗)而在天朝BSD类的书奇缺,能看到这本已是万幸!大三那年 ,上操作系统的课,好好把书看了一...
評分
☆☆☆☆☆
看下面链接给出消息,第二版有以下改进 • Explains highly scalable and lightweight virtualization using FreeBSD jails, and virtual-machine acceleration with Xen and Virtio device paravirtualization • Describes new security features such as Capsicum sandb...
評分
☆☆☆☆☆
这本书有中文版,但是不推荐,翻译质量不好。 这本书没有讲具体的代码,而是分析了4.4 BSD内核的各个子系统的结构,因此对于初学OS的同学不太合适。但是对于已经理解基本概念的同学来说,这本书非常值得一看,仅凭虚拟内存(VM)首先在BSD上实现就不能错过本书。
評分
☆☆☆☆☆
看下面链接给出消息,第二版有以下改进 • Explains highly scalable and lightweight virtualization using FreeBSD jails, and virtual-machine acceleration with Xen and Virtio device paravirtualization • Describes new security features such as Capsicum sandb...
評分
☆☆☆☆☆
看下面链接给出消息,第二版有以下改进 • Explains highly scalable and lightweight virtualization using FreeBSD jails, and virtual-machine acceleration with Xen and Virtio device paravirtualization • Describes new security features such as Capsicum sandb...