4.4BSD操作系统设计与实现操作系统系统程序员UNIX应用程序pdf下载pdf下载

4.4BSD操作系统设计与实现操作系统系统程序员UNIX应用程序百度网盘pdf下载

作者:
简介:本篇主要提供4.4BSD操作系统设计与实现操作系统系统程序员UNIX应用程序pdf下载
出版社:互动创新图书专营店
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

 书名:  4.4BSD操作系统设计与实现[图书]|194679
 图书定价:  79元
 图书作者:  Marshall Kirk McKusick;Keith Bostic;Michael J.arels;John S. Quarterman
 出版社:  机械工业出版社
 出版日期:  2012/1/1 0:00:00
 ISBN号:  9787111366478
 开本:  16开
 页数:  399
 版次:  1-1
 内容简介
《4.4BSD操作系统设计与实现》描述了4.4BSD的内部结构、概念、数据结构以及在实现4.4BSD系统功能时采用的算法,侧重于UNIX系统伯克利版本的功能、数据结构和采用的算法。《4.4BSD操作系统设计与实现》从4.4BSD的系统调用层往下讲述,从接口到内核再到硬件。内核包含系统功能,如进程管理、虚拟内存、系统I/O、文件系统、套接字IPC机制和实现网络协议。除此之外,《4.4BSD操作系统设计与实现》还详细地介绍了进程和内存管理的变化,描述了新的文件系统接口,更新了网络和进程间通信的相关信息。《4.4BSD操作系统设计与实现》适合操作系统实现者、系统程序员、UNIX应用程序开发人员、系统管理员和对操作系统感兴趣的读者阅读。
 目录

《4.4BSD操作系统设计与实现》
译者序
前 言
*部分 综述
第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/O24
2.6.2 描述符管理25
2.6.3 设备25
2.6.4 套接字IPC26
2.6.5 分散/聚集I/O27
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/O146
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 mbufs271
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_output301
12.3.2 pr_input301
12.3.3 pr_ctlinput301
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/init371
14.6.2 /etc/rc372
14.6.3 /usr/libexe/getty372
14.6.4 /usr/bin/login372
14.7 系统启动的相关话题373
14.7.1 内核的配置373
14.7.2 系统关机与自动重启373
14.7.3 系统调试374
14.7.4 同内核来回传递信息374
习题375
参考资源376
附录 术语表377
 编辑推荐
《4.4BSD操作系统设计与实现》揭示**版BSD内部结构最全面、新颖和权威的技术信息
《4.4BSD操作系统设计与实现》为可移植的现代操作系统的参考书