程序代写代做代考 Java C语言 现代操作系统 原书第3版

现代操作系统 原书第3版

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

TanLiChun
高亮

[General Information]
书名=现代操作系统 原书第3版
作者=(荷)塔嫩鲍姆著;陈向群,马洪兵等译
页数=582
出版社=北京市:机械工业出版社
出版日期=2009.07
SS号=12405282
DX号=000006750201
URL=http://book.szdnet.org.cn/bookDetail.jsp?dxNumber=0000
06750201&d=5BF2143D94BEBBA6AB595C91081F33DC

封面
书名
版权
前言
目录
第1章 引论
1.1 什么是操作系统
1.1.1 作为扩展机器的操作系统
1.1.2 作为资源管理者的操作系统
1.2 操作系统的历史
1.2.1 第一代(1945~1955):真空管和穿孔卡片
1.2.2 第二代(1955~1965):晶体管和批处理系统
1.2.3 第三代(1965~1980):集成电路芯片和多道程序设计
1.2.4 第四代(1980年至今):个人计算机
1.3 计算机硬件介绍
1.3.1 处理器
1.3.2 存储器
1.3.3 磁盘
1.3.4 磁带
1.3.5 I/O设备
1.3.6 总线
1.3.7 启动计算机
1.4 操作系统大观园
1.4.1 大型机操作系统
1.4.2 服务器操作系统
1.4.3 多处理器操作系统
1.4.4 个人计算机操作系统
1.4.5 掌上计算机操作系统
1.4.6 嵌入式操作系统
1.4.7 传感器节点操作系统
1.4.8 实时操作系统
1.4.9 智能卡操作系统
1.5 操作系统概念
1.5.1 进程
1.5.2 地址空间
1.5.3 文件
1.5.4 输入/输出
1.5.5 保护
1.5.6 shell
1.5.7 个体重复系统发育
1.6 系统调用
1.6.1 用于进程管理的系统调用
1.6.2 用于文件管理的系统调用
1.6.3 用于目录管理的系统调用
1.6.4 各种系统调用
1.6.5 Windows Win32 API
1.7 操作系统结构
1.7.1 单体系统
1.7.2 层次式系统
1.7.3 微内核
1.7.4 客户机-服务器模式
1.7.5 虚拟机
1.7.6 外核
1.8 依靠C的世界
1.8.1 C语言
1.8.2 头文件
1.8.3 大型编程项目
1.8.4 运行模型
1.9 有关操作系统的研究
1.10 本书其他部分概要
1.11 公制单位
1.12 小结
习题
第2章 进程与线程
2.1 进程
2.1.1 进程模型
2.1.2 创建进程
2.1.3 进程的终止
2.1.4 进程的层次结构
2.1.5 进程的状态
2.1.6 进程的实现
2.1.7 多道程序设计模型
2.2 线程
2.2.1 线程的使用

2.2.2 经典的线程模型
2.2.3 POSIX线程
2.2.4 在用户空间中实现线程
2.2.5 在内核中实现线程
2.2.6 混合实现
2.2.7 调度程序激活机制
2.2.8 弹出式线程
2.2.9 使单线程代码多线程化
2.3 进程间通信
2.3.1 竞争条件
2.3.2 临界区
2.3.3 忙等待的互斥
2.3.4 睡眠与唤醒
2.3.5 信号量
2.3.6 互斥量
2.3.7 管程
2.3.8 消息传递
2.3.9 屏障
2.4 调度
2.4.1 调度介绍
2.4.2 批处理系统中的调度
2.4.3 交互式系统中的调度
2.4.4 实时系统中的调度
2.4.5 策略和机制
2.4.6 线程调度
2.5 经典的IPC问题
2.5.1 哲学家就餐问题
2.5.2 读者-写者问题
2.6 有关进程和线程的研究
2.7 小结
习题
第3章 存储管理
3.1 无存储器抽象
3.2 一种存储器抽象:地址空间
3.2.1 地址空间的概念
3.2.2 交换技术
3.2.3 空闲内存管理
3.3 虚拟内存
3.3.1 分页
3.3.2 页表
3.3.3 加速分页过程
3.3.4 针对大内存的页表
3.4 页面置换算法
3.4.1 最优页面置换算法
3.4.2 最近未使用页面置换算法
3.4.3 先进先出页面置换算法
3.4.4 第二次机会页面置换算法
3.4.5 时钟页面置换算法
3.4.6 最近最少使用页面置换算法
3.4.7 用软件模拟LRU
3.4.8 工作集页面置换算法
3.4.9 工作集时钟页面置换算法
3.4.10 页面置换算法小结
3.5 分页系统中的设计问题
3.5.1 局部分配策略与全局分配策略
3.5.2 负载控制
3.5.3 页面大小
3.5.4 分离的指令空间和数据空间
3.5.5 共享页面
3.5.6 共享库
3.5.7 内存映射文件
3.5.8 清除策略
3.5.9 虚拟内存接口
3.6 有关实现的问题
3.6.1 与分页有关的工作
3.6.2 缺页中断处理
3.6.3 指令备份
3.6.4 锁定内存中的页面
3.6.5 后备存储
3.6.6 策略和机制的分离
3.7 分段
3.7.1 纯分段的实现
3.7.2 分段和分页结合:MULTICS
3.7.3 分段和分页结合:Intel Pentium

