主页 详情

《FREEBSD操作系统设计与实现 第2版 英文版》_(美)MARSHALL KIRK MCKUSICK,GEORGE V.NEVILLE-NEIL,ROB

【书名】:《FREEBSD操作系统设计与实现 第2版 英文版》
【作者】:(美)MARSHALL KIRK MCKUSICK,GEORGE V.NEVILLE-NEIL,ROBERT N.M.WATSON著
【出版社】:北京:人民邮电出版社
【时间】:2016
【页数】:846
【ISBN】:7115413499
【SS码】:13933318

最新查询

内容简介

第1部分 概述

第1章 历史和目标

1.1 UNIX系统的历史

起源

研究UNIX

AT&TUNIX SystemⅢ和System Ⅴ

伯克利软件分发

世界上的UNIX

1.2 BSD和其他系统

用户社区的影响

1.3 BSD向开源的过渡

网络发布2

诉讼

4.4BSD

4.4BSD-Lite版本2

1.4 FreeBSD开发模型

参考文献

第2章 FreeBSD设计概述

2.1 FreeBSD组件与内核

内核

2.2 内核组织

2.3 内核服务

2.4 进程管理

信号

进程组和会话

2.5 安全

进程凭证

特权模式

自由访问控制

能力模型

Jail轻型虚拟化

强制访问控制

事件审计

加密和随机数生成器

2.6 存储管理

BSD存储管理设计决策

内核中的存储管理

2.7 I/O系统概述

描述符和I/O

描述符管

设备

套接字IPC

分散-收集I/O

多文件系统支持

2.8 设备

2.9 快速文件系统

文件存储

2.10 泽字节文件系统

2.11 网络文件系统

2.12 进程间通信

2.13 网络层协议

2.14 传输层协议

2.15 系统启动与关闭

练习

参考文献

第3章 内核服务

3.1 内核组织

系统进程

系统入口

运行时管理

内核入口

从内核返回

3.2 系统调用

返回处理机制

从系统调用返回

3.3 陷阱和中断

I/O设备中断

软件中断

3.4 时钟中断

统计和进程调度机制

超时

3.5 存储管理服务

3.6 计时服务

实时

外部表示

时间调整

间隔时间

3.7 资源服务

进程优先级

资源利用

资源限制

文件系统配额

3.8 内核跟踪组件

系统调用跟踪

DTrace

内核跟踪

练习

参考文献

第Ⅱ部分 进程

第4章 进程管理

4.1 进程管理简介

多程序设计

调度机制

4.2 进程状态

进程架构

线程架构

4.3 上下文切换

线程状态

低层上下文切换

自愿上下文切换

同步

互斥同步

互斥接口

锁同步

死锁预防

4.4 线程调度机制

低层调度器

线程运行队列和上下文切换

分时线程调度

多处理器调度

自适应空闲

传统的分时线程调度

4.5 创建进程

4.6 终止进程

4.7 信号

发出信号

传输信号

4.8 进程组和会话

进程组

会话

作业控制

4.9 进程调试

练习

参考文献

第5章 安全

5.1 操作系统安全

5.2 安全模型

进程模型

自由和强制访问控制

受信计算基(TCB)

其他内核安全特性

5.3 进程凭证

凭证架构

凭证存储模型

访问控制校验

5.4 用户和组

Setuid和 Setgid 二进制

5.5 特权模型

隐式特权

显式特权

5.6 进程间访问控制

可见性

信号

调度控制

等待进程终止

调试

5.7 自由访问控制

虚拟文件系统接口和DAC

对象属主和组

UNIX权限

访问控制列表(ACL)

POSIX.1 e访问控制列表

NFSv4访问控制列表

5.8 Capsicum能力模型

Capsicum应用架构

能力系统

能力

能力模型

5.9 Jail

5.10 强制访问控制框架

强制策略

设计原则指导

MAC框架的架构

启动框架

策略注册

框架入口点设计考量

策略入口点考量

内核服务入口点调用

策略组成

给对象打标签

标签生命周期和存储管理

标签同步

从用户空间进行策略无关的标签管理

5.11 安全事件审计

审计事件和记录

BSM审计记录和审计跟踪

内核审计的实施

5.12 加密服务

加密框架

随机数生成器

5.13 GELI全磁盘加密

保密性和完整性保护

密钥管理

启动GELI

加密块保护

I/O模型

限制

练习

参考文献

