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
         术语表
      · · · · · ·     (
收起)