图书介绍
FREEBSD操作系统设计与实现 第2版 英文版PDF|Epub|txt|kindle电子书版本网盘下载
![FREEBSD操作系统设计与实现 第2版 英文版](https://www.shukui.net/cover/52/30067594.jpg)
- (美)MARSHALL KIRK MCKUSICK,GEORGE V.NEVILLE-NEIL,ROBERT N.M.WATSON著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115413499
- 出版时间:2016
- 标注页数:846页
- 文件大小:134MB
- 文件页数:881页
- 主题词:
PDF下载
下载说明
FREEBSD操作系统设计与实现 第2版 英文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 概述1
第1章 历史和目标3
1.1 UNIX系统的历史3
起源3
研究UNIX4
AT&TUNIX SystemⅢ和System Ⅴ5
伯克利软件分发6
世界上的UNIX7
1.2 BSD和其他系统7
用户社区的影响8
1.3 BSD向开源的过渡9
网络发布210
诉讼11
4.4BSD13
4.4BSD-Lite版本213
1.4 FreeBSD开发模型14
参考文献17
第2章 FreeBSD设计概述21
2.1 FreeBSD组件与内核21
内核22
2.2 内核组织23
2.3 内核服务26
2.4 进程管理26
信号28
进程组和会话29
2.5 安全29
进程凭证31
特权模式31
自由访问控制32
能力模型32
Jail轻型虚拟化32
强制访问控制34
事件审计35
加密和随机数生成器35
2.6 存储管理36
BSD存储管理设计决策36
内核中的存储管理38
2.7 I/O系统概述39
描述符和I/O39
描述符管41
设备42
套接字IPC42
分散-收集I/O43
多文件系统支持43
2.8 设备44
2.9 快速文件系统45
文件存储48
2.10 泽字节文件系统49
2.11 网络文件系统50
2.12 进程间通信50
2.13 网络层协议51
2.14 传输层协议52
2.15 系统启动与关闭52
练习54
参考文献54
第3章 内核服务57
3.1 内核组织57
系统进程57
系统入口58
运行时管理59
内核入口60
从内核返回61
3.2 系统调用62
返回处理机制62
从系统调用返回63
3.3 陷阱和中断64
I/O设备中断64
软件中断65
3.4 时钟中断65
统计和进程调度机制66
超时67
3.5 存储管理服务69
3.6 计时服务73
实时73
外部表示73
时间调整74
间隔时间74
3.7 资源服务75
进程优先级75
资源利用75
资源限制76
文件系统配额77
3.8 内核跟踪组件77
系统调用跟踪77
DTrace78
内核跟踪82
练习84
参考文献85
第Ⅱ部分 进程87
第4章 进程管理89
4.1 进程管理简介89
多程序设计90
调度机制91
4.2 进程状态92
进程架构94
线程架构98
4.3 上下文切换99
线程状态100
低层上下文切换100
自愿上下文切换101
同步106
互斥同步107
互斥接口109
锁同步110
死锁预防112
4.4 线程调度机制114
低层调度器114
线程运行队列和上下文切换115
分时线程调度117
多处理器调度122
自适应空闲125
传统的分时线程调度125
4.5 创建进程126
4.6 终止进程128
4.7 信号129
发出信号132
传输信号135
4.8 进程组和会话136
进程组137
会话138
作业控制139
4.9 进程调试142
练习144
参考文献146
第5章 安全147
5.1 操作系统安全148
5.2 安全模型149
进程模型149
自由和强制访问控制150
受信计算基(TCB)151
其他内核安全特性151
5.3 进程凭证151
凭证架构152
凭证存储模型153
访问控制校验153
5.4 用户和组154
Setuid和 Setgid 二进制155
5.5 特权模型157
隐式特权157
显式特权157
5.6 进程间访问控制159
可见性160
信号160
调度控制160
等待进程终止161
调试161
5.7 自由访问控制161
虚拟文件系统接口和DAC162
对象属主和组163
UNIX权限164
访问控制列表(ACL)165
POSIX.1 e访问控制列表168
NFSv4访问控制列表171
5.8 Capsicum能力模型174
Capsicum应用架构175
能力系统176
能力177
能力模型179
5.9 Jail180
5.10 强制访问控制框架184
强制策略186
设计原则指导187
MAC框架的架构188
启动框架189
策略注册190
框架入口点设计考量191
策略入口点考量192
内核服务入口点调用193
策略组成194
给对象打标签195
标签生命周期和存储管理196
标签同步199
从用户空间进行策略无关的标签管理199
5.11 安全事件审计200
审计事件和记录201
BSM审计记录和审计跟踪202
内核审计的实施203
5.12 加密服务206
加密框架206
随机数生成器208
5.13 GELI全磁盘加密212
保密性和完整性保护212
密钥管理213
启动GELI214
加密块保护215
I/O模型216
限制216
练习217
参考文献217
第6章 存储管理221
6.1 术语221
进程和存储222
分页223
替换算法224
工作集模型225
交换225
虚拟存储的优势225
虚拟存储的硬件需求226
6.2 FreeBSD虚拟存储系统概述227
用户地址空间管理228
6.3 内核存储管理230
内核映射和子映射231
内核地址空间分配233
Slab分配器236
Keg分配器238
Zone分配器239
Malloc内核241
内核Zone分配器243
6.4 每进程资源244
FreeBSD进程虚拟地址空间245
页面故障调度245
映射到Vm_objects247
Vm_objects249
Vm_object到页面249
6.5 共享存储250
Mmap模型251
共享映射253
私有映射254
阴影链的崩溃257
私有快照258
6.6 创建一个新的进程258
预留内核资源259
用户地址空间的重复260
不使用复制的方式来创建新的进程261
6.7 执行文件262
6.8 进程以及地址空间的操作263
改变进程的大小263
文件映射264
改变保护266
6.9 终止进程266
6.10 分页器接口267
Vnode分页器269
设备分页器270
物理存储分页器272
交换分页器272
6.11 分页机制276
硬件缓存设计280
硬件存储管理282
超级页面284
6.12 页面替换289
分页参数291
分页守护进程292
交换295
进程内的交换296
6.13 可移植性298
pmap模块的角色299
初始化和启动301
映射分配和释放304
更改映射的访问和布线属性306
物理页面使用信息的维护307
物理页面的初始化308
内部数据结构的管理308
练习308
参考文献310
第Ⅲ部分 I/O系统313
第7章 I/O系统概述315
7.1 描述符管理和服务316
开放文件入口318
描述符管理319
异步I/O321
文件描述符锁定322
描述符上的多路复用I/O324
Select的实现327
Kqueues和Kevents329
数据在内核中的移动332
7.2 本地进程间通信333
信号量335
消息队列337
共享存储338
7.3 虚拟文件系统接口339
Vnode的内容339
Vnode的操作342
路径名的转换342
导出文件系统服务343
7.4 独立于文件系统的服务344
名称缓存346
缓冲管理347
缓冲管理的实现350
7.5 可堆叠的文件系统352
简单的文件系统层354
联合文件系统355
其他文件系统357
练习358
参考文献359
第8章 设备361
8.1 设备概述361
PC I/O架构362
FreeBSD海量存储I/O子系统的架构364
设备命名和访问366
8.2 从用户到设备的I/O映射367
设备驱动368
I/O队列机制369
中断处理370
8.3 字符设备370
原始设备和物理I/O372
面向字符的设备373
字符设备驱动的入口点373
8.4 磁盘设备374
磁盘设备驱动的入口点374
磁盘I/O 请求的排序375
磁盘卷标376
8.5 网络设备378
网络驱动的入口点378
配置和控制379
接收数据包380
传输数据包381
8.6 终端处理382
终端进程模型383
用户接口385
进程组、会话和终端控制387
终端的操作388
终端输出(上半部分)388
终端输出(下半部分)389
终端输入390
关闭终端设备391
8.7 GEOM层391
术语和拓扑规则392
更改拓扑393
操作396
拓扑的灵活性397
8.8 CAM层399
通过CAM子系统的SSCI I/O请求路径400
ATA磁盘402
8.9 设备配置402
设备识别405
自动配置数据结构407
资源管理412
8.10 设备虚拟化414
与Hypervisor进行交互414
Virtio415
Xen419
设备直通427
练习428
参考文献429
第9章 快速文件系统431
9.1 分层的文件系统管理431
9.2 Inode的架构433
更改Inode格式435
扩展属性436
新的文件系统能力438
文件标记439
动态Inode441
Inode管理442
9.3 命名443
目录444
在目录中查找名字446
路径名转换447
链接449
9.4 配额451
9.5 文件锁定454
9.6 软更新459
在文件系统中更新依赖460
依赖的架构464
位图依赖跟踪466
Inode依赖跟踪467
直接块依赖跟踪469
间接块依赖跟踪470
新间接块的依赖跟踪471
新目录入口的依赖跟踪472
新的目录依赖跟踪474
目录入口移除依赖跟踪475
文件截断476
文件和目录Inode复垦476
目录入口重命名依赖跟踪476
软更新的Fsync请求477
软更新的文件移除需求478
fsck的软更新需求480
9.7 文件系统快照480
创建一个文件系统快照481
维护一个文件系统快照483
大型文件系统快照484
fsck的背景知识486
用户可见的快照487
实时转储487
9.8 记录软更新487
背景和简介487
与其他实现的兼容488
记录的格式488
需要进行记录的修改489
与记录相关的额外需求490
恢复进程492
性能493
后续工作494
跟踪文件移除依赖495
9.9 本地文件存储496
文件存储概述497
用户对文件的I/O499
9.10 伯克利快速文件系统501
伯克利快速文件系统的组织502
引导块503
存储利用的优化504
读写文件505
布局策略507
分配机制510
块聚类514
基于分区的分配516
练习517
参考文献519
第10章 泽字节文件系统523
10.1 简介523
10.2 ZFS的组织527
ZFS Dnode528
ZFS块指针529
ZFS objset架构531
10.3 ZFS架构532
MOS层533
对象集层534
10.4 ZFS操作535
将新的数据写入磁盘536
记录日志538
RAIDZ540
快照542
ZFS块分配542
释放块543
删除重复数据545
远程复制546
ZFS设计权衡547
练习549
参考文献549
第11章 网络文件系统551
11.1 概述551
11.2 架构和操作553
FreeBSD FNS 的实现558
客户端与服务器的交互562
安全问题564
用于提升性能的技术565
11.3 NFS的演进567
名称空间572
属性572
访问控制列表574
缓存、委派和回调574
锁定581
安全583
崩溃恢复584
练习586
参考文献587
第Ⅳ部分 进程间通信591
第12章 进程间通信593
12.1 进程间通信模型593
使用套接字596
12.2 实现架构和概述599
12.3 存储管理601
Mbufs601
存储管理算法605
Mbuf实用例程606
12.4 IPC数据结构606
套接字地址611
锁612
12.5 连接建立612
12.6 数据传输615
传输数据616
接收数据617
12.7 关闭套接字620
12.8 网络通信协议内部架构621
数据流623
通信协议624
12.9 套接字与协议之间的接口626
协议用户请求例程627
协议控制输出例程630
12.10 协议与协议的接口631
pr_output632
pr_input632
pr_ctlinput633
12.11 协议与网路的接口634
网络接口与链路层协议634
数据包传输641
数据包接收642
12.12 缓冲和流控制643
协议缓冲策略643
队列限制643
12.13 网络虚拟化644
练习646
参考文献648
第13章 网络层协议649
13.1 IPv4650
IPv4地址652
广播地址653
Internet多播654
链路层地址解析655
13.2 Internet控制消息协议(ICMP)657
13.3 IPv6659
IPv6地址660
IPv6数据包格式662
更改套接字API664
自动配置666
13.4 IP代码结构670
输出671
输入673
转发674
13.5 路由675
内核路由表677
路由查找680
路由重定向683
路由表接口683
用户级路由策略684
用户级路由接口:路由套接字685
13.6 原始套接字686
控制块686
输入处理687
输出处理687
13.7 安全688
IPSec概述689
安全协议690
密钥管理693
IPSec实施698
13.8 数据包处理框架700
伯克利数据包过滤器700
IP防火墙701
IPFW和Dummynet702
数据包过滤器(PF)706
Netgraph707
Netmap712
练习715
参考文献717
第14章 传输层协议721
14.1 Internet端口和关联721
协议控制块722
14.2 用户数据报协议(UDP)723
初始化723
输出724
输入724
控制操作725
14.3 传输控制协议(TCP)725
TCP连接状态727
序列变量730
14.4 TCP算法732
计时器733
估算往返时间735
连接建立736
SYN缓存739
SYN Cookie739
连接关闭740
14.5 TCP输入处理741
14.6 TCP输出处理745
发送数据746
避免笨窗口综合征746
避免小数据包747
延迟确认和窗口更新748
选择性确认749
重传状态751
慢启动752
缓存和窗口大小754
带有慢启动的拥塞避免755
快速重传756
模块化拥塞控制758
Vegas算法759
Cubic算法760
14.7 流控传输协议(SCTP)761
大数据块762
关联建立762
数据传输764
关联关闭766
多宿主和心跳767
练习768
参考文献770
第Ⅴ部分 系统操作773
第15章 系统启动和关闭775
15.1 固件和BIOS776
15.2 引导加载程序777
主引导记录和全局唯一标识分区表778
二级引导加载程序:gptboot779
末级引导加载程序:/boot/loader779
在嵌入式平台上引导加载781
15.3 内核引导782
启动汇编语言783
启动特定于平台的C 语言784
模块化内核设计785
模块初始化785
基本的内核服务787
内核线程初始化792
设备模块初始化794
可加载的内核模块796
15.4 用户级初始化798
/sbin/init798
系统启动脚本798
/usr/libexec/getty799
/usr/bin/login799
15.5 系统操作800
内核配置800
关闭和自动重启系统801
系统调试802
信息在内核中的传递803
练习805
参考文献806
术语表807