FreeBSD操作係統設計與實現(第2版) 英文版

FreeBSD操作係統設計與實現(第2版) 英文版 pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:[美]Marshall Kirk McKusick
出品人:
頁數:846
译者:
出版時間:2016-3-1
價格:118
裝幀:平裝
isbn號碼:9787115413499
叢書系列:
圖書標籤:
  • 操作係統
  • 計算機
  • BSD
  • UNIX
  • Programming
  • Unix/Linux
  • IT
  • FreeBSD
  • 操作係統
  • 內核
  • 設計
  • 實現
  • Unix
  • 網絡
  • 係統編程
  • BSD
  • 計算機科學
  • 技術
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書是FreeBSD內核完整的技術指南,在上一版的基礎上進行瞭全麵更新,以涵蓋版本FreeBSD 5和版本11之間的所有重大改進。本書大約有1/3的內容是全新的,還有1/3的內容進行瞭完全重寫。

在本書中,三位FreeBSD項目領導人先概述瞭FreeBSD內核的當前設計和實現,接下來從係統調用級彆開始嚮下(從接口到內核再到硬件)講解瞭FreeBSD內核。本書先解釋瞭關鍵的設計決策,然後剖析瞭在實現每一個重要係統組件(包括進程管理、安全、虛擬內存、I/O係統、文件係統、socket IPC和網絡等)時使用的概念、數據結構和算法。

讀者可將本書用作工作參考,或者是深入研究當代傑齣的可移植開源操作係統的學習資料。技術和銷售支持人員也可以在本書中發現FreeBSD的功能以及局限性;應用開發人員將學到如何有效、高效地與FreeBSD進行交互;係統管理員將學到維護、調優和配置FreeBSD的方法;係統程序員則學到擴展、增強FreebSD以及與FreeBSD進行交互的方法。

本書涵蓋瞭如下內容。

使用FreeBSD jail講解高度可擴展和輕量級的虛擬化,以及使用Xen和Virtio設備半虛擬化進行虛擬設備加速;

講解瞭新的安全特性,比如Capsicum沙箱和GELI加密磁盤保護;

全麵支持NFSv4和Open Solaris ZFS;

介紹瞭FreeBSD增強的捲管理和新的日誌軟更新;

解釋瞭DTrace精細的過程調試/分析;

講解瞭在網絡、無綫和USB支持方麵的主要更新。

著者簡介

Marshall Kirk McKusick編寫瞭與UNIX和BSD主題相關的許多資料,並提供相應的谘詢和教學服務。當在加州大學伯剋利分校時,他實現瞭4.2BSD快速文件係統。他曾經是伯剋利計算機係統研究組(CSRG)的一名計算機科學傢,監督4.3BSD和4.4BSD的開發與發布。他當前是FreebSD基金會的董事會成員,也是一名長期的FreeBSD貢獻者。他曾經擔任過兩次Usenix協會的主席,還是ACM、IEEE和AAAS的成員。

George V.Neville-Neil編寫瞭與安全、網絡和操作係統相關的許多資料,並提供相應的谘詢和教學服務。作為FreeBSD基金會的董事會成員,他為FreeBSD核心團隊服務瞭4年之久。從2004年起,他為Queue和Communications of the ACM寫作“Kode Vicious”專欄。他當前是ACM執業委員會的副主席,也是Usenix協會、ACM、IEEE和AAAS的成員。

Robert N.M.Watson是劍橋大學計算機實驗室安全研究組的一名大學講師,負責講授係統、安全和架構課程。他監督在計算機架構、編譯器、程序分析、操作係統、網絡和安全方麵的高級研究。作為FreeBSD基金會的董事局成員,他為FreeBSD核心團隊服務瞭10年之久,而且當瞭15年的貢獻者。他是Usenix協會和ACM的會員。

圖書目錄