3.8 有关存储管理的研究
3.9 小结
习题
第4章 文件系统
4.1 文件
4.1.1 文件命名
4.1.2 文件结构
4.1.3 文件类型
4.1.4 文件存取
4.1.5 文件属性
4.1.6 文件操作
4.1.7 使用文件系统调用的一个示例程序
4.2 目录
4.2.1 一级目录系统
4.2.2 层次目录系统
4.2.3 路径名
4.2.4 目录操作
4.3 文件系统的实现
4.3.1 文件系统布局
4.3.2 文件的实现
4.3.3 目录的实现
4.3.4 共享文件
4.3.5 日志结构文件系统
4.3.6 日志文件系统
4.3.7 虚拟文件系统
4.4 文件系统管理和优化
4.4.1 磁盘空间管理
4.4.2 文件系统备份
4.4.3 文件系统的一致性
4.4.4 文件系统性能
4.4.5 磁盘碎片整理
4.5 文件系统实例
4.5.1 CD-ROM文件系统
4.5.2 MS-DOS文件系统
4.5.3 UNIX V7文件系统
4.6 有关文件系统的研究
4.7 小结
习题
第5章 输入/输出
5.1 I/O硬件原理
5.1.1 I/O设备
5.1.2 设备控制器
5.1.3 内存映射I/O
5.1.4 直接存储器存取
5.1.5 重温中断
5.2 I/O软件原理
5.2.1 I/O软件的目标
5.2.2 程序控制I/O
5.2.3 中断驱动I/O
5.2.4 使用DMA的I/O
5.3 I/O软件层次
5.3.1 中断处理程序
5.3.2 设备驱动程序
5.3.3 与设备无关的I/O软件
5.3.4 用户空间的I/O软件
5.4 盘
5.4.1 盘的硬件
5.4.2 磁盘格式化
5.4.3 磁盘臂调度算法
5.4.4 错误处理
5.4.5 稳定存储器
5.5 时钟
5.5.1 时钟硬件
5.5.2 时钟软件
5.5.3 软定时器
5.6 用户界面:键盘、鼠标和监视器
5.6.1 输入软件
5.6.2 输出软件
5.7 瘦客户机
5.8 电源管理
5.8.1 硬件问题
5.8.2 操作系统问题
5.8.3 应用程序问题
5.9 有关输入/输出的研究

5.10 小结
习题
第6章 死锁
6.1 资源
6.1.1 可抢占资源和不可抢占资源
6.1.2 资源获取
6.2 死锁概述
6.2.1 资源死锁的条件
6.2.2 死锁建模
6.3 鸵鸟算法
6.4 死锁检测和死锁恢复
6.4.1 每种类型一个资源的死锁检测
6.4.2 每种类型多个资源的死锁检测
6.4.3 从死锁中恢复
6.5 死锁避免
6.5.1 资源轨迹图
6.5.2 安全状态和不安全状态
6.5.3 单个资源的银行家算法
6.5.4 多个资源的银行家算法
6.6 死锁预防
6.6.1 破坏互斥条件
6.6.2 破坏占有和等待条件
6.6.3 破坏不可抢占条件
6.6.4 破坏环路等待条件
6.7 其他问题
6.7.1 两阶段加锁
6.7.2 通信死锁
6.7.3 活锁
6.7.4 饥饿
6.8 有关死锁的研究
6.9 小结
习题
第7章 多媒体操作系统
7.1 多媒体简介
7.2 多媒体文件
7.2.1 视频编码
7.2.2 音频编码
7.3 视频压缩
7.3.1 JPEG标准
7.3.2 MPEG标准
7.4 音频压缩
7.5 多媒体进程调度
7.5.1 调度同质进程
7.5.2 一般实时调度
7.5.3 速率单调调度
7.5.4 最早最终时限优先调度
7.6 多媒体文件系统范型
7.6.1 VCR控制功能
7.6.2 近似视频点播
7.6.3 具有VCR功能的近似视频点播
7.7 文件存放
7.7.1 在单个磁盘上存放文件
7.7.2 两个替代的文件组织策略
7.7.3 近似视频点播的文件存放
7.7.4 在单个磁盘上存放多个文件
7.7.5 在多个磁盘上存放文件
7.8 高速缓存
7.8.1 块高速缓存
7.8.2 文件高速缓存
7.9 多媒体磁盘调度
7.9.1 静态磁盘调度
7.9.2 动态磁盘调度
7.10 有关多媒体的研究
7.11 小结
习题
第8章 多处理机系统
8.1 多处理机
8.1.1 多处理机硬件
8.1.2 多处理机操作系统类型
8.1.3 多处理机同步
8.1.4 多处理机调度
8.2 多计算机
8.2.1 多计算机硬件
8.2.2 低层通信软件

