简介
本书是目前国际上采用率最高的操作系统教科书之一,因为在介绍现代操作系统的基本原理的同时,使用来自linux、unix和windows的实例进行实践,从而广受好评。本书有助于深化读者对当代操作系统的理解和应用。在第3版中,作者对操作系统的原理的介绍覆盖面更广,并让读者有更多的机会来实践现实世界的例子。
第3版中的新内容
●使用最通用的操作系统作为原理举例及实验环境,包括linux、unix和windows。
●包含了更多的实验!比前一版本的例子要多一倍,给学生很多实际操作linux、unix和windows的机会。
●加入或更新了以下信息:
◇手持和无线系统
◇安全
◇线程,包括unix和windows线程
◇smp/多处理机
◇存储媒体,包括dvd和其他iso 9000设备
目录
第1章 导言
1. 1 计算机与软件
1. 1. 1 通常的系统软件
1. 1. 2 资源抽象
示例:磁盘设备抽象
1. 1. 3 资源共享
1. 1. 4 虚拟机和透明资源共享
1. 1. 5 显式资源共享
1. 2 操作系统策略
1. 2. 1 批处理系统
1. 2. 2 用户的观点
1. 2. 3 批处理技术
示例:批处理文件
1. 2. 4 分时系统
1. 2. 5 用户的观点
1. 2. 6 分时技术
示例:unix分时系统
1. 2. 7 个人计算机和工作站
1. 2. 8 用户的观点
1. 2. 9 操作系统技术
.1. 2. 10 对现代操作系统技术的贡献
示例:微软windows操作系统家族
1. 2. 11 嵌入式系统
1. 2. 12 用户的观点
1. 2. 13 操作系统技术
1. 2. 14 对现代操作系统技术的贡献
示例:vxworks
1. 2. 15 小型通信计算机
1. 2. 16 用户的观点
1. 2. 17 操作系统技术
示例:windows ce(pocket pc)
1. 2. 18 网络
1. 2. 19 现代操作系统的起源
1. 3 小结
1. 4 习题
第2章 使用操作系统
2. 1 程序员看到的虚拟机
2. 1. 1 顺序计算
2. 1. 2 多线程计算
2. 2 资源
2. 2. 1 使用文件
示例:posix文件
示例:windows文件
2. 2. 2 使用其他资源
2. 3 进程和线程
2. 3. 1 创建进程和线程
2. 3. 2 fork()、join()和quit():历史的观点
示例:使用fork()、join()和quit()
2. 3. 3 经典的进程创建
2. 3. 4 现代进程和线程的创建
2. 4 并发程序的编写
2. 4. 1 多单线程进程:unix模型
示例:在unix系统中执行命令
2. 4. 2 多进程和进程中的多线程:windows模型
示例:创建windows进程
2. 5 对象
2. 6 小结
2. 7 习题
实验2. 1:一个简单的shell
实验2. 2:一个多线程的应用程序
第3章 操作系统的组织结构
3. 1 基本功能
3. 1. 1 设备管理
3. 1. 2 进程、线程和资源管理
3. 1. 3 存储管理
3. 1. 4 文件管理
3. 2 一般实现考虑
3. 2. 1 性能
3. 2. 2 资源独占性使用
3. 2. 3 处理器模式
3. 2. 4 内核
3. 2. 5 请求获得操作系统服务
3. 2. 6 软件模块化
3. 3 当代的操作系统内核
3. 3. 1 unix内核
示例:linux
3. 3. 2 windows nt执行体和内核
3. 4 小结
3. 5 习题
实验3. 1:观察操作系统的行为
第4章 计算机组织结构
4. 1 冯·诺依曼体系结构
4. 1. 1 冯·诺依曼体系结构的发展
4. 1. 2 基本思想
4. 2 中央处理单元
4. 2. 1 算术逻辑运算单元
4. 2. 2 控制单元
4. 2. 3 处理器的实现
4. 3 主存储器
4. 4 i/o设备
4. 4. 1 设备控制器
4. 4. 2 直接内存访问
4. 4. 3 存储映射i/o
4. 5 中断
4. 6 当代传统计算机
4. 7 移动计算机
4. 7. 1 片上系统技术
4. 7. 2 电源管理
示例:itsy移动计算机
4. 8 多处理机和并行计算机
4. 8. 1 并行指令执行
4. 8. 2 阵列处理机
4. 8. 3 共享内存多处理机
4. 8. 4 分布式存储多处理机
4. 8. 5 工作站网络
4. 9 小结
4. 10 习题
第5章 设备管理
5. 1 i/o系统
5. 1. 1 设备管理器抽象
5. 1. 2 在应用程序内i/o与处理器的交迭执行
5. 1. 3 多个线程间的i/o泊理器交迭执行
5. 2 i/o策略
5. 2. 1 使用轮询的直接i/o
5. 2. 2 中断驱动i/o
5. 2. 3 中断i/o与轮询i/o的性能比较
5. 3 设备管理器设计
5. 3. 1 设备相关的驱动程序基础框架
5. 3. 2 服务中断
示例:linux设备i/o
5. 4 缓冲
5. 5 不同种类设备的特征
5. 5. 1 通信设备
示例:异步串行设备
5. 5. 2 顺序访问存储设备
示例:传统磁带
5. 5. 3 随机访问存储设备
示例:磁盘
示例:磁盘访问优化
示例:cd瞨om和dvd
5. 6 小结
5. 7 习题
实验5. 1:软盘驱动程序
第6章 进程、线程和资源的实现
6. 1 手边的任务
6. 1. 1 经典进程的虚拟机
6. 1. 2 支持现代进程和线程
6. 1. 3 资源
6. 1. 4 进程地址空间
6. 1. 5 操作系统家族
6. 1. 6 进程管理器的任务
6. 2 硬件进程
6. 3 虚拟机接口
6. 4 进程抽象
示例:linux进程描述表
示例:windows nt/2000/xp进程描述表
6. 5 线程抽象
示例:linux线程描述表
示例:windows nt/2000/xp线程描述表
6. 6 状态图
示例:unix状态图
6. 7 资源管理器
6. 8 概括进程管理策略
6. 8. 1 精化进程管理器
6. 8. 2 专用的资源分配策略
6. 9 小结
6. 10 习题
实验6. 1:内核计时器
实验6. 2:操纵内核对象
第7章 调度
7. 1 概述
7. 2 调度机制
7. 2. 1 进程调度程序组织
7. 2. 2 保存上下文
7. 2. 3 自愿的cpu共享
7. 2. 4 非自愿的cpu共享
7. 2. 5 性能
7. 3 策略选择
7. 3. 1 调度程序的特征
7. 3. 2 一个调度研究模型
示例:分解一个进程成多个小进程
7. 4 非剥夺策略
示例:估计系统负载
7. 4. 1 先来先服务
示例:预测fcfs的等待时间
7. 4. 2 最短作业优先
7. 4. 3 优先级调度
7. 4. 4 期限调度
7. 5 剥夺式策略
7. 5. 1 轮转
7. 5. 2 多级队列
7. 6 调度程序的实现
示例:linux调度机制
示例:bsd unix中的调度策略
示例:windows nt/2000/xp中的线程调度
7. 7 小结
7. 8 习题
实验7. 1:分析rr调度
第8章 基本同步原理
8. 1 协作进程
8. 1. 1 临界区
8. 1. 2 死锁
8. 1. 3 资源共享
8. 2 经典解决办法的改进
8. 3 信号量:现代解决方法的基础
8. 3. 1 操作原理
示例:使用信号量
8. 3. 2 应用中要考虑的因素
8. 4 共享存储的多处理机中的同步
8. 5 小结
8. 6 习题
实验8. 1:有限缓冲区问题
第9章 高级同步技术与进程间通信
9. 1 可选的同步原语
9. 1. 1 and同步
示例:使用and同步来解决哲学家就餐问题
9. 1. 2 事件
示例:使用通用事件
示例:windows nt/2000/xp中的分派对象
9. 2 管程
9. 2. 1 操作原理
9. 2. 2 条件变量
示例:使用管程
9. 2. 3 使用管程的一些实际状况
9. 3 进程间通信
9. 3. 1 管道模型
9. 3. 2 消息传递机制
9. 3. 3 信箱
9. 3. 4 消息协议
9. 3. 5 使用send()和receive()操作
示例:同步的ipc
9. 3. 6 延迟的消息拷贝
9. 4 小结
9. 5 习题
实验9. 1:使用管道
实验9. 2:精炼shell程序
第10章 死锁
10. 1 背景
10. 1. 1 死锁预防
10. 1. 2 死锁避免
10. 1. 3 死锁检测和恢复
10. 1. 4 人工死锁管理
10. 2 一个系统死锁模型
示例:单个资源类型
10. 3 死锁预防
10. 3. 1 占有并等待
10. 3. 2 循环等待
10. 3. 3 允许剥夺
10. 4 死锁避免
示例:使用银行家算法
10. 5 死锁检测和恢复
10. 5. 1 顺序可重用资源
示例:顺序可重用资源图
10. 5. 2 可消费资源
10. 5. 3 一般资源系统
10. 5. 4 恢复
10. 6 小结
10. 7 习题
第11章 存储管理
11. 1 基本知识
11. 2 地址空间抽象
11. 2. 1 管理地址空间
示例:静态地址绑定
11. 2. 2 用于数据结构的动态存储
11. 2. 3 现代存储绑定
11. 3 主存分配
11. 3. 1 固定分区存储分配策略
11. 3. 2 可变分区存储分配策略
示例:移动程序的开销
11. 3. 3 现代存储分配策略
11. 4 动态地址空间绑定
11. 5 现代存储管理器策略
11. 5. 1 交换
11. 5. 2 虚拟存储器
示例:使用高速缓存存储器
11. 5. 3 共享存储器的多处理机
11. 6 小结
11. 7 习题
实验11. 1:使用共享存储器
第12章 虚拟存储器
12. 1 概述
12. 2 地址转换
12. 2. 1 地址空间映射
12. 2. 2 段式和页式
12. 3 页式
示例:当代的页表实现
12. 4 静态页面调度算法
12. 4. 1 取策略
12. 4. 2 请求调页算法
12. 4. 3 栈算法
12. 4. 4 实现lru
12. 4. 5 页面调度性能
12. 5 动态页面调度算法
12. 5. 1 驻留集算法
示例:驻留集算法
12. 5. 2 驻留集算法的实现
示例:利用分页实现ipc
示例:windows nt/2000/xp虚拟存储器
示例:linux虚拟存储器
12. 6 段式
12. 6. 1 地址转换
12. 6. 2 实现
示例:multics段式系统
12. 7 存储映射文件
12. 8 小结
12. 9 习题
实验12. 1:存储映射文件
第13章 文件管理
13. 1 概述
13. 2 文件
13. 2. 1 低级文件
13. 2. 2 结构化文件
13. 2. 3 数据库管理系统
13. 2. 4 多媒体存储
13. 3 低级文件实现
13. 3. 1 open()和close()操作
示例:unix中的open和close操作
13. 3. 2 块管理
示例:unix文件结构
示例:dos下的fat文件系统
13. 3. 3 读、写字节流
13. 4 支持高级文件抽象
13. 4. 1 结构化顺序文件
13. 4. 2 索引顺序文件
13. 4. 3 数据库管理系统
13. 4. 4 多媒体文档
13. 5 目录
示例:几个目录例子
13. 6 目录实现
13. 6. 1 目录项
13. 6. 2 打开一个文件
13. 7 文件系统
示例:iso 9660文件系统
13. 7. 1 安装文件系统
13. 7. 2 异构文件系统
13. 8 小结
13. 9 习题
实验13. 1:一个简单的文件管理器
第14章 保护和安全
14. 1 问题
14. 1. 1 目标
14. 1. 2 策略和机制
14. 1. 3 保护和安全的上下文
14. 1. 4 保护机制的开销
14. 2 认证
14. 2. 1 外部用户认证
示例:windows nt/2000/xp用户认证
14. 2. 2 内部的线程/进程认证
14. 2. 3 网络中的认证
14. 2. 4 软件认证
14. 3 授权
14. 3. 1 特别的授权机制
14. 3. 2 授权的通用模型
14. 3. 3 实现安全策略
14. 3. 4 实现通用的授权机制
14. 3. 5 保护域
14. 3. 6 访问矩阵的实现
14. 4 密码技术
14. 4. 1 概述
14. 4. 2 私有密钥加密技术
14. 4. 3 公开密钥加密技术
示例:pgp
14. 4. 4 internet信息发送
14. 5 小结
14. 6 习题
第15章 网络
15. 1 从计算机通信到网络
15. 1. 1 交换网络
15. 1. 2 网络硬件需求
15. 1. 3 网络软件需求
15. 2 iso的osi网络体系结构模型
15. 2. 1 网络协议的演变
15. 2. 2 iso的osi模型
15. 3 媒体访问控制(mac)协议
15. 3. 1 物理层
示例:快速物理层
15. 3. 2 数据链路层
15. 3. 3 当代网络
15. 4 网络层
15. 4. 1 internet寻址
15. 4. 2 路由
15. 4. 3 网络层的使用
示例:在internet上的延迟
15. 5 传输层
15. 5. 1 通信端口
15. 5. 2 数据类型
15. 5. 3 可靠的通信
示例:数据报和虚电路性能
15. 6 使用传输层
15. 6. 1 命名和地址
示例:域名服务
15. 6. 2 客户-服务器模型
15. 7 网络安全
15. 7. 1 传输层安全:防火墙
15. 7. 2 网络层安全:ipsec
15. 8 小结
15. 9 习题
实验15. 1:使用tcp/ip协议
示例:winsock包
第16章 远程文件
16. 1 通过网络共享信息
16. 1. 1 显式的文件复制系统
16. 1. 2 无缝文件系统接口
16. 1. 3 工作分布
16. 2 远程磁盘系统
16. 2. 1 远程磁盘操作
16. 2. 2 性能因素
16. 2. 3 可靠性
16. 2. 4 远程磁盘的未来
16. 3 远程文件系统
16. 3. 1 通用的体系结构
16. 3. 2 块高速缓存
16. 3. 3 失效后的恢复
16. 4 文件级高速缓存
16. 4. 1 andrew文件系统
16. 4. 2 locus文件系统
16. 5 目录系统及其实现
16. 5. 1 文件名字
16. 5. 2 打开一个文件
16. 6 小结
16. 7 习题
第17章 分布式计算
17. 1 分布式操作系统机制
17. 2 分布式主存
17. 2. 1 远程存储器
示例:linda程序设计语言
17. 2. 2 分布式共享存储器
17. 3 远程过程调用
17. 3. 1 rpc如何工作
17. 3. 2 实现rpc
17. 4 远程对象
17. 4. 1 emerald系统
17. 4. 2 corba
17. 4. 3 java远程对象
17. 5 分布式进程管理
17. 5. 1 通用的进程管理
17. 5. 2 进程和线程创建
17. 5. 3 调度
17. 5. 4 迁移和负载平衡
17. 5. 5 分布式同步
17. 6 小结
17. 7 习题
实验17. 1:使用远程过程调用
第18章 分布式程序设计运行时系统
18. 1 用中间件来支持分布式软件
18. 2 传统的分布式应用程序
18. 3 经典分布式程序设计的中间件支持
18. 3. 1 pvm
18. 3. 2 beowulf集群计算环境
18. 3. 3 osf分布式计算环境
18. 4 web上的分布式程序设计
18. 5 移动代码的中间件支持
18. 5. 1 java和java虚拟机
18. 5. 2 ecma335通用语言基础设施
18. 6 小结
18. 7 习题
第19章 设计策略
19. 1 设计考虑
19. 1. 1 性能
19. 1. 2 可信软件
19. 1. 3 模块化
19. 1. 4 可移植性
19. 2 单一内核
示例:ms瞕os
示例:unix内核
19. 3 模块化组织结构
示例:choices——面向对象的操作系统
19. 4 可扩展内核或微内核组织结构
示例:mach操作系统
19. 5 分层的组织结构
19. 6 用于分布式系统的操作系统
19. 6. 1 网络操作系统
示例:bsd unix
19. 6. 2 分布式操作系统
示例:chorus操作系统
19. 7 小结
19. 8 习题
第20章 linux内核
20. 1 linux内核
20. 2 内核组织结构
20. 2. 1 使用内核服务
20. 2. 2 守护进程
20. 2. 3 启动内核
20. 2. 4 机器中的控制流
20. 3 模块和设备管理
20. 3. 1 模块组织
20. 3. 2 模块的安装和移除
20. 4 进程和资源管理
20. 4. 1 运行进程管理器
20. 4. 2 创建一个新任务
20. 4. 3 ipc和同步
20. 4. 4 调度程序
20. 5 存储管理器
20. 5. 1 虚拟地址空间
20. 5. 2 缺页处理程序
20. 6 文件管理
20. 7 小结
第21章 windows nt/2000/xp内核
21. 1 概述
21. 2 nt内核
21. 2. 1 对象
21. 2. 2 线程
21. 2. 3 多处理机同步
21. 2. 4 自陷、中断和异常
21. 3 nt 执行体
21. 3. 1 对象管理器
21. 3. 2 进程和线程管理器
21. 3. 3 虚拟存储管理器
21. 3. 4 i/o管理器
21. 3. 5 高速缓存管理器
21. 4 内核本地过程调用和ipc
21. 5 子系统
21. 6 小结
术语表
参考文献
1. 1 计算机与软件
1. 1. 1 通常的系统软件
1. 1. 2 资源抽象
示例:磁盘设备抽象
1. 1. 3 资源共享
1. 1. 4 虚拟机和透明资源共享
1. 1. 5 显式资源共享
1. 2 操作系统策略
1. 2. 1 批处理系统
1. 2. 2 用户的观点
1. 2. 3 批处理技术
示例:批处理文件
1. 2. 4 分时系统
1. 2. 5 用户的观点
1. 2. 6 分时技术
示例:unix分时系统
1. 2. 7 个人计算机和工作站
1. 2. 8 用户的观点
1. 2. 9 操作系统技术
.1. 2. 10 对现代操作系统技术的贡献
示例:微软windows操作系统家族
1. 2. 11 嵌入式系统
1. 2. 12 用户的观点
1. 2. 13 操作系统技术
1. 2. 14 对现代操作系统技术的贡献
示例:vxworks
1. 2. 15 小型通信计算机
1. 2. 16 用户的观点
1. 2. 17 操作系统技术
示例:windows ce(pocket pc)
1. 2. 18 网络
1. 2. 19 现代操作系统的起源
1. 3 小结
1. 4 习题
第2章 使用操作系统
2. 1 程序员看到的虚拟机
2. 1. 1 顺序计算
2. 1. 2 多线程计算
2. 2 资源
2. 2. 1 使用文件
示例:posix文件
示例:windows文件
2. 2. 2 使用其他资源
2. 3 进程和线程
2. 3. 1 创建进程和线程
2. 3. 2 fork()、join()和quit():历史的观点
示例:使用fork()、join()和quit()
2. 3. 3 经典的进程创建
2. 3. 4 现代进程和线程的创建
2. 4 并发程序的编写
2. 4. 1 多单线程进程:unix模型
示例:在unix系统中执行命令
2. 4. 2 多进程和进程中的多线程:windows模型
示例:创建windows进程
2. 5 对象
2. 6 小结
2. 7 习题
实验2. 1:一个简单的shell
实验2. 2:一个多线程的应用程序
第3章 操作系统的组织结构
3. 1 基本功能
3. 1. 1 设备管理
3. 1. 2 进程、线程和资源管理
3. 1. 3 存储管理
3. 1. 4 文件管理
3. 2 一般实现考虑
3. 2. 1 性能
3. 2. 2 资源独占性使用
3. 2. 3 处理器模式
3. 2. 4 内核
3. 2. 5 请求获得操作系统服务
3. 2. 6 软件模块化
3. 3 当代的操作系统内核
3. 3. 1 unix内核
示例:linux
3. 3. 2 windows nt执行体和内核
3. 4 小结
3. 5 习题
实验3. 1:观察操作系统的行为
第4章 计算机组织结构
4. 1 冯·诺依曼体系结构
4. 1. 1 冯·诺依曼体系结构的发展
4. 1. 2 基本思想
4. 2 中央处理单元
4. 2. 1 算术逻辑运算单元
4. 2. 2 控制单元
4. 2. 3 处理器的实现
4. 3 主存储器
4. 4 i/o设备
4. 4. 1 设备控制器
4. 4. 2 直接内存访问
4. 4. 3 存储映射i/o
4. 5 中断
4. 6 当代传统计算机
4. 7 移动计算机
4. 7. 1 片上系统技术
4. 7. 2 电源管理
示例:itsy移动计算机
4. 8 多处理机和并行计算机
4. 8. 1 并行指令执行
4. 8. 2 阵列处理机
4. 8. 3 共享内存多处理机
4. 8. 4 分布式存储多处理机
4. 8. 5 工作站网络
4. 9 小结
4. 10 习题
第5章 设备管理
5. 1 i/o系统
5. 1. 1 设备管理器抽象
5. 1. 2 在应用程序内i/o与处理器的交迭执行
5. 1. 3 多个线程间的i/o泊理器交迭执行
5. 2 i/o策略
5. 2. 1 使用轮询的直接i/o
5. 2. 2 中断驱动i/o
5. 2. 3 中断i/o与轮询i/o的性能比较
5. 3 设备管理器设计
5. 3. 1 设备相关的驱动程序基础框架
5. 3. 2 服务中断
示例:linux设备i/o
5. 4 缓冲
5. 5 不同种类设备的特征
5. 5. 1 通信设备
示例:异步串行设备
5. 5. 2 顺序访问存储设备
示例:传统磁带
5. 5. 3 随机访问存储设备
示例:磁盘
示例:磁盘访问优化
示例:cd瞨om和dvd
5. 6 小结
5. 7 习题
实验5. 1:软盘驱动程序
第6章 进程、线程和资源的实现
6. 1 手边的任务
6. 1. 1 经典进程的虚拟机
6. 1. 2 支持现代进程和线程
6. 1. 3 资源
6. 1. 4 进程地址空间
6. 1. 5 操作系统家族
6. 1. 6 进程管理器的任务
6. 2 硬件进程
6. 3 虚拟机接口
6. 4 进程抽象
示例:linux进程描述表
示例:windows nt/2000/xp进程描述表
6. 5 线程抽象
示例:linux线程描述表
示例:windows nt/2000/xp线程描述表
6. 6 状态图
示例:unix状态图
6. 7 资源管理器
6. 8 概括进程管理策略
6. 8. 1 精化进程管理器
6. 8. 2 专用的资源分配策略
6. 9 小结
6. 10 习题
实验6. 1:内核计时器
实验6. 2:操纵内核对象
第7章 调度
7. 1 概述
7. 2 调度机制
7. 2. 1 进程调度程序组织
7. 2. 2 保存上下文
7. 2. 3 自愿的cpu共享
7. 2. 4 非自愿的cpu共享
7. 2. 5 性能
7. 3 策略选择
7. 3. 1 调度程序的特征
7. 3. 2 一个调度研究模型
示例:分解一个进程成多个小进程
7. 4 非剥夺策略
示例:估计系统负载
7. 4. 1 先来先服务
示例:预测fcfs的等待时间
7. 4. 2 最短作业优先
7. 4. 3 优先级调度
7. 4. 4 期限调度
7. 5 剥夺式策略
7. 5. 1 轮转
7. 5. 2 多级队列
7. 6 调度程序的实现
示例:linux调度机制
示例:bsd unix中的调度策略
示例:windows nt/2000/xp中的线程调度
7. 7 小结
7. 8 习题
实验7. 1:分析rr调度
第8章 基本同步原理
8. 1 协作进程
8. 1. 1 临界区
8. 1. 2 死锁
8. 1. 3 资源共享
8. 2 经典解决办法的改进
8. 3 信号量:现代解决方法的基础
8. 3. 1 操作原理
示例:使用信号量
8. 3. 2 应用中要考虑的因素
8. 4 共享存储的多处理机中的同步
8. 5 小结
8. 6 习题
实验8. 1:有限缓冲区问题
第9章 高级同步技术与进程间通信
9. 1 可选的同步原语
9. 1. 1 and同步
示例:使用and同步来解决哲学家就餐问题
9. 1. 2 事件
示例:使用通用事件
示例:windows nt/2000/xp中的分派对象
9. 2 管程
9. 2. 1 操作原理
9. 2. 2 条件变量
示例:使用管程
9. 2. 3 使用管程的一些实际状况
9. 3 进程间通信
9. 3. 1 管道模型
9. 3. 2 消息传递机制
9. 3. 3 信箱
9. 3. 4 消息协议
9. 3. 5 使用send()和receive()操作
示例:同步的ipc
9. 3. 6 延迟的消息拷贝
9. 4 小结
9. 5 习题
实验9. 1:使用管道
实验9. 2:精炼shell程序
第10章 死锁
10. 1 背景
10. 1. 1 死锁预防
10. 1. 2 死锁避免
10. 1. 3 死锁检测和恢复
10. 1. 4 人工死锁管理
10. 2 一个系统死锁模型
示例:单个资源类型
10. 3 死锁预防
10. 3. 1 占有并等待
10. 3. 2 循环等待
10. 3. 3 允许剥夺
10. 4 死锁避免
示例:使用银行家算法
10. 5 死锁检测和恢复
10. 5. 1 顺序可重用资源
示例:顺序可重用资源图
10. 5. 2 可消费资源
10. 5. 3 一般资源系统
10. 5. 4 恢复
10. 6 小结
10. 7 习题
第11章 存储管理
11. 1 基本知识
11. 2 地址空间抽象
11. 2. 1 管理地址空间
示例:静态地址绑定
11. 2. 2 用于数据结构的动态存储
11. 2. 3 现代存储绑定
11. 3 主存分配
11. 3. 1 固定分区存储分配策略
11. 3. 2 可变分区存储分配策略
示例:移动程序的开销
11. 3. 3 现代存储分配策略
11. 4 动态地址空间绑定
11. 5 现代存储管理器策略
11. 5. 1 交换
11. 5. 2 虚拟存储器
示例:使用高速缓存存储器
11. 5. 3 共享存储器的多处理机
11. 6 小结
11. 7 习题
实验11. 1:使用共享存储器
第12章 虚拟存储器
12. 1 概述
12. 2 地址转换
12. 2. 1 地址空间映射
12. 2. 2 段式和页式
12. 3 页式
示例:当代的页表实现
12. 4 静态页面调度算法
12. 4. 1 取策略
12. 4. 2 请求调页算法
12. 4. 3 栈算法
12. 4. 4 实现lru
12. 4. 5 页面调度性能
12. 5 动态页面调度算法
12. 5. 1 驻留集算法
示例:驻留集算法
12. 5. 2 驻留集算法的实现
示例:利用分页实现ipc
示例:windows nt/2000/xp虚拟存储器
示例:linux虚拟存储器
12. 6 段式
12. 6. 1 地址转换
12. 6. 2 实现
示例:multics段式系统
12. 7 存储映射文件
12. 8 小结
12. 9 习题
实验12. 1:存储映射文件
第13章 文件管理
13. 1 概述
13. 2 文件
13. 2. 1 低级文件
13. 2. 2 结构化文件
13. 2. 3 数据库管理系统
13. 2. 4 多媒体存储
13. 3 低级文件实现
13. 3. 1 open()和close()操作
示例:unix中的open和close操作
13. 3. 2 块管理
示例:unix文件结构
示例:dos下的fat文件系统
13. 3. 3 读、写字节流
13. 4 支持高级文件抽象
13. 4. 1 结构化顺序文件
13. 4. 2 索引顺序文件
13. 4. 3 数据库管理系统
13. 4. 4 多媒体文档
13. 5 目录
示例:几个目录例子
13. 6 目录实现
13. 6. 1 目录项
13. 6. 2 打开一个文件
13. 7 文件系统
示例:iso 9660文件系统
13. 7. 1 安装文件系统
13. 7. 2 异构文件系统
13. 8 小结
13. 9 习题
实验13. 1:一个简单的文件管理器
第14章 保护和安全
14. 1 问题
14. 1. 1 目标
14. 1. 2 策略和机制
14. 1. 3 保护和安全的上下文
14. 1. 4 保护机制的开销
14. 2 认证
14. 2. 1 外部用户认证
示例:windows nt/2000/xp用户认证
14. 2. 2 内部的线程/进程认证
14. 2. 3 网络中的认证
14. 2. 4 软件认证
14. 3 授权
14. 3. 1 特别的授权机制
14. 3. 2 授权的通用模型
14. 3. 3 实现安全策略
14. 3. 4 实现通用的授权机制
14. 3. 5 保护域
14. 3. 6 访问矩阵的实现
14. 4 密码技术
14. 4. 1 概述
14. 4. 2 私有密钥加密技术
14. 4. 3 公开密钥加密技术
示例:pgp
14. 4. 4 internet信息发送
14. 5 小结
14. 6 习题
第15章 网络
15. 1 从计算机通信到网络
15. 1. 1 交换网络
15. 1. 2 网络硬件需求
15. 1. 3 网络软件需求
15. 2 iso的osi网络体系结构模型
15. 2. 1 网络协议的演变
15. 2. 2 iso的osi模型
15. 3 媒体访问控制(mac)协议
15. 3. 1 物理层
示例:快速物理层
15. 3. 2 数据链路层
15. 3. 3 当代网络
15. 4 网络层
15. 4. 1 internet寻址
15. 4. 2 路由
15. 4. 3 网络层的使用
示例:在internet上的延迟
15. 5 传输层
15. 5. 1 通信端口
15. 5. 2 数据类型
15. 5. 3 可靠的通信
示例:数据报和虚电路性能
15. 6 使用传输层
15. 6. 1 命名和地址
示例:域名服务
15. 6. 2 客户-服务器模型
15. 7 网络安全
15. 7. 1 传输层安全:防火墙
15. 7. 2 网络层安全:ipsec
15. 8 小结
15. 9 习题
实验15. 1:使用tcp/ip协议
示例:winsock包
第16章 远程文件
16. 1 通过网络共享信息
16. 1. 1 显式的文件复制系统
16. 1. 2 无缝文件系统接口
16. 1. 3 工作分布
16. 2 远程磁盘系统
16. 2. 1 远程磁盘操作
16. 2. 2 性能因素
16. 2. 3 可靠性
16. 2. 4 远程磁盘的未来
16. 3 远程文件系统
16. 3. 1 通用的体系结构
16. 3. 2 块高速缓存
16. 3. 3 失效后的恢复
16. 4 文件级高速缓存
16. 4. 1 andrew文件系统
16. 4. 2 locus文件系统
16. 5 目录系统及其实现
16. 5. 1 文件名字
16. 5. 2 打开一个文件
16. 6 小结
16. 7 习题
第17章 分布式计算
17. 1 分布式操作系统机制
17. 2 分布式主存
17. 2. 1 远程存储器
示例:linda程序设计语言
17. 2. 2 分布式共享存储器
17. 3 远程过程调用
17. 3. 1 rpc如何工作
17. 3. 2 实现rpc
17. 4 远程对象
17. 4. 1 emerald系统
17. 4. 2 corba
17. 4. 3 java远程对象
17. 5 分布式进程管理
17. 5. 1 通用的进程管理
17. 5. 2 进程和线程创建
17. 5. 3 调度
17. 5. 4 迁移和负载平衡
17. 5. 5 分布式同步
17. 6 小结
17. 7 习题
实验17. 1:使用远程过程调用
第18章 分布式程序设计运行时系统
18. 1 用中间件来支持分布式软件
18. 2 传统的分布式应用程序
18. 3 经典分布式程序设计的中间件支持
18. 3. 1 pvm
18. 3. 2 beowulf集群计算环境
18. 3. 3 osf分布式计算环境
18. 4 web上的分布式程序设计
18. 5 移动代码的中间件支持
18. 5. 1 java和java虚拟机
18. 5. 2 ecma335通用语言基础设施
18. 6 小结
18. 7 习题
第19章 设计策略
19. 1 设计考虑
19. 1. 1 性能
19. 1. 2 可信软件
19. 1. 3 模块化
19. 1. 4 可移植性
19. 2 单一内核
示例:ms瞕os
示例:unix内核
19. 3 模块化组织结构
示例:choices——面向对象的操作系统
19. 4 可扩展内核或微内核组织结构
示例:mach操作系统
19. 5 分层的组织结构
19. 6 用于分布式系统的操作系统
19. 6. 1 网络操作系统
示例:bsd unix
19. 6. 2 分布式操作系统
示例:chorus操作系统
19. 7 小结
19. 8 习题
第20章 linux内核
20. 1 linux内核
20. 2 内核组织结构
20. 2. 1 使用内核服务
20. 2. 2 守护进程
20. 2. 3 启动内核
20. 2. 4 机器中的控制流
20. 3 模块和设备管理
20. 3. 1 模块组织
20. 3. 2 模块的安装和移除
20. 4 进程和资源管理
20. 4. 1 运行进程管理器
20. 4. 2 创建一个新任务
20. 4. 3 ipc和同步
20. 4. 4 调度程序
20. 5 存储管理器
20. 5. 1 虚拟地址空间
20. 5. 2 缺页处理程序
20. 6 文件管理
20. 7 小结
第21章 windows nt/2000/xp内核
21. 1 概述
21. 2 nt内核
21. 2. 1 对象
21. 2. 2 线程
21. 2. 3 多处理机同步
21. 2. 4 自陷、中断和异常
21. 3 nt 执行体
21. 3. 1 对象管理器
21. 3. 2 进程和线程管理器
21. 3. 3 虚拟存储管理器
21. 3. 4 i/o管理器
21. 3. 5 高速缓存管理器
21. 4 内核本地过程调用和ipc
21. 5 子系统
21. 6 小结
术语表
参考文献
Operating Systems
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×