Part I Overview 1
第1部分 概述
Chapter 1 History and Goals 3
第1章 曆史和目標
1.1 History of the UNIX System / UNIX係統的曆史 3
Origins / 起源 3
Research UNIX / 研究UNIX 4
AT&T UNIX System III and System V / AT&T UNIX System III
和System V 5
Berkeley Software Distributions / 伯剋利軟件分發 6
UNIX in the World / 世界上的UNIX 7
1.2 BSD and Other Systems / BSD和其他係統 7
The Influence of the User Community / 用戶社區的影響 8
1.3 The Transition of BSD to Open Source / BSD嚮開源的過渡 9
Networking Release 2 / 網絡發布2 10
The Lawsuit / 訴訟 11
4.4BSD / 4.4BSD 13
4.4BSD-Lite Release 2 / 4.4BSD-Lite版本2 13
1.4 The FreeBSD Development Model / FreeBSD開發模型 14
References / 參考文獻 17
Chapter 2 Design Overview of FreeBSD 21
第2章 FreeBSD設計概述
2.1 FreeBSD Facilities and the Kernel / FreeBSD組件與內核 21
The Kernel / 內核 22
2.2 Kernel Organization / 內核組織 23
2.3 Kernel Services / 內核服務 26
2.4 Process Management / 進程管理 26
Signals / 信號 28
Process Groups and Sessions / 進程組和會話 29
2.5 Security / 安全 29
Process Credentials / 進程憑證 31
Privilege Model / 特權模式 31
Discretionary Access Control / 自由訪問控製 32
Capability Model / 能力模型 32
Jail Lightweight Virtualization / Jail輕型虛擬化 32
Mandatory Access Control / 強製訪問控製 34
Event Auditing / 事件審計 35
Cryptography and Random-Number Generators / 35
加密和隨機數生成器
2.6 Memory Management / 存儲管理 36
BSD Memory-Management Design Decisions / 36
BSD存儲管理設計決策
Memory Management Inside the Kernel / 內核中的存儲管理 38
2.7 I/O System Overview / I/O係統概述 39
Descriptors and I/O / 描述符和I/O 39
Descriptor Management / 描述符管理 41
Devices / 設備 42
Socket IPC / 套接字IPC 42
Scatter-Gather I/O / 分散-收集I/O 43
Multiple Filesystem Support / 多文件係統支持 43
2.8 Devices / 設備 44
2.9 The Fast Filesystem / 快速文件係統 45
Filestores / 文件存儲 48
2.10 The Zettabyte Filesystem / 澤字節文件係統 49
2.11 The Network Filesystem / 網絡文件係統 50
2.12 Interprocess Communication / 進程間通信 50
2.13 Network-Layer Protocols / 網絡層協議 51
2.14 Transport-Layer Protocols / 傳輸層協議 52
2.15 System Startup and Shutdown / 係統啓動與關閉 52
Exercises / 練習 54
References / 參考文獻 54
Chapter 3 Kernel Services 57
第3章 內核服務
3.1 Kernel Organization / 內核組織 57
System Processes / 係統進程 57
System Entry / 係統入口 58
Run-Time Organization / 運行時管理 59
Entry to the Kernel / 內核入口 60
Return from the Kernel / 從內核返迴 61
3.2 System Calls / 係統調用 62
Result Handling / 返迴處理機製 62
Returning from a System Call / 從係統調用返迴 63
3.3 Traps and Interrupts / 陷阱和中斷 64
I/O Device Interrupts / I/O設備中斷 64
Software Interrupts / 軟件中斷 65
3.4 Clock Interrupts / 時鍾中斷 65
Statistics and Process Scheduling / 統計和進程調度機製 66
Timeouts / 超時 67
3.5 Memory-Management Services / 存儲管理服務 69
3.6 Timing Services / 計時服務 73
Real Time / 實時 73
External Representation / 外部錶示 73
Adjustment of the Time / 時間調整 74
Interval Time / 間隔時間 74
3.7 Resource Services / 資源服務 75
Process Priorities / 進程優先級 75
Resource Utilization / 資源利用 75
Resource Limits / 資源限製 76
Filesystem Quotas / 文件係統配額 77
3.8 Kernel Tracing Facilities / 內核跟蹤組件 77
System-Call Tracing / 係統調用跟蹤 77
DTrace / DTrace 78
Kernel Tracing / 內核跟蹤 82
Exercises / 練習 84
References / 參考文獻 85
Part II Processes 87
第II部分 進程
Chapter 4 Process Management 89
第4章 進程管理
4.1 Introduction to Process Management / 進程管理簡介 89
Multiprogramming / 多程序設計 90
Scheduling / 調度機製 91
4.2 Process State / 進程狀態 92
The Process Structure / 進程架構 94
The Thread Structure / 綫程架構 98
4.3 Context Switching / 上下文切換 99
Thread State / 綫程狀態 100
Low-Level Context Switching / 低層上下文切換 100
Voluntary Context Switching / 自願上下文切換 101
Synchronization / 同步 106
Mutex Synchronization / 互斥同步 107
Mutex Interface / 互斥接口 109
Lock Synchronization / 鎖同步 110
Deadlock Prevention / 死鎖預防 112
4.4 Thread Scheduling / 綫程調度機製 114
The Low-Level Scheduler / 低層調度器 114
Thread Run Queues and Context Switching / 115
綫程運行隊列和上下文切換
Timeshare Thread Scheduling / 分時綫程調度 117
Multiprocessor Scheduling / 多處理器調度 122
Adaptive Idle / 自適應空閑 125
Traditional Timeshare Thread Scheduling / 125
傳統的分時綫程調度
4.5 Process Creation / 創建進程 126
4.6 Process Termination / 終止進程 128
4.7 Signals / 信號 129
Posting of a Signal / 發齣信號 132
Delivering a Signal / 傳輸信號 135
4.8 Process Groups and Sessions / 進程組和會話 136
Process Groups / 進程組 137
Sessions / 會話 138
Job Control / 作業控製 139
4.9 Process Debugging / 進程調試 142
Exercises / 練習 144
References / 參考文獻 146
Chapter 5 Security 147
第5章 安全
5.1 Operating-System Security / 操作係統安全 148
5.2 Security Model / 安全模型 149
Process Model / 進程模型 149
Discretionary and Mandatory Access Control 150
自由和強製訪問控製
Trusted Computing Base (TCB) / 受信計算基(TCB) 151
Other Kernel-Security Features / 其他內核安全特性 151
5.3 Process Credentials / 進程憑證 151
The Credential Structure / 憑證架構 152
Credential Memory Model / 憑證存儲模型 153
Access-Control Checks / 訪問控製校驗 153
5.4 Users and Groups / 用戶和組 154
Setuid and Setgid Binaries / Setuid和Setgid二進製 155
5.5 Privilege Model / 特權模型 157
Implicit Privilege / 隱式特權 157
Explicit Privilege / 顯式特權 157
5.6 Interprocess Access Control / 進程間訪問控製 159
Visibility / 可見性 160
Signals / 信號 160
Scheduling Control / 調度控製 160
Waiting on Process Termination / 等待進程終止 161
Debugging / 調試 161
5.7 Discretionary Access Control / 自由訪問控製 161
The Virtual-Filesystem Interface and DAC / 162
虛擬文件係統接口和DAC
Object Owners and Groups / 對象屬主和組 163
UNIX Permissions / UNIX權限 164
Access Control Lists (ACLs) / 訪問控製列錶(ACL) 165
POSIX.1e Access Control Lists / POSIX.1e訪問控製列錶 168
NFSv4 Access Control Lists / NFSv4訪問控製列錶 171
5.8 Capsicum Capability Model / Capsicum能力模型 174
Capsicum Application Structure / Capsicum應用架構 175
Capability Systems / 能力係統 176
Capabilities / 能力 177
Capability Mode / 能力模型 179
5.9 Jails / Jail 180
5.10 Mandatory Access-Control Framework / 強製訪問控製框架 184
Mandatory Policies / 強製策略 186
Guiding Design Principles / 設計原則指導 187
Architecture of the MAC Framework / MAC框架的架構 188
Framework Startup / 啓動框架 189
Policy Registration / 策略注冊 190
Framework Entry-Point Design Considerations / 191
框架入口點設計考量
Policy Entry-Point Considerations / 策略入口點考量 192
Kernel Service Entry-Point Invocation / 內核服務入口點調用 193
Policy Composition / 策略組成 194
Object Labelling / 給對象打標簽 195
Label Life Cycle and Memory Management / 196
標簽生命周期和存儲管理
Label Synchronization / 標簽同步 199
Policy-Agnostic Label Management from Userspace / 199
從用戶空間進行策略無關的標簽管理
5.11 Security Event Auditing / 安全事件審計 200
Audit Events and Records / 審計事件和記錄 201
BSM Audit Records and Audit Trails / 202
BSM審計記錄和審計跟蹤
Kernel-Audit Implementation / 內核審計的實施 203
5.12 Cryptographic Services / 加密服務 206
Cryptographic Framework / 加密框架 206
Random-Number Generator / 隨機數生成器 208
5.13 GELI Full-Disk Encryption / GELI全磁盤加密 212
Confidentiality and Integrity Protection / 保密性和完整性保護 212
Key Management / 密鑰管理 213
Starting GELI / 啓動GELI 214
Cryptographic Block Protection / 加密塊保護 215
I/O Model / I/O模型 216
Limitations / 限製 216
Exercises / 練習 217
References / 參考文獻 217
Chapter 6 Memory Management 221
第6章 存儲管理
6.1 Terminology / 術語 221
Processes and Memory / 進程和存儲 222
Paging / 分頁 223
Replacement Algorithms / 替換算法 224
Working-Set Model / 工作集模型 225
Swapping / 交換 225
Advantages of Virtual Memory / 虛擬存儲的優勢 225
Hardware Requirements for Virtual Memory / 226
虛擬存儲的硬件需求
6.2 Overview of the FreeBSD Virtual-Memory System / 227
FreeBSD虛擬存儲係統概述
User Address-Space Management / 用戶地址空間管理 228
6.3 Kernel Memory Management / 內核存儲管理 230
Kernel Maps and Submaps / 內核映射和子映射 231
Kernel Address-Space Allocation / 內核地址空間分配 233
The Slab Allocator / Slab分配器 236
The Keg Allocator / Keg分配器 238
The Zone Allocator / Zone分配器 239
Kernel Malloc / Malloc內核 241
Kernel Zone Allocator / 內核Zone分配器 243
6.4 Per-Process Resources / 每進程資源 244
FreeBSD Process Virtual-Address Space / 245
FreeBSD進程虛擬地址空間
Page-Fault Dispatch / 頁麵故障調度 245
Mapping to Vm_objects / 映射到Vm_objects 247
Vm_objects / Vm_objects 249
Vm_objects to Pages / Vm_object到頁麵 249
6.5 Shared Memory / 共享存儲 250
Mmap Model / Mmap模型 251
Shared Mapping / 共享映射 253
Private Mapping / 私有映射 254
Collapsing of Shadow Chains / 陰影鏈的崩潰 257
Private Snapshots / 私有快照 258
6.6 Creation of a New Process / 創建一個新的進程 258
Reserving Kernel Resources / 預留內核資源 259
Duplication of the User Address Space / 用戶地址空間的重復 260
Creation of a New Process Without Copying / 261
不使用復製的方式來創建新的進程
6.7 Execution of a File / 執行文件 262
6.8 Process Manipulation of Its Address Space / 263
進程以及地址空間的操作
Change of Process Size / 改變進程的大小 263
File Mapping / 文件映射 264
Change of Protection / 改變保護 266
6.9 Termination of a Process / 終止進程 266
6.10 The Pager Interface / 分頁器接口 267
Vnode Pager / Vnode分頁器 269
Device Pager / 設備分頁器 270
Physical-Memory Pager / 物理存儲分頁器 272
Swap Pager / 交換分頁器 272
6.11 Paging / 分頁機製 276
Hardware-Cache Design / 硬件緩存設計 280
Hardware Memory Management / 硬件存儲管理 282
Superpages / 超級頁麵 284
6.12 Page Replacement / 頁麵替換 289
Paging Parameters / 分頁參數 291
The Pageout Daemon / 分頁守護進程 292
Swapping / 交換 295
The Swap-In Process / 進程內的交換 296
6.13 Portability / 可移植性 298
The Role of the pmap Module / pmap模塊的角色 299
Initialization and Startup / 初始化和啓動 301
Mapping Allocation and Deallocation / 映射分配和釋放 304
Change of Access and Wiring Attributes for Mappings / 306
更改映射的訪問和布綫屬性
Maintenance of Physical Page-Usage Information / 307
物理頁麵使用信息的維護
Initialization of Physical Pages / 物理頁麵的初始化 308
Management of Internal Data Structures / 內部數據結構的管理 308
Exercises / 練習 308
References / 參考文獻 310
Part III I/O System 313
第III部分 I/O係統
Chapter 7 I/O System Overview 315
第7章 I/O係統概述
7.1 Descriptor Management and Services / 描述符管理和服務 316
Open File Entries / 開放文件入口 318
Management of Descriptors / 描述符管理 319
Asynchronous I/O / 異步I/O 321
File-Descriptor Locking / 文件描述符鎖定 322
Multiplexing I/O on Descriptors / 描述符上的多路復用I/O 324
Implementation of Select / Select的實現 327
Kqueues and Kevents / Kqueues和Kevents 329
Movement of Data Inside the Kernel / 數據在內核中的移動 332
7.2 Local Interprocess Communication / 本地進程間通信 333
Semaphores / 信號量 335
Message Queues / 消息隊列 337
Shared Memory / 共享存儲 338
7.3 The Virtual-Filesystem Interface / 虛擬文件係統接口 339
Contents of a Vnode / Vnode的內容 339
Vnode Operations / Vnode的操作 342
Pathname Translation / 路徑名的轉換 342
Exported Filesystem Services / 導齣文件係統服務 343
7.4 Filesystem-Independent Services / 獨立於文件係統的服務 344
The Name Cache / 名稱緩存 346
Buffer Management / 緩衝管理 347
Implementation of Buffer Management / 緩衝管理的實現 350
7.5 Stackable Filesystems / 可堆疊的文件係統 352
Simple Filesystem Layers / 簡單的文件係統層 354
The Union Filesystem / 聯閤文件係統 355
Other Filesystems / 其他文件係統 357
Exercises / 練習 358
References / 參考文獻 359
Chapter 8 Devices 361
第8章 設備
8.1 Device Overview / 設備概述 361
The PC I/O Architecture / PC I/O架構 362
The Structure of the FreeBSD Mass Storage I/O Subsystem / 364
FreeBSD海量存儲I/O子係統的架構
Device Naming and Access / 設備命名和訪問 366
8.2 I/O Mapping from User to Device / 從用戶到設備的I/O映射 367
Device Drivers / 設備驅動 368
I/O Queueing / I/O隊列機製 369
Interrupt Handling / 中斷處理 370
8.3 Character Devices / 字符設備 370
Raw Devices and Physical I/O / 原始設備和物理I/O 372
Character-Oriented Devices / 麵嚮字符的設備 373
Entry Points for Character Device Drivers / 373
字符設備驅動的入口點
8.4 Disk Devices / 磁盤設備 374
Entry Points for Disk Device Drivers / 374
磁盤設備驅動的入口點
Sorting of Disk I/O Requests / 磁盤I/O請求的排序 375
Disk Labels / 磁盤捲標 376
8.5 Network Devices / 網絡設備 378
Entry Points for Network Drivers / 網絡驅動的入口點 378
Configuration and Control / 配置和控製 379
Packet Reception / 接收數據包 380
Packet Transmission / 傳輸數據包 381
8.6 Terminal Handling / 終端處理 382
Terminal-Processing Modes / 終端進程模型 383
User Interface / 用戶接口 385
Process Groups, Sessions, and Terminal Control / 387
進程組、會話和終端控製
Terminal Operations / 終端的操作 388
Terminal Output (Upper Half) / 終端輸齣(上半部分) 388
Terminal Output (Lower Half) / 終端輸齣(下半部分) 389
Terminal Input / 終端輸入 390
Closing of Terminal Devices / 關閉終端設備 391
8.7 The GEOM Layer / GEOM層 391
Terminology and Topology Rules / 術語和拓撲規則 392
Changing Topology / 更改拓撲 393
Operation / 操作 396
Topological Flexibility / 拓撲的靈活性 397
8.8 The CAM Layer / CAM層 399
The Path of a SCSI I/O Request Through the CAM Subsystem / 400
通過CAM子係統的SSCI I/O請求路徑
ATA Disks / ATA磁盤 402
8.9 Device Configuration / 設備配置 402
Device Identification / 設備識彆 405
Autoconfiguration Data Structures / 自動配置數據結構 407
Resource Management / 資源管理 412
8.10 Device Virtualization / 設備虛擬化 414
Interaction with the Hypervisor / 與Hypervisor進行交互 414
Virtio / Virtio 415
Xen / Xen 419
Device Pass-Through / 設備直通 427
Exercises / 練習 428
References / 參考文獻 429
Chapter 9 The Fast Filesystem 431
第9章 快速文件係統
9.1 Hierarchical Filesystem Management / 分層的文件係統管理 431
9.2 Structure of an Inode / Inode的架構 433
Changes to the Inode Format / 更改Inode格式 435
Extended Attributes / 擴展屬性 436
New Filesystem Capabilities / 新的文件係統能力 438
File Flags / 文件標記 439
Dynamic Inodes / 動態Inode 441
Inode Management / Inode管理 442
9.3 Naming / 命名 443
Directories / 目錄 444
Finding of Names in Directories / 在目錄中查找名字 446
Pathname Translation / 路徑名轉換 447
Links / 鏈接 449
9.4 Quotas / 配額 451
9.5 File Locking / 文件鎖定 454
9.6 Soft Updates / 軟更新 459
Update Dependencies in the Filesystem / 460
在文件係統中更新依賴
Dependency Structures / 依賴的架構 464
Bitmap Dependency Tracking / 位圖依賴跟蹤 466
Inode Dependency Tracking / Inode依賴跟蹤 467
Direct-Block Dependency Tracking / 直接塊依賴跟蹤 469
Indirect-Block Dependency Tracking / 間接塊依賴跟蹤 470
Dependency Tracking for New Indirect Blocks 471
新間接塊的依賴跟蹤
New Directory-Entry Dependency Tracking 472
新目錄入口的依賴跟蹤
New Directory Dependency Tracking / 新的目錄依賴跟蹤 474
Directory-Entry Removal-Dependency Tracking / 475
目錄入口移除依賴跟蹤
File Truncation / 文件截斷 476
File and Directory Inode Reclamation / 476
文件和目錄Inode復墾
Directory-Entry Renaming Dependency Tracking / 476
目錄入口重命名依賴跟蹤
Fsync Requirements for Soft Updates / 軟更新的Fsync請求 477
File-Removal Requirements for Soft Updates / 478
軟更新的文件移除需求
Soft-Updates Requirements for fsck / fsck的軟更新需求 480
9.7 Filesystem Snapshots / 文件係統快照 480
Creating a Filesystem Snapshot / 創建一個文件係統快照 481
Maintaining a Filesystem Snapshot / 維護一個文件係統快照 483
Large Filesystem Snapshots / 大型文件係統快照 484
Background fsck / fsck的背景知識 486
User-Visible Snapshots / 用戶可見的快照 487
Live Dumps / 實時轉儲 487
9.8 Journaled Soft Updates / 記錄軟更新 487
Background and Introduction / 背景和簡介 487
Compatibility with Other Implementations / 488
與其他實現的兼容
Journal Format / 記錄的格式 488
Modifications That Require Journaling / 需要進行記錄的修改 489
Additional Requirements of Journaling / 490
與記錄相關的額外需求
The Recovery Process / 恢復進程 492
Performance / 性能 493
Future Work / 後續工作 494
Tracking File-Removal Dependencies / 跟蹤文件移除依賴 495
9.9 The Local Filestore / 本地文件存儲 496
Overview of the Filestore / 文件存儲概述 497
User I/O to a File / 用戶對文件的I/O 499
9.10 The Berkeley Fast Filesystem / 伯剋利快速文件係統 501
Organization of the Berkeley Fast Filesystem / 502
伯剋利快速文件係統的組織
Boot Blocks / 引導塊 503
Optimization of Storage Utilization / 存儲利用的優化 504
Reading and Writing to a File / 讀寫文件 505
Layout Policies / 布局策略 507
Allocation Mechanisms / 分配機製 510
Block Clustering / 塊聚類 514
Extent-Based Allocation / 基於分區的分配 516
Exercises / 練習 517
References / 參考文獻 519
Chapter 10 The Zettabyte Filesystem 523
第10章 澤字節文件係統
10.1 Introduction / 簡介 523
10.2 ZFS Organization / ZFS的組織 527
ZFS Dnode / ZFS Dnode 528
ZFS Block Pointers / ZFS塊指針 529
ZFS objset Structure / ZFS objset架構 531
10.3 ZFS Structure / ZFS架構 532
The MOS Layer / MOS層 533
The Object-Set Layer / 對象集層 534
10.4 ZFS Operation / ZFS操作 535
Writing New Data to Disk / 將新的數據寫入磁盤 536
Logging / 記錄日誌 538
RAIDZ / RAIDZ 540
Snapshots / 快照 542
ZFS Block Allocation / ZFS塊分配 542
Freeing Blocks / 釋放塊 543
Deduplication / 刪除重復數據 545
Remote Replication / 遠程復製 546
10.5 ZFS Design Tradeoffs / ZFS設計權衡 547
Exercises / 練習 549
References / 參考文獻 549
Chapter 11 The Network Filesystem 551
第11章 網絡文件係統
11.1 Overview / 概述 551
11.2 Structure and Operation / 架構和操作 553
The FreeBSD NFS Implementation / FreeBSD FNS的實現 558
Client–Server Interactions / 客戶端與服務器的交互 562
Security Issues / 安全問題 564
Techniques for Improving Performance / 565
用於提升性能的技術
11.3 NFS Evolution / NFS的演進 567
Namespace / 名稱空間 572
Attributes / 屬性 572
Access Control Lists / 訪問控製列錶 574
Caching, Delegation, and Callbacks / 緩存、委派和迴調 574
Locking / 鎖定 581
Security / 安全 583
Crash Recovery / 崩潰恢復 584
Exercises / 練習 586
References / 參考文獻 587
Part IV Interprocess Communication 591
第IV部分 進程間通信
Chapter 12 Interprocess Communication 593
第12章 進程間通信
12.1 Interprocess-Communication Model / 進程間通信模型 593
Use of Sockets / 使用套接字 596
12.2 Implementation Structure and Overview / 實現架構和概述 599
12.3 Memory Management / 存儲管理 601
Mbufs / Mbufs 601
Storage-Management Algorithms / 存儲管理算法 605
Mbuf Utility Routines / Mbuf實用例程 606
12.4 IPC Data Structures / IPC數據結構 606
Socket Addresses / 套接字地址 611
Locks / 鎖 612
12.5 Connection Setup / 連接建立 612
12.6 Data Transfer / 數據傳輸 615
Transmitting Data / 傳輸數據 616
Receiving Data / 接收數據 617
12.7 Socket Shutdown / 關閉套接字 620
12.8 Network-Communication Protocol Internal Structure / 621
網絡通信協議內部架構
Data Flow / 數據流 623
Communication Protocols / 通信協議 624
12.9 Socket-to-Protocol Interface / 套接字與協議之間的接口 626
Protocol User-Request Routines / 協議用戶請求例程 627
Protocol Control-Output Routine / 協議控製輸齣例程 630
12.10 Protocol-to-Protocol Interface / 協議與協議的接口 631
pr_output / pr_output 632
pr_input / pr_input 632
pr_ctlinput / pr_ctlinput 633
12.11 Protocol-to-Network Interface / 協議與網路的接口 634
Network Interfaces and Link-Layer Protocols / 634
網絡接口與鏈路層協議
Packet Transmission / 數據包傳輸 641
Packet Reception / 數據包接收 642
12.12 Buffering and Flow Control / 緩衝和流控製 643
Protocol Buffering Policies / 協議緩衝策略 643
Queue Limiting / 隊列限製 643
12.13 Network Virtualization / 網絡虛擬化 644
Exercises / 練習 646
References / 參考文獻 648
Chapter 13 Network-Layer Protocols 649
第13章 網絡層協議
13.1 Internet Protocol Version 4 / IPv4 650
IPv4 Addresses / IPv4地址 652
Broadcast Addresses / 廣播地址 653
Internet Multicast / Internet多播 654
Link-Layer Address Resolution / 鏈路層地址解析 655
13.2 Internet Control Message Protocols (ICMP) / 657
Internet控製消息協議(ICMP)
13.3 Internet Protocol Version 6 / IPv6 659
IPv6 Addresses / IPv6地址 660
IPv6 Packet Formats / IPv6數據包格式 662
Changes to the Socket API / 更改套接字API 664
Autoconfiguration / 自動配置 666
13.4 Internet Protocols Code Structure / IP代碼結構 670
Output / 輸齣 671
Input / 輸入 673
Forwarding / 轉發 674
13.5 Routing / 路由 675
Kernel Routing Tables / 內核路由錶 677
Routing Lookup / 路由查找 680
Routing Redirects / 路由重定嚮 683
Routing-Table Interface / 路由錶接口 683
User-Level Routing Policies / 用戶級路由策略 684
User-Level Routing Interface: Routing Socket / 685
用戶級路由接口:路由套接字
13.6 Raw Sockets / 原始套接字 686
Control Blocks / 控製塊 686
Input Processing / 輸入處理 687
Output Processing / 輸齣處理 687
13.7 Security / 安全 688
IPSec Overview / IPSec概述 689
Security Protocols / 安全協議 690
Key Management / 密鑰管理 693
IPSec Implementation / IPSec實施 698
13.8 Packet-Processing Frameworks / 數據包處理框架 700
Berkeley Packet Filter / 伯剋利數據包過濾器 700
IP Firewalls / IP防火牆 701
IPFW and Dummynet / IPFW和Dummynet 702
Packet Filter (PF) / 數據包過濾器(PF) 706
Netgraph / Netgraph 707
Netmap / Netmap 712
Exercises / 練習 715
References / 參考文獻 717
Chapter 14 Transport-Layer Protocols 721
第14章 傳輸層協議
14.1 Internet Ports and Associations / Internet端口和關聯 721
Protocol Control Blocks / 協議控製塊 722
14.2 User Datagram Protocol (UDP) / 用戶數據報協議(UDP) 723
Initialization / 初始化 723
Output / 輸齣 724
Input / 輸入 724
Control Operations / 控製操作 725
14.3 Transmission Control Protocol (TCP) / 傳輸控製協議(TCP) 725
TCP Connection States / TCP連接狀態 727
Sequence Variables / 序列變量 730
14.4 TCP Algorithms / TCP算法 732
Timers / 計時器 733
Estimation of Round-Trip Time / 估算往返時間 735
Connection Establishment / 連接建立 736
SYN Cache / SYN緩存 739
SYN Cookies / SYN Cookie 739
Connection Shutdown / 連接關閉 740
14.5 TCP Input Processing / TCP輸入處理 741
14.6 TCP Output Processing / TCP輸齣處理 745
Sending Data / 發送數據 746
Avoidance of the Silly-Window Syndrome / 746
避免笨窗口綜閤徵
Avoidance of Small Packets / 避免小數據包 747
Delayed Acknowledgments and Window Updates / 748
延遲確認和窗口更新
Selective Acknowledgment / 選擇性確認 749
Retransmit State / 重傳狀態 751
Slow Start / 慢啓動 752
Buffer and Window Sizing / 緩存和窗口大小 754
Avoidance of Congestion with Slow Start / 755
帶有慢啓動的擁塞避免
Fast Retransmission / 快速重傳 756
Modular Congestion Control / 模塊化擁塞控製 758
The Vegas Algorithm / Vegas算法 759
The Cubic Algorithm / Cubic算法 760
14.7 Stream Control Transmission Protocol (SCTP) / 761
流控傳輸協議(SCTP)
Chunks / 大數據塊 762
Association Setup / 關聯建立 762
Data Transfer / 數據傳輸 764
Association Shutdown / 關聯關閉 766
Multihoming and Heartbeats / 多宿主和心跳 767
Exercises / 練習 768
References / 參考文獻 770
Part V System Operation 773
第V部分 係統操作
Chapter 15 System Startup and Shutdown 775
第15章 係統啓動和關閉
15.1 Firmware and BIOSes / 固件和BIOS 776
15.2 Boot Loaders / 引導加載程序 777
Master Boot Record and Globally Unique Identifier Partition Table / 778
主引導記錄和全局唯一標識分區錶
The Second-Stage Boot Loader: gptboot /
二級引導加載程序:gptboot 779
The Final-Stage Boot Loader: /boot/loader /
末級引導加載程序:/boot/loader 779
Boot Loading on Embedded Platforms /
在嵌入式平颱上引導加載 781
15.3 Kernel Boot / 內核引導 782
Assembly-Language Startup / 啓動匯編語言 783
Platform-Specific C-Language Startup /
啓動特定於平颱的C語言 784
Modular Kernel Design / 模塊化內核設計 785
Module Initialization / 模塊初始化 785
Basic Kernel Services / 基本的內核服務 787
Kernel-Thread Initialization / 內核綫程初始化 792
Device-Module Initialization / 設備模塊初始化 794
Loadable Kernel Modules / 可加載的內核模塊 796
15.4 User-Level Initialization / 用戶級初始化 798
/sbin/init / /sbin/init 798
System Startup Scripts / 係統啓動腳本 798
/usr/libexec/getty / /usr/libexec/getty 799
/usr/bin/login / /usr/bin/login 799
15.5 System Operation / 係統操作 800
Kernel Configuration / 內核配置 800
System Shutdown and Autoreboot / 關閉和自動重啓係統 801
System Debugging / 係統調試 802
Passage of Information To and From the Kernel / 803
信息在內核中的傳遞
Exercises / 練習 805
References / 參考文獻 806
Glossary 807
術語錶
· · · · · · (收起)