8.2.3 用户层通信软件
8.2.4 远程过程调用
8.2.5 分布式共享存储器
8.2.6 多计算机调度
8.2.7 负载平衡
8.3 虚拟化
8.3.1 虚拟化的条件
8.3.2 Ⅰ型管理程序
8.3.3 Ⅱ型管理程序
8.3.4 准虚拟化
8.3.5 内存的虚拟化
8.3.6 I/O设备的虚拟化
8.3.7 虚拟工具
8.3.8 多核处理机上的虚拟机
8.3.9 授权问题
8.4 分布式系统
8.4.1 网络硬件
8.4.2 网络服务和协议
8.4.3 基于文档的中间件
8.4.4 基于文件系统的中间件
8.4.5 基于对象的中间件
8.4.6 基于协作的中间件
8.4.7 网格
8.5 有关多处理机系统的研究
8.6 小结
习题
第9章 安全
9.1 环境安全
9.1.1 威胁
9.1.2 入侵者
9.1.3 数据意外遗失
9.2 密码学原理
9.2.1 私钥加密技术
9.2.2 公钥加密技术
9.2.3 单向函数
9.2.4 数字签名
9.2.5 可信平台模块
9.3 保护机制
9.3.1 保护域
9.3.2 访问控制列表
9.3.3 权能
9.3.4 可信系统
9.3.5 可信计算基
9.3.6 安全系统的形式化模型
9.3.7 多级安全
9.3.8 隐蔽信道
9.4 认证
9.4.1 使用口令认证
9.4.2 使用实际物体的认证方式
9.4.3 使用生物识别的验证方式
9.5 内部攻击
9.5.1 逻辑炸弹
9.5.2 后门陷阱
9.5.3 登录欺骗
9.6 利用代码漏洞
9.6.1 缓冲区溢出攻击
9.6.2 格式化字符串攻击
9.6.3 返回libc攻击
9.6.4 整数溢出攻击
9.6.5 代码注入攻击
9.6.6 权限提升攻击
9.7 恶意软件
9.7.1 特洛伊木马
9.7.2 病毒
9.7.3 蠕虫
9.7.4 间谍软件
9.7.5 rootkit
9.8 防御
9.8.1 防火墙
9.8.2 反病毒和抑制反病毒技术
9.8.3 代码签名
9.8.4 囚禁
9.8.5 基于模型的入侵检测
9.8.6 封装移动代码

