书籍详情
操作系统:并发与分布式软件设计
作者:(英)Jean Bacon,(英)Tim Harris 著;陈向群 等译
出版社:电子工业出版社
出版时间:2005-05-01
ISBN:9787121007729
定价:¥63.00
购买这本书可以去
内容简介
本书是一本用新的观念讲述操作系统原理和设计的高级教程。全书围绕着并发和分布式概念组织章节,避免仅仅将注意力置于传统的集中式系统,反映了分布式系统在当代已被广泛应用的现实,从而更能为读者所接受。全书共有30章,分为四个部分,第一部分和第二部分主要阐述了操作系统核心概念和基本功能,并介绍了操作系统理论和实践的最新进展。第三部分和第四部分将操作系统和数据库,以及分布式系统的设计结合起来,对UNIX,Linux,Windows2000/NT和JVM等典型现代操作系统进行了具体分析,并讨论了Web服务、中间件和事务处理等应用。对于操作系统安全这样一个重要课题,书中还专门安排了一章进行论述。本书的另一个特点是,所有的代码示例均结合Java语言进行,并采用Java描述面向对象的概念、并发算法和分布式程序设计等。读者对象:本书适合作为研究生的操作系统课程教材,也适合程序员、软件工程师,以及系统设计者作为学习和了解系统软件和操作系统的参考书。本书特色:■解释了核心操作系统的原理及功能■涉及了操作系统理论与实践的最新进展■研究了UNIX,Linux,Windows2000/NT及JVM中的操作系统案例■集中探讨了对象、并发与事务■所有的代码示例均结合Java语言进行,并采用Java描述面向对象的概念、并发算法和分布式程序设计■对于操作系统安全这样一个重要课题,书中专门安排了一章进行论述■将数据库和分布式系统的设计结合起来■进一步分析了Web服务、中间件及事务处理的案例
作者简介
JeanBacon,英国剑桥大学教授,耶酥学院高级会员。讲授操作系统、分布式系统及计算机体系结构课程,她在分布式系统领域从事的研究在剑桥大学首屈一指。Timharris,英国剑桥大学计算机科学系讲师,邱吉尔学院高级会员。可扩异操作系统领域博士,除讲授操作系统课程以外,他还讲授Java并发程序设计课程。
目录
第1章 系统设计需求
1.1 内在的并发系统
1.2 支持潜在的并发应用
1.3 软件系统的体系结构
1.4 定义并发系统
1.5 系统实现需求
1.6 系统设计中的安全,保护与容错
习题
第一部分 系统设计:技术与原理
第2章 系统结构与动态执行
2.1 系统结构:概念视图
2.2 系统结构:实现视图
2.3 进程概念
2.4 操作系统功能
2.5 操作系统调用和保护
2.6 操作系统结构
2.7 操作系统内的对象结构及操作系统支持下的对象结构
2.8 分布式对象系统,平台和中间件
2.9 安全与保护
2.10 小结
思考题
习题
第3章 硬件接口,I/O和通信
3.1 概述
3.2 与设备的接口
3.3 异常处理
3.4 多处理器
3.5 用户级的输入和输出
3.6 通信管理
3.7 通信网络,接口和驱动
3.8 通信协议
3.9 操作系统之中和操作系统之上对通信的处理
3.10 小结
习题
第4章 进程支持
4.1 系统中进程的使用
4.2 进程和处理器
4.3 进程状态
4.4 与硬件同步:事件与WAIT操作
4.5 进程数据结构
4.6 调度:通用方案
4.7 共享内存多处理器系统的调度
4.8 满足实时需求的进程调度
4.9 进程抽象和实现
4.10 操作系统结构和进程的实现
4.11 多线程进程的实现
4.12 语言系统,运行时系统和操作系统中的进程
4.13 语言系统和操作系统中的进程状态
4.14 使用系统调用的顺序程序
4.15 编程语言并行性的发展
4.16 编程语言中的进程创建
4.17 线程体系结构
4.18 Java的线程和异常
4.19 小结
思考题
习题
第5章 存储管理
5.1 存储管理简介
5.2 存储层次结构
5.3 进程的地址空间
5.4 段式虚拟存储
5.5 页式虚拟存储
5.6 分段和分页结合
5.7 操作系统数据结构
5.8 内存管理单元的示例
5.9 系统设计中的内存管理
5.10 小结
习题
第6章 文件管理
6.1 文件管理
6.2 文件系统功能综述
6.3 文件和目录结构
6.4 文件系统接口
6.5 文件系统的实现
6.6 现代文件系统设计
6.7 基于网络的文件服务
6.8 虚拟内存和存储的集成
6.9 小结
习题
第7章 分布式系统基础
7.1 简介
7.2 一般分布式系统的演化
7.3 个人计算
7.4 模型和软件架构
7.5 分布式系统的独有特点
7.6 分布式系统中的时间
7.7 命名
7.8 移动用户,计算机和对象
7.9 小结
习题
第8章 安全
8.1 场景和安全需求
8.2 威胁及风险分析
8.3 加密方法
8.4 算法
8.5 协议
8.6 实例
8.7 小结
习题
第二部分 主存中的并发控制
第9章 系统结构
9.1 共享地址空间中的进程
9.2 独立地址空间中的进程
9.3 共享操作系统
9.4 对两种模型中进程设置方式的小结
9.5 进程间交互的要求
9.6 进程交互的种类
9.7 进程交互
9.8 单一并发动作的定义
思考题
习题
第10章 底层同步:实现
10.1 进程同步和事件通知与等待之间的比较
10.2 互斥
10.3 互斥的硬件支持
10.4 信号量
10.5 使用信号量的风格
10.6 信号量操作的实现
10.7 小结
思考题
习题
第11章 底层同步:算法
11.1 简介
11.2 系统设计中信号量的例子:THE系统
11.3 生产者-消费者,有界缓冲区问题
11.4 安全性和活跃性属性
11.5 多读者,单写者问题
11.6 信号量的局限性
11.7 eventcount(事件计数)与sequencer(序列器)
11.8 POSIX线程
11.9 小结
实例研究及练习:磁盘高速缓存的管理
思考题
习题
第12章 用共享内存实现IPC
12.1 编程语言中的临界区
12.2 管程
12.3 在操作粒度上的同步
12.4 小结
思考题
习题
第13章 IPC和系统结构
13.1 进程间通信的风格
13.2 系统结构和用共享内存实现的IPC
13.3 系统结构和非共享内存的IPC
13.4 适合共享内存通信的系统
13.5 不适合共享内存通信的系统
13.6 经典UNIX中的例子
13.7 进程间通信概述
13.8 系统结构的对偶性
13.9 命名
13.10 小结
思考题
习题
第14章 非共享内存的IPC
14.1 简介
14.2 共享文件
14.3 UNIX管道
14.4 异步消息传递
14.5 基本消息传递机制的几种变体
14.6 异步消息传递的实现
14.7 同步消息传递
14.8 编程语言中的消息传递
14.9 服务器和客户端的多线程模型
14.10 小结
思考题
习题
第15章 灾难恢复和永久数据存储
15.1 故障简述
15.2 灾难模型
15.3 灾难恢复和透明性
15.4 幂等(可重复)操作
15.5 永久对象的原子操作
15.6 原子操作的实现
15.7 非易失内存
15.8 永久存储的操作
15.9 操作系统中DBMS的需求
15.10 小结
思考题
习题
第16章 分布式IPC
16.1 简介
16.2 分布式系统的特征
16.3 分布式IPC:消息传递
16.4 IPC和通信的集成
16.5 Java的套接字和流
16.6 分布式程序设计范型
16.7 远程过程调用
16.8 RPC语言集成
16.9 Java的RMI:一般对象模型中的RPC
16.10 对同步调用的评述
16.11 命名,定位和绑定
16.12 小结
思考题
习题
第三部分 事 务
第17章 组合操作
17.1 组合操作
17.2 主存中的组合操作
17.3 涉及主存和持久性存储的组合操作
17.4 组合操作的并发执行
17.5 潜在的问题
17.6 系统崩溃
17.7 小结
思考题
习题
第18章 资源分配和死锁
18.1 动态分配需求
18.2 死锁
18.3 活锁和饥饿
18.4 死锁存在的必要条件
18.5 哲学家就餐问题
18.6 对象分配图
18.7 死锁检测的数据结构及算法
18.8 死锁避免
18.9 关于多进程释放对象
18.10 分布式死锁
18.11 小结
思考题
习题
第19章 事务处理
19.1 简介
19.2 事务的规约与编程
19.3 串行化和一致性的定义
19.4 事务的ACID属性
19.5 给出事务的特定次序
19.6 事务处理的一个系统模型
19.7 事务的依赖图
19.8 历史记录及串行图
19.9 处理中止操作:更多关于隔离性
19.10 小结
思考题
习题
第20章 并发控制
20.1 简介
20.2 主存中的并发组合操作
20.3 事务管理系统的结构
20.4 通过锁机制控制并发
20.5 时间戳顺序(TSO)
20.6 乐观并发控制(OCC)
20.7 小结
思考题
习题
第21章 系统恢复
21.1 系统恢复需求
21.2 对象模型,对象状态与恢复
21.3 并发,系统崩溃和事务特性
21.4 为系统崩溃恢复提供日志和影子对象
21.5 恢复日志的使用
21.6 撤销和重做操作
21.7 系统失效时的事务状态
21.8 事务恢复的算法
21.9 移动对象的位置数据库
21.10 小结
习题
第22章 分布式事务
22.1 分布式系统的一个对象模型
22.2 分布式事务处理
22.3 通信
22.4 并发控制:两阶段锁
22.5 并发控制:时间戳顺序
22.6 乐观并发控制
22.7 分布式系统的提交和终止
22.8 原子性提交:两阶段提交协议
22.9 对OCC的两阶段确认
22.10 小结
思考题
习题
第23章 分布式计算
23.1 简介
23.2 进程组
23.3 数据副本的一致性
23.4 消息传递的排序
23.5 分布式的n进程互斥
23.6 小结
习题
第四部分 实例研究
第24章 经典UNIX
24.1 简介
24.2 UNIX的发展历史
24.3 系统结构和UNIX内核
24.4 文件系统接口
24.5 文件系统的实现
24.6 进程创建,终止和调度
24.7 IPC:管道和信号
24.8 小结
习题
第25章 Linux,Solaris和现代UNIX
25.1 简介
25.2 内核结构
25.3 SVr4 IPC
25.4 套接字和集成了IPC的文件子系统
25.5 内存管理
25.6 多处理器调度
25.7 小结
习题
第26章 可扩展系统
26.1 可扩展性机制
26.2 编译时配置
26.3 微内核操作系统
26.4 可下载代码
26.5 exokernel和垂直结构
26.6 嵌套虚拟机
26.7 可扩展虚拟机
26.8 小结
习题
第27章 Windows 2000
27.1 Windows 2000简介
27.2 系统结构
27.3 对象模型和对象管理
27.4 内核
27.5 进程,线程,纤程和并发控制
27.6 I/O子系统
27.7 NT文件系统(NTFS)
27.8 网络
27.9 小结
习题
第28章 万维网
28.1 Web客户端与Web服务器的简单交互
28.2 Web页面的命名
28.3 使用HTTP通信
28.4 文档表示
28.5 在客户端和服务器上执行程序
28.6 安全
28.7 并发控制
28.8 可伸缩性问题
28.9 基于Web的中间件:XML和SOAP
28.10 小结
习题
第29章 中间件
29.1 中间件范型
29.2 Java中间件
29.3 OMG和OMA
29.4 CORBA
29.5 ODMG
29.6 COM,DCOM 和 .NET
29.7 面向消息的中间件(MOM)
29.8 小结
习题
第30章 事务处理监视器和系统
30.1 事务处理监视器
30.2 电子货币转账(EFT)应用程序简介
30.3 国际银行支付:SWIFT
30.4 使用PIN码验证身份
30.5 国际自动柜员机(ATM)网络服务
30.6 TP系统中的负载和通信
30.7 小结和趋势
习题
附录A 计算机系统的演变
参考文献
术语表
1.1 内在的并发系统
1.2 支持潜在的并发应用
1.3 软件系统的体系结构
1.4 定义并发系统
1.5 系统实现需求
1.6 系统设计中的安全,保护与容错
习题
第一部分 系统设计:技术与原理
第2章 系统结构与动态执行
2.1 系统结构:概念视图
2.2 系统结构:实现视图
2.3 进程概念
2.4 操作系统功能
2.5 操作系统调用和保护
2.6 操作系统结构
2.7 操作系统内的对象结构及操作系统支持下的对象结构
2.8 分布式对象系统,平台和中间件
2.9 安全与保护
2.10 小结
思考题
习题
第3章 硬件接口,I/O和通信
3.1 概述
3.2 与设备的接口
3.3 异常处理
3.4 多处理器
3.5 用户级的输入和输出
3.6 通信管理
3.7 通信网络,接口和驱动
3.8 通信协议
3.9 操作系统之中和操作系统之上对通信的处理
3.10 小结
习题
第4章 进程支持
4.1 系统中进程的使用
4.2 进程和处理器
4.3 进程状态
4.4 与硬件同步:事件与WAIT操作
4.5 进程数据结构
4.6 调度:通用方案
4.7 共享内存多处理器系统的调度
4.8 满足实时需求的进程调度
4.9 进程抽象和实现
4.10 操作系统结构和进程的实现
4.11 多线程进程的实现
4.12 语言系统,运行时系统和操作系统中的进程
4.13 语言系统和操作系统中的进程状态
4.14 使用系统调用的顺序程序
4.15 编程语言并行性的发展
4.16 编程语言中的进程创建
4.17 线程体系结构
4.18 Java的线程和异常
4.19 小结
思考题
习题
第5章 存储管理
5.1 存储管理简介
5.2 存储层次结构
5.3 进程的地址空间
5.4 段式虚拟存储
5.5 页式虚拟存储
5.6 分段和分页结合
5.7 操作系统数据结构
5.8 内存管理单元的示例
5.9 系统设计中的内存管理
5.10 小结
习题
第6章 文件管理
6.1 文件管理
6.2 文件系统功能综述
6.3 文件和目录结构
6.4 文件系统接口
6.5 文件系统的实现
6.6 现代文件系统设计
6.7 基于网络的文件服务
6.8 虚拟内存和存储的集成
6.9 小结
习题
第7章 分布式系统基础
7.1 简介
7.2 一般分布式系统的演化
7.3 个人计算
7.4 模型和软件架构
7.5 分布式系统的独有特点
7.6 分布式系统中的时间
7.7 命名
7.8 移动用户,计算机和对象
7.9 小结
习题
第8章 安全
8.1 场景和安全需求
8.2 威胁及风险分析
8.3 加密方法
8.4 算法
8.5 协议
8.6 实例
8.7 小结
习题
第二部分 主存中的并发控制
第9章 系统结构
9.1 共享地址空间中的进程
9.2 独立地址空间中的进程
9.3 共享操作系统
9.4 对两种模型中进程设置方式的小结
9.5 进程间交互的要求
9.6 进程交互的种类
9.7 进程交互
9.8 单一并发动作的定义
思考题
习题
第10章 底层同步:实现
10.1 进程同步和事件通知与等待之间的比较
10.2 互斥
10.3 互斥的硬件支持
10.4 信号量
10.5 使用信号量的风格
10.6 信号量操作的实现
10.7 小结
思考题
习题
第11章 底层同步:算法
11.1 简介
11.2 系统设计中信号量的例子:THE系统
11.3 生产者-消费者,有界缓冲区问题
11.4 安全性和活跃性属性
11.5 多读者,单写者问题
11.6 信号量的局限性
11.7 eventcount(事件计数)与sequencer(序列器)
11.8 POSIX线程
11.9 小结
实例研究及练习:磁盘高速缓存的管理
思考题
习题
第12章 用共享内存实现IPC
12.1 编程语言中的临界区
12.2 管程
12.3 在操作粒度上的同步
12.4 小结
思考题
习题
第13章 IPC和系统结构
13.1 进程间通信的风格
13.2 系统结构和用共享内存实现的IPC
13.3 系统结构和非共享内存的IPC
13.4 适合共享内存通信的系统
13.5 不适合共享内存通信的系统
13.6 经典UNIX中的例子
13.7 进程间通信概述
13.8 系统结构的对偶性
13.9 命名
13.10 小结
思考题
习题
第14章 非共享内存的IPC
14.1 简介
14.2 共享文件
14.3 UNIX管道
14.4 异步消息传递
14.5 基本消息传递机制的几种变体
14.6 异步消息传递的实现
14.7 同步消息传递
14.8 编程语言中的消息传递
14.9 服务器和客户端的多线程模型
14.10 小结
思考题
习题
第15章 灾难恢复和永久数据存储
15.1 故障简述
15.2 灾难模型
15.3 灾难恢复和透明性
15.4 幂等(可重复)操作
15.5 永久对象的原子操作
15.6 原子操作的实现
15.7 非易失内存
15.8 永久存储的操作
15.9 操作系统中DBMS的需求
15.10 小结
思考题
习题
第16章 分布式IPC
16.1 简介
16.2 分布式系统的特征
16.3 分布式IPC:消息传递
16.4 IPC和通信的集成
16.5 Java的套接字和流
16.6 分布式程序设计范型
16.7 远程过程调用
16.8 RPC语言集成
16.9 Java的RMI:一般对象模型中的RPC
16.10 对同步调用的评述
16.11 命名,定位和绑定
16.12 小结
思考题
习题
第三部分 事 务
第17章 组合操作
17.1 组合操作
17.2 主存中的组合操作
17.3 涉及主存和持久性存储的组合操作
17.4 组合操作的并发执行
17.5 潜在的问题
17.6 系统崩溃
17.7 小结
思考题
习题
第18章 资源分配和死锁
18.1 动态分配需求
18.2 死锁
18.3 活锁和饥饿
18.4 死锁存在的必要条件
18.5 哲学家就餐问题
18.6 对象分配图
18.7 死锁检测的数据结构及算法
18.8 死锁避免
18.9 关于多进程释放对象
18.10 分布式死锁
18.11 小结
思考题
习题
第19章 事务处理
19.1 简介
19.2 事务的规约与编程
19.3 串行化和一致性的定义
19.4 事务的ACID属性
19.5 给出事务的特定次序
19.6 事务处理的一个系统模型
19.7 事务的依赖图
19.8 历史记录及串行图
19.9 处理中止操作:更多关于隔离性
19.10 小结
思考题
习题
第20章 并发控制
20.1 简介
20.2 主存中的并发组合操作
20.3 事务管理系统的结构
20.4 通过锁机制控制并发
20.5 时间戳顺序(TSO)
20.6 乐观并发控制(OCC)
20.7 小结
思考题
习题
第21章 系统恢复
21.1 系统恢复需求
21.2 对象模型,对象状态与恢复
21.3 并发,系统崩溃和事务特性
21.4 为系统崩溃恢复提供日志和影子对象
21.5 恢复日志的使用
21.6 撤销和重做操作
21.7 系统失效时的事务状态
21.8 事务恢复的算法
21.9 移动对象的位置数据库
21.10 小结
习题
第22章 分布式事务
22.1 分布式系统的一个对象模型
22.2 分布式事务处理
22.3 通信
22.4 并发控制:两阶段锁
22.5 并发控制:时间戳顺序
22.6 乐观并发控制
22.7 分布式系统的提交和终止
22.8 原子性提交:两阶段提交协议
22.9 对OCC的两阶段确认
22.10 小结
思考题
习题
第23章 分布式计算
23.1 简介
23.2 进程组
23.3 数据副本的一致性
23.4 消息传递的排序
23.5 分布式的n进程互斥
23.6 小结
习题
第四部分 实例研究
第24章 经典UNIX
24.1 简介
24.2 UNIX的发展历史
24.3 系统结构和UNIX内核
24.4 文件系统接口
24.5 文件系统的实现
24.6 进程创建,终止和调度
24.7 IPC:管道和信号
24.8 小结
习题
第25章 Linux,Solaris和现代UNIX
25.1 简介
25.2 内核结构
25.3 SVr4 IPC
25.4 套接字和集成了IPC的文件子系统
25.5 内存管理
25.6 多处理器调度
25.7 小结
习题
第26章 可扩展系统
26.1 可扩展性机制
26.2 编译时配置
26.3 微内核操作系统
26.4 可下载代码
26.5 exokernel和垂直结构
26.6 嵌套虚拟机
26.7 可扩展虚拟机
26.8 小结
习题
第27章 Windows 2000
27.1 Windows 2000简介
27.2 系统结构
27.3 对象模型和对象管理
27.4 内核
27.5 进程,线程,纤程和并发控制
27.6 I/O子系统
27.7 NT文件系统(NTFS)
27.8 网络
27.9 小结
习题
第28章 万维网
28.1 Web客户端与Web服务器的简单交互
28.2 Web页面的命名
28.3 使用HTTP通信
28.4 文档表示
28.5 在客户端和服务器上执行程序
28.6 安全
28.7 并发控制
28.8 可伸缩性问题
28.9 基于Web的中间件:XML和SOAP
28.10 小结
习题
第29章 中间件
29.1 中间件范型
29.2 Java中间件
29.3 OMG和OMA
29.4 CORBA
29.5 ODMG
29.6 COM,DCOM 和 .NET
29.7 面向消息的中间件(MOM)
29.8 小结
习题
第30章 事务处理监视器和系统
30.1 事务处理监视器
30.2 电子货币转账(EFT)应用程序简介
30.3 国际银行支付:SWIFT
30.4 使用PIN码验证身份
30.5 国际自动柜员机(ATM)网络服务
30.6 TP系统中的负载和通信
30.7 小结和趋势
习题
附录A 计算机系统的演变
参考文献
术语表
猜您喜欢