第6章 存储管理

6.1 术语

进程和存储

分页

替换算法

工作集模型

交换

虚拟存储的优势

虚拟存储的硬件需求

6.2 FreeBSD虚拟存储系统概述

用户地址空间管理

6.3 内核存储管理

内核映射和子映射

内核地址空间分配

Slab分配器

Keg分配器

Zone分配器

Malloc内核

内核Zone分配器

6.4 每进程资源

FreeBSD进程虚拟地址空间

页面故障调度

映射到Vm_objects

Vm_objects

Vm_object到页面

6.5 共享存储

Mmap模型

共享映射

私有映射

阴影链的崩溃

私有快照

6.6 创建一个新的进程

预留内核资源

用户地址空间的重复

不使用复制的方式来创建新的进程

6.7 执行文件

6.8 进程以及地址空间的操作

改变进程的大小

文件映射

改变保护

6.9 终止进程

6.10 分页器接口

Vnode分页器

设备分页器

物理存储分页器

交换分页器

6.11 分页机制

硬件缓存设计

硬件存储管理

超级页面

6.12 页面替换

分页参数

分页守护进程

交换

进程内的交换

6.13 可移植性

pmap模块的角色

初始化和启动

映射分配和释放

更改映射的访问和布线属性

物理页面使用信息的维护

物理页面的初始化

内部数据结构的管理

练习

参考文献

第Ⅲ部分 I/O系统

第7章 I/O系统概述

7.1 描述符管理和服务

开放文件入口

描述符管理

异步I/O

文件描述符锁定

描述符上的多路复用I/O

Select的实现

Kqueues和Kevents

数据在内核中的移动

7.2 本地进程间通信

信号量

消息队列

共享存储

7.3 虚拟文件系统接口

Vnode的内容

Vnode的操作

路径名的转换

导出文件系统服务

7.4 独立于文件系统的服务

名称缓存

缓冲管理

缓冲管理的实现

7.5 可堆叠的文件系统

简单的文件系统层

联合文件系统

其他文件系统

练习

参考文献

第8章 设备

8.1 设备概述

PC I/O架构

FreeBSD海量存储I/O子系统的架构

设备命名和访问

8.2 从用户到设备的I/O映射

设备驱动

I/O队列机制

中断处理

8.3 字符设备

原始设备和物理I/O

面向字符的设备

字符设备驱动的入口点

8.4 磁盘设备

磁盘设备驱动的入口点

磁盘I/O 请求的排序

磁盘卷标

8.5 网络设备

网络驱动的入口点

配置和控制

接收数据包

传输数据包

8.6 终端处理

终端进程模型

用户接口

进程组、会话和终端控制

终端的操作

终端输出(上半部分)

终端输出(下半部分)

终端输入

关闭终端设备

8.7 GEOM层

术语和拓扑规则

更改拓扑

操作

拓扑的灵活性

8.8 CAM层

通过CAM子系统的SSCI I/O请求路径

ATA磁盘

8.9 设备配置

设备识别

自动配置数据结构

资源管理

8.10 设备虚拟化

与Hypervisor进行交互

Virtio

Xen

设备直通

练习

参考文献

第9章 快速文件系统

9.1 分层的文件系统管理

9.2 Inode的架构

更改Inode格式

扩展属性

新的文件系统能力

文件标记

动态Inode

Inode管理

9.3 命名

目录

在目录中查找名字

路径名转换

链接

9.4 配额

9.5 文件锁定

9.6 软更新

在文件系统中更新依赖

依赖的架构

位图依赖跟踪

Inode依赖跟踪

直接块依赖跟踪

间接块依赖跟踪

新间接块的依赖跟踪

新目录入口的依赖跟踪

新的目录依赖跟踪

目录入口移除依赖跟踪

文件截断

文件和目录Inode复垦

目录入口重命名依赖跟踪

软更新的Fsync请求

软更新的文件移除需求

fsck的软更新需求

9.7 文件系统快照

创建一个文件系统快照

维护一个文件系统快照

大型文件系统快照

fsck的背景知识

用户可见的快照

实时转储

9.8 记录软更新

背景和简介

与其他实现的兼容

记录的格式

需要进行记录的修改

与记录相关的额外需求

恢复进程

性能

后续工作

跟踪文件移除依赖

9.9 本地文件存储

文件存储概述

用户对文件的I/O

9.10 伯克利快速文件系统