9.8.7 Java安全性
9.9 有关安全性研究
9.10 小结
习题
第10章 实例研究1:Linux
10.1 UNIX与Linux的历史
10.1.1 UNICS
10.1.2 PDP-11 UNIX
10.1.3 可移植的UNIX
10.1.4 Berkeley UNIX
10.1.5 标准UNIX
10.1.6 MINIX
10.1.7 Linux
10.2 Linux概述
10.2.1 Linux的设计目标
10.2.2 到Linux的接口
10.2.3 shell
10.2.4 Linux应用程序
10.2.5 内核结构
10.3 Linux中的进程
10.3.1 基本概念
10.3.2 Linux中进程管理相关的系统调用
10.3.3 Linux中进程与线程的实现
10.3.4 Linux中的调度
10.3.5 启动Linux系统
10.4 Linux中的内存管理
10.4.1 基本概念
10.4.2 Linux中的内存管理系统调用
10.4.3 Linux中内存管理的实现
10.4.4 Linux中的分页
10.5 Linux中的I/O系统
10.5.1 基本概念
10.5.2 网络
10.5.3 Linux的输入/输出系统调用
10.5.4 输入/输出在Linux中的实现
10.5.5 Linux中的模块
10.6 Linux文件系统
10.6.1 基本概念
10.6.2 Linux的文件系统调用
10.6.3 Linux文件系统的实现
10.6.4 NFS:网络文件系统
10.7 Linux的安全性
10.7.1 基本概念
10.7.2 Linux中安全相关的系统调用
10.7.3 Linux中的安全实现
10.8 小结
习题
第11章 实例研究2:Windows Vista
11.1 Windows Vista的历史
11.1.1 20世纪80年代:MS-DOS
11.1.2 20世纪90年代:基于MS-DOS的Windows
11.1.3 21世纪:基于NT的Windows
11.1.4 Windows Vista
11.2 Windows Vista编程
11.2.1 内部NT应用编程接口
11.2.2 Win32应用编程接口
11.2.3 Windows注册表
11.3 系统结构
11.3.1 操作系统结构
11.3.2 启动Windows Vista
11.3.3 对象管理器的实现
11.3.4 子系统、DLL和用户态服务
11.4 Windows Vista中的进程和线程
11.4.1 基本概念
11.4.2 作业、进程、线程和纤程管理API调用
11.4.3 进程和线程的实现
11.5 内存管理
11.5.1 基本概念
11.5.2 内存管理系统调用
11.5.3 存储管理的实现
11.6 Windows Vista的高速缓存
11.7 Windows Vista的输入/输出
11.7.1 基本概念
11.7.2 输入/输出API调用

11.7.3 I/O实现
11.8 Windows NT文件系统
11.8.1 基本概念
11.8.2 NTFS文件系统的实现
11.9 Windows Vista中的安全
11.9.1 基本概念
11.9.2 安全相关的API调用
11.9.3 安全性的实现
11.10 小结
习题
第12章 实例研究3:Symbian操作系统
12.1 Symbian操作系统的历史
12.1.1 Symbian操作系统的起源:Psion和EPOC
12.1.2 Symbian操作系统版本6
12.1.3 Symbian操作系统版本7
12.1.4 今天的Symbian操作系统
12.2 Symbian操作系统概述
12.2.1 面向对象
12.2.2 微内核设计
12.2.3 Symbian操作系统纳核
12.2.4 客户机/服务器资源访问
12.2.5 较大型操作系统的特点
12.2.6 通信与多媒体
12.3 Symbian操作系统中的进程和线程
12.3.1 线程和纳线程
12.3.2 进程
12.3.3 活动对象
12.3.4 进程间通信
12.4 内存管理
12.4.1 没有虚拟内存的系统
12.4.2 Symbian操作系统的寻址方式
12.5 输入和输出
12.5.1 设备驱动
12.5.2 内核扩展
12.5.3 直接存储器访问
12.5.4 特殊情况:存储介质
12.5.5 阻塞I/O
12.5.6 可移动存储器
12.6 存储系统
12.6.1 移动设备文件系统
12.6.2 Symbian操作系统文件系统
12.6.3 文件系统安全和保护
12.7 Symbian操作系统的安全
12.8 Symbian操作系统中的通信
12.8.1 基本基础结构
12.8.2 更仔细地观察基础结构
12.9 小结
习题
第13章 操作系统设计
13.1 设计问题的本质
13.1.1 目标
13.1.2 设计操作系统为什么困难
13.2 接口设计
13.2.1 指导原则
13.2.2 范型
13.2.3 系统调用接口
13.3 实现
13.3.1 系统结构
13.3.2 机制与策略
13.3.3 正交性
13.3.4 命名
13.3.5 绑定的时机
13.3.6 静态与动态结构
13.3.7 自顶向下与自底向上的实现
13.3.8 实用技术
13.4 性能
13.4.1 操作系统为什么运行缓慢
13.4.2 什么应该优化
13.4.3 空间-时间的权衡
13.4.4 高速缓存
13.4.5 线素
13.4.6 利用局部性
13.4.7 优化常见的情况
13.5 项目管理

13.5.1 人月神话
13.5.2 团队结构
13.5.3 经验的作用
13.5.4 没有银弹
13.6 操作系统设计的趋势
13.6.1 虚拟化
13.6.2 多核芯片
13.6.3 大型地址空间操作系统
13.6.4 联网
13.6.5 并行系统与分布式系统
13.6.6 多媒体
13.6.7 电池供电的计算机
13.6.8 嵌入式系统
13.6.9 传感节点
13.7 小结
习题
第14章 阅读材料及参考文献
14.1 进行深入阅读的建议
14.1.1 简介及概要
14.1.2 进程和线程
14.1.3 存储管理
14.1.4 输入/输出
14.1.5 文件系统
14.1.6 死锁
14.1.7 多媒体操作系统
14.1.8 多处理机系统
14.1.9 安全
14.1.10 Linux
14.1.11 Windows Vista
14.1.12 Symbian操作系统
14.1.13 设计原则
14.2 按字母顺序排序的参考文献