讀後感

評分

这本书有中文版,但是不推荐,翻译质量不好。 这本书没有讲具体的代码,而是分析了4.4 BSD内核的各个子系统的结构,因此对于初学OS的同学不太合适。但是对于已经理解基本概念的同学来说,这本书非常值得一看,仅凭虚拟内存(VM)首先在BSD上实现就不能错过本书。

評分

the same book like as The Design and Implementation of the FreeBSD Operating System!  

評分

the same book like as The Design and Implementation of the FreeBSD Operating System!  

評分

BSD三兄弟中,FREEBSD是当之无愧的老大。这玩意只有搞操作系统的哥们看看。咱也是从linux正营策反过来的,鼓捣这玩意比linux有意思的多。(个人喜好而已,口下留情,不想打OS的口水仗)而在天朝BSD类的书奇缺,能看到这本已是万幸!大三那年 ,上操作系统的课,好好把书看了一...  

評分

BSD三兄弟中,FREEBSD是当之无愧的老大。这玩意只有搞操作系统的哥们看看。咱也是从linux正营策反过来的,鼓捣这玩意比linux有意思的多。(个人喜好而已,口下留情,不想打OS的口水仗)而在天朝BSD类的书奇缺,能看到这本已是万幸!大三那年 ,上操作系统的课,好好把书看了一...  

用戶評價

评分

FreeBSD 永遠是最優秀的操作係統!

评分

當時準備考研的時候我還有閑心看這本書。

评分

當時準備考研的時候我還有閑心看這本書。

评分

當時準備考研的時候我還有閑心看這本書。

评分

FreeBSD 永遠是最優秀的操作係統!

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

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