伯克利快速文件系统的组织

引导块

存储利用的优化

读写文件

布局策略

分配机制

块聚类

基于分区的分配

练习

参考文献

第10章 泽字节文件系统

10.1 简介

10.2 ZFS的组织

ZFS Dnode

ZFS块指针

ZFS objset架构

10.3 ZFS架构

MOS层

对象集层

10.4 ZFS操作

将新的数据写入磁盘

记录日志

RAIDZ

快照

ZFS块分配

释放块

删除重复数据

远程复制

ZFS设计权衡

练习

参考文献

第11章 网络文件系统

11.1 概述

11.2 架构和操作

FreeBSD FNS 的实现

客户端与服务器的交互

安全问题

用于提升性能的技术

11.3 NFS的演进

名称空间

属性

访问控制列表

缓存、委派和回调

锁定

安全

崩溃恢复

练习

参考文献

第Ⅳ部分 进程间通信

第12章 进程间通信

12.1 进程间通信模型

使用套接字

12.2 实现架构和概述

12.3 存储管理

Mbufs

存储管理算法

Mbuf实用例程

12.4 IPC数据结构

套接字地址

12.5 连接建立

12.6 数据传输

传输数据

接收数据

12.7 关闭套接字

12.8 网络通信协议内部架构

数据流

通信协议

12.9 套接字与协议之间的接口

协议用户请求例程

协议控制输出例程

12.10 协议与协议的接口

pr_output

pr_input

pr_ctlinput

12.11 协议与网路的接口

网络接口与链路层协议

数据包传输

数据包接收

12.12 缓冲和流控制

协议缓冲策略

队列限制

12.13 网络虚拟化

练习

参考文献

第13章 网络层协议

13.1 IPv4

IPv4地址

广播地址

Internet多播

链路层地址解析

13.2 Internet控制消息协议(ICMP)

13.3 IPv6

IPv6地址

IPv6数据包格式

更改套接字API

自动配置

13.4 IP代码结构

输出

输入

转发

13.5 路由

内核路由表

路由查找

路由重定向

路由表接口

用户级路由策略

用户级路由接口:路由套接字

13.6 原始套接字

控制块

输入处理

输出处理

13.7 安全

IPSec概述

安全协议

密钥管理

IPSec实施

13.8 数据包处理框架

伯克利数据包过滤器

IP防火墙

IPFW和Dummynet

数据包过滤器(PF)

Netgraph

Netmap

练习

参考文献

第14章 传输层协议

14.1 Internet端口和关联

协议控制块

14.2 用户数据报协议(UDP)

初始化

输出

输入

控制操作

14.3 传输控制协议(TCP)

TCP连接状态

序列变量

14.4 TCP算法

计时器

估算往返时间

连接建立

SYN缓存

SYN Cookie

连接关闭

14.5 TCP输入处理

14.6 TCP输出处理

发送数据

避免笨窗口综合征

避免小数据包

延迟确认和窗口更新

选择性确认

重传状态

慢启动

缓存和窗口大小

带有慢启动的拥塞避免

快速重传

模块化拥塞控制

Vegas算法

Cubic算法

14.7 流控传输协议(SCTP)

大数据块

关联建立

数据传输

关联关闭

多宿主和心跳

练习

参考文献

第Ⅴ部分 系统操作

第15章 系统启动和关闭

15.1 固件和BIOS

15.2 引导加载程序

主引导记录和全局唯一标识分区表

二级引导加载程序:gptboot

末级引导加载程序:/boot/loader

在嵌入式平台上引导加载

15.3 内核引导

启动汇编语言

启动特定于平台的C 语言

模块化内核设计

模块初始化

基本的内核服务

内核线程初始化

设备模块初始化

可加载的内核模块

15.4 用户级初始化

/sbin/init

系统启动脚本

/usr/libexec/getty

/usr/bin/login

15.5 系统操作

内核配置

关闭和自动重启系统

系统调试

信息在内核中的传递

练习

参考文献

术语表


书查询(www.shuchaxun.com)本网页唯一编码:
dbb685b4fda7f3f8f6292d0f9d0eb89f#bd0b2ea3db3e2080dd638cf5de8334a0#152066739#FREEBSD操作系统设计与实现 第2版 英文版=THE DESIGN AND IMPLEMENTATION OF THE FREEBSD OPERATING SYSTEM(2EN EDITION)_13933318.zip