封面
书名
版权
前言
目录
第1章 引论
1.1 什么是操作系统
1.1.1 作为扩展机器的操作系统
1.1.2 作为资源管理者的操作系统
1.2 操作系统的历史
1.2.1 第一代(1945~1955):真空管和穿孔卡片
1.2.2 第二代(1955~1965):晶体管和批处理系统
1.2.3 第三代(1965~1980):集成电路芯片和多道程序设计
1.2.4 第四代(1980年至今):个人计算机
1.3 计算机硬件介绍
1.3.1 处理器
1.3.2 存储器
1.3.3 磁盘
1.3.4 磁带
1.3.5 I/O设备
1.3.6 总线
1.3.7 启动计算机
1.4 操作系统大观园
1.4.1 大型机操作系统
1.4.2 服务器操作系统
1.4.3 多处理器操作系统
1.4.4 个人计算机操作系统
1.4.5 掌上计算机操作系统
1.4.6 嵌入式操作系统
1.4.7 传感器节点操作系统
1.4.8 实时操作系统
1.4.9 智能卡操作系统
1.5 操作系统概念
1.5.1 进程
1.5.2 地址空间
1.5.3 文件
1.5.4 输入/输出
1.5.5 保护
1.5.6 shell
1.5.7 个体重复系统发育
1.6 系统调用
1.6.1 用于进程管理的系统调用
1.6.2 用于文件管理的系统调用
1.6.3 用于目录管理的系统调用
1.6.4 各种系统调用
1.6.5 Windows Win32 API
1.7 操作系统结构
1.7.1 单体系统
1.7.2 层次式系统
1.7.3 微内核
1.7.4 客户机-服务器模式
1.7.5 虚拟机
1.7.6 外核
1.8 依靠C的世界
1.8.1 C语言
1.8.2 头文件
1.8.3 大型编程项目
1.8.4 运行模型
1.9 有关操作系统的研究
1.10 本书其他部分概要
1.11 公制单位
1.12 小结
习题
第2章 进程与线程
2.1 进程
2.1.1 进程模型
2.1.2 创建进程
2.1.3 进程的终止
2.1.4 进程的层次结构
2.1.5 进程的状态
2.1.6 进程的实现
2.1.7 多道程序设计模型
2.2 线程
2.2.1 线程的使用
2.2.2 经典的线程模型
2.2.3 POSIX线程
2.2.4 在用户空间中实现线程
2.2.5 在内核中实现线程
2.2.6 混合实现
2.2.7 调度程序激活机制
2.2.8 弹出式线程
2.2.9 使单线程代码多线程化
2.3 进程间通信
2.3.1 竞争条件
2.3.2 临界区
2.3.3 忙等待的互斥
2.3.4 睡眠与唤醒
2.3.5 信号量
2.3.6 互斥量
2.3.7 管程
2.3.8 消息传递
2.3.9 屏障
2.4 调度
2.4.1 调度介绍
2.4.2 批处理系统中的调度
2.4.3 交互式系统中的调度
2.4.4 实时系统中的调度
2.4.5 策略和机制
2.4.6 线程调度
2.5 经典的IPC问题
2.5.1 哲学家就餐问题
2.5.2 读者-写者问题
2.6 有关进程和线程的研究
2.7 小结
习题
第3章 存储管理
3.1 无存储器抽象
3.2 一种存储器抽象:地址空间
3.2.1 地址空间的概念
3.2.2 交换技术
3.2.3 空闲内存管理
3.3 虚拟内存
3.3.1 分页
3.3.2 页表
3.3.3 加速分页过程
3.3.4 针对大内存的页表
3.4 页面置换算法
3.4.1 最优页面置换算法
3.4.2 最近未使用页面置换算法
3.4.3 先进先出页面置换算法
3.4.4 第二次机会页面置换算法
3.4.5 时钟页面置换算法
3.4.6 最近最少使用页面置换算法
3.4.7 用软件模拟LRU
3.4.8 工作集页面置换算法
3.4.9 工作集时钟页面置换算法
3.4.10 页面置换算法小结
3.5 分页系统中的设计问题
3.5.1 局部分配策略与全局分配策略
3.5.2 负载控制
3.5.3 页面大小
3.5.4 分离的指令空间和数据空间
3.5.5 共享页面
3.5.6 共享库
3.5.7 内存映射文件
3.5.8 清除策略
3.5.9 虚拟内存接口
3.6 有关实现的问题
3.6.1 与分页有关的工作
3.6.2 缺页中断处理
3.6.3 指令备份
3.6.4 锁定内存中的页面
3.6.5 后备存储
3.6.6 策略和机制的分离
3.7 分段
3.7.1 纯分段的实现
3.7.2 分段和分页结合:MULTICS
3.7.3 分段和分页结合:Intel Pentium
3.8 有关存储管理的研究
3.9 小结
习题
第4章 文件系统
4.1 文件
4.1.1 文件命名
4.1.2 文件结构
4.1.3 文件类型
4.1.4 文件存取
4.1.5 文件属性
4.1.6 文件操作
4.1.7 使用文件系统调用的一个示例程序
4.2 目录
4.2.1 一级目录系统
4.2.2 层次目录系统
4.2.3 路径名
4.2.4 目录操作
4.3 文件系统的实现
4.3.1 文件系统布局
4.3.2 文件的实现
4.3.3 目录的实现
4.3.4 共享文件
4.3.5 日志结构文件系统
4.3.6 日志文件系统
4.3.7 虚拟文件系统
4.4 文件系统管理和优化
4.4.1 磁盘空间管理
4.4.2 文件系统备份
4.4.3 文件系统的一致性
4.4.4 文件系统性能
4.4.5 磁盘碎片整理
4.5 文件系统实例
4.5.1 CD-ROM文件系统
4.5.2 MS-DOS文件系统
4.5.3 UNIX V7文件系统
4.6 有关文件系统的研究
4.7 小结
习题
第5章 输入/输出
5.1 I/O硬件原理
5.1.1 I/O设备
5.1.2 设备控制器
5.1.3 内存映射I/O
5.1.4 直接存储器存取
5.1.5 重温中断
5.2 I/O软件原理
5.2.1 I/O软件的目标
5.2.2 程序控制I/O
5.2.3 中断驱动I/O
5.2.4 使用DMA的I/O
5.3 I/O软件层次
5.3.1 中断处理程序
5.3.2 设备驱动程序
5.3.3 与设备无关的I/O软件
5.3.4 用户空间的I/O软件
5.4 盘
5.4.1 盘的硬件
5.4.2 磁盘格式化
5.4.3 磁盘臂调度算法
5.4.4 错误处理
5.4.5 稳定存储器
5.5 时钟
5.5.1 时钟硬件
5.5.2 时钟软件
5.5.3 软定时器
5.6 用户界面:键盘、鼠标和监视器
5.6.1 输入软件
5.6.2 输出软件
5.7 瘦客户机
5.8 电源管理
5.8.1 硬件问题
5.8.2 操作系统问题
5.8.3 应用程序问题
5.9 有关输入/输出的研究
5.10 小结
习题
第6章 死锁
6.1 资源
6.1.1 可抢占资源和不可抢占资源
6.1.2 资源获取
6.2 死锁概述
6.2.1 资源死锁的条件
6.2.2 死锁建模
6.3 鸵鸟算法
6.4 死锁检测和死锁恢复
6.4.1 每种类型一个资源的死锁检测
6.4.2 每种类型多个资源的死锁检测
6.4.3 从死锁中恢复
6.5 死锁避免
6.5.1 资源轨迹图
6.5.2 安全状态和不安全状态
6.5.3 单个资源的银行家算法
6.5.4 多个资源的银行家算法
6.6 死锁预防
6.6.1 破坏互斥条件
6.6.2 破坏占有和等待条件
6.6.3 破坏不可抢占条件
6.6.4 破坏环路等待条件
6.7 其他问题
6.7.1 两阶段加锁
6.7.2 通信死锁
6.7.3 活锁
6.7.4 饥饿
6.8 有关死锁的研究
6.9 小结
习题
第7章 多媒体操作系统
7.1 多媒体简介
7.2 多媒体文件
7.2.1 视频编码
7.2.2 音频编码
7.3 视频压缩
7.3.1 JPEG标准
7.3.2 MPEG标准
7.4 音频压缩
7.5 多媒体进程调度
7.5.1 调度同质进程
7.5.2 一般实时调度
7.5.3 速率单调调度
7.5.4 最早最终时限优先调度
7.6 多媒体文件系统范型
7.6.1 VCR控制功能
7.6.2 近似视频点播
7.6.3 具有VCR功能的近似视频点播
7.7 文件存放
7.7.1 在单个磁盘上存放文件
7.7.2 两个替代的文件组织策略
7.7.3 近似视频点播的文件存放
7.7.4 在单个磁盘上存放多个文件
7.7.5 在多个磁盘上存放文件
7.8 高速缓存
7.8.1 块高速缓存
7.8.2 文件高速缓存
7.9 多媒体磁盘调度
7.9.1 静态磁盘调度
7.9.2 动态磁盘调度
7.10 有关多媒体的研究
7.11 小结
习题
第8章 多处理机系统
8.1 多处理机
8.1.1 多处理机硬件
8.1.2 多处理机操作系统类型
8.1.3 多处理机同步
8.1.4 多处理机调度
8.2 多计算机
8.2.1 多计算机硬件
8.2.2 低层通信软件
8.2.3 用户层通信软件
8.2.4 远程过程调用
8.2.5 分布式共享存储器
8.2.6 多计算机调度
8.2.7 负载平衡
8.3 虚拟化
8.3.1 虚拟化的条件
8.3.2 Ⅰ型管理程序
8.3.3 Ⅱ型管理程序
8.3.4 准虚拟化
8.3.5 内存的虚拟化
8.3.6 I/O设备的虚拟化
8.3.7 虚拟工具
8.3.8 多核处理机上的虚拟机
8.3.9 授权问题
8.4 分布式系统
8.4.1 网络硬件
8.4.2 网络服务和协议
8.4.3 基于文档的中间件
8.4.4 基于文件系统的中间件
8.4.5 基于对象的中间件
8.4.6 基于协作的中间件
8.4.7 网格
8.5 有关多处理机系统的研究
8.6 小结
习题
第9章 安全
9.1 环境安全
9.1.1 威胁
9.1.2 入侵者
9.1.3 数据意外遗失
9.2 密码学原理
9.2.1 私钥加密技术
9.2.2 公钥加密技术
9.2.3 单向函数
9.2.4 数字签名
9.2.5 可信平台模块
9.3 保护机制
9.3.1 保护域
9.3.2 访问控制列表
9.3.3 权能
9.3.4 可信系统
9.3.5 可信计算基
9.3.6 安全系统的形式化模型
9.3.7 多级安全
9.3.8 隐蔽信道
9.4 认证
9.4.1 使用口令认证
9.4.2 使用实际物体的认证方式
9.4.3 使用生物识别的验证方式
9.5 内部攻击
9.5.1 逻辑炸弹
9.5.2 后门陷阱
9.5.3 登录欺骗
9.6 利用代码漏洞
9.6.1 缓冲区溢出攻击
9.6.2 格式化字符串攻击
9.6.3 返回libc攻击
9.6.4 整数溢出攻击
9.6.5 代码注入攻击
9.6.6 权限提升攻击
9.7 恶意软件
9.7.1 特洛伊木马
9.7.2 病毒
9.7.3 蠕虫
9.7.4 间谍软件
9.7.5 rootkit
9.8 防御
9.8.1 防火墙
9.8.2 反病毒和抑制反病毒技术
9.8.3 代码签名
9.8.4 囚禁
9.8.5 基于模型的入侵检测
9.8.6 封装移动代码
9.8.7 Java安全性
9.9 有关安全性研究
9.10 小结
习题
第10章 实例研究1:Linux
10.1 UNIX与Linux的历史
10.1.1 UNICS
10.1.2 PDP-11 UNIX
10.1.3 可移植的UNIX
10.1.4 Berkeley UNIX
10.1.5 标准UNIX
10.1.6 MINIX
10.1.7 Linux
10.2 Linux概述
10.2.1 Linux的设计目标
10.2.2 到Linux的接口
10.2.3 shell
10.2.4 Linux应用程序
10.2.5 内核结构
10.3 Linux中的进程
10.3.1 基本概念
10.3.2 Linux中进程管理相关的系统调用
10.3.3 Linux中进程与线程的实现
10.3.4 Linux中的调度
10.3.5 启动Linux系统
10.4 Linux中的内存管理
10.4.1 基本概念
10.4.2 Linux中的内存管理系统调用
10.4.3 Linux中内存管理的实现
10.4.4 Linux中的分页
10.5 Linux中的I/O系统
10.5.1 基本概念
10.5.2 网络
10.5.3 Linux的输入/输出系统调用
10.5.4 输入/输出在Linux中的实现
10.5.5 Linux中的模块
10.6 Linux文件系统
10.6.1 基本概念
10.6.2 Linux的文件系统调用
10.6.3 Linux文件系统的实现
10.6.4 NFS:网络文件系统
10.7 Linux的安全性
10.7.1 基本概念
10.7.2 Linux中安全相关的系统调用
10.7.3 Linux中的安全实现
10.8 小结
习题
第11章 实例研究2:Windows Vista
11.1 Windows Vista的历史
11.1.1 20世纪80年代:MS-DOS
11.1.2 20世纪90年代:基于MS-DOS的Windows
11.1.3 21世纪:基于NT的Windows
11.1.4 Windows Vista
11.2 Windows Vista编程
11.2.1 内部NT应用编程接口
11.2.2 Win32应用编程接口
11.2.3 Windows注册表
11.3 系统结构
11.3.1 操作系统结构
11.3.2 启动Windows Vista
11.3.3 对象管理器的实现
11.3.4 子系统、DLL和用户态服务
11.4 Windows Vista中的进程和线程
11.4.1 基本概念
11.4.2 作业、进程、线程和纤程管理API调用
11.4.3 进程和线程的实现
11.5 内存管理
11.5.1 基本概念
11.5.2 内存管理系统调用
11.5.3 存储管理的实现
11.6 Windows Vista的高速缓存
11.7 Windows Vista的输入/输出
11.7.1 基本概念
11.7.2 输入/输出API调用
11.7.3 I/O实现
11.8 Windows NT文件系统
11.8.1 基本概念
11.8.2 NTFS文件系统的实现
11.9 Windows Vista中的安全
11.9.1 基本概念
11.9.2 安全相关的API调用
11.9.3 安全性的实现
11.10 小结
习题
第12章 实例研究3:Symbian操作系统
12.1 Symbian操作系统的历史
12.1.1 Symbian操作系统的起源:Psion和EPOC
12.1.2 Symbian操作系统版本6
12.1.3 Symbian操作系统版本7
12.1.4 今天的Symbian操作系统
12.2 Symbian操作系统概述
12.2.1 面向对象
12.2.2 微内核设计
12.2.3 Symbian操作系统纳核
12.2.4 客户机/服务器资源访问
12.2.5 较大型操作系统的特点
12.2.6 通信与多媒体
12.3 Symbian操作系统中的进程和线程
12.3.1 线程和纳线程
12.3.2 进程
12.3.3 活动对象
12.3.4 进程间通信
12.4 内存管理
12.4.1 没有虚拟内存的系统
12.4.2 Symbian操作系统的寻址方式
12.5 输入和输出
12.5.1 设备驱动
12.5.2 内核扩展
12.5.3 直接存储器访问
12.5.4 特殊情况:存储介质
12.5.5 阻塞I/O
12.5.6 可移动存储器
12.6 存储系统
12.6.1 移动设备文件系统
12.6.2 Symbian操作系统文件系统
12.6.3 文件系统安全和保护
12.7 Symbian操作系统的安全
12.8 Symbian操作系统中的通信
12.8.1 基本基础结构
12.8.2 更仔细地观察基础结构
12.9 小结
习题
第13章 操作系统设计
13.1 设计问题的本质
13.1.1 目标
13.1.2 设计操作系统为什么困难
13.2 接口设计
13.2.1 指导原则
13.2.2 范型
13.2.3 系统调用接口
13.3 实现
13.3.1 系统结构
13.3.2 机制与策略
13.3.3 正交性
13.3.4 命名
13.3.5 绑定的时机
13.3.6 静态与动态结构
13.3.7 自顶向下与自底向上的实现
13.3.8 实用技术
13.4 性能
13.4.1 操作系统为什么运行缓慢
13.4.2 什么应该优化
13.4.3 空间-时间的权衡
13.4.4 高速缓存
13.4.5 线素
13.4.6 利用局部性
13.4.7 优化常见的情况
13.5 项目管理
13.5.1 人月神话
13.5.2 团队结构
13.5.3 经验的作用
13.5.4 没有银弹
13.6 操作系统设计的趋势
13.6.1 虚拟化
13.6.2 多核芯片
13.6.3 大型地址空间操作系统
13.6.4 联网
13.6.5 并行系统与分布式系统
13.6.6 多媒体
13.6.7 电池供电的计算机
13.6.8 嵌入式系统
13.6.9 传感节点
13.7 小结
习题
第14章 阅读材料及参考文献
14.1 进行深入阅读的建议
14.1.1 简介及概要
14.1.2 进程和线程
14.1.3 存储管理
14.1.4 输入/输出
14.1.5 文件系统
14.1.6 死锁
14.1.7 多媒体操作系统
14.1.8 多处理机系统
14.1.9 安全
14.1.10 Linux
14.1.11 Windows Vista
14.1.12 Symbian操作系统
14.1.13 设计原则
14.2 按字母顺序排序的参考文献