操作系统概念(第六版)OPERATING SYSTEM CONCEPTS 内容简介
本书讨论了操作系统中的基本概念与算法,并对大量实例(如linux系统)进行了研究。全书内容共分七部分,**部分概要解释了操作系统是什么、做什么、是怎样设计与构造的,也解释了操作系统概念是如何发展起来的,操作系统的公共特性是什么。第二部分进程管理描述了作为现代操作系统核心的进程以及并发的概念。第三部分存储管理描述了存储管理的经典结构与算法以及不同的存储管理方案。第四部分i/o系统对i/o进行了深入的讨论,包括i/o系统设计、接口、内部结构与功能等。第五部分分布式系统介绍了分布式系统的一般结构以及连接它们的网络,讨论了分布存取策略、分布式文件系统及分布式系统中同步、通信等机制。第六部分保护与安全介绍了操作系统中对文件、内存、cpu及其他资源进行操作的安全与保护机制。第七部分案例研究,分析与讨论了linux系统、windows 2000、windows xp、freebsd、mach及nachos等实例。
本书作为操作系统的入门教材,适合所有对操作系统这门学科感兴趣的读者参考,尤其适合高等院校计算机专业及相关专业的学生用做操作系统课程的教材或教学参考书。
操作系统概念(第六版)OPERATING SYSTEM CONCEPTS 本书特色
本套教学用书的特点:
权威性——教育部高等教育司推荐、教育部高等学校信息科学与技术引进教材专家组遴选。
系统性——覆盖计算机专业主干课程和非计算机专业计算机基础课程;
先进性——著名计算机专家近两年的*新著作,内容体系先进;
经济性——价格与国内自编教材相当,是国内引进教材价格*低的。
操作系统概念(第六版)OPERATING SYSTEM CONCEPTS 目录
**部分概述
**章导论
1.1操作系统是什么
1.1.1用户观点
1.1.2系统观点
1.1.3系统目标
1.2大型机系统
1.2.1批处理系统
1.2.2多道程序系统
1.2.3分时系统
1.3桌面系统
1.4多处理器系统
1.5分布式系统
1.5.1客户机-服务器系统
1.5.2对等系统
1.6集群系统
1.7实时系统
1.8手持系统
1.9功能迁移
1.10计算环境
1.10.1传统计算
1.10.2基于web的计算
1.10.3嵌入式计算
1.11小结
习题一
推荐读物
第二章计算机系统结构
2.1计算机系统操作
2.2i/o结构
2.2.1i/o中断
2.2.2dma结构
2.3存储结构
2.3.1内存
2.3.2磁盘
2.3.3磁带
2.4存储层次
2.4.1高速缓存技术
2.4.2一致性与连贯性
2.5硬件保护
2.5.1双重模式操作
2.5.2i/o保护
2.5.3内存保护
2.5.4cpu保护
2.6网络结构
2.6.1局域网
2.6.2广域网
2.7小结
习题二
推荐读物
第三章操作系统结构
3.1系统组成
3.1.1进程管理
3.1.2内存管理
3.1.3文件管理
3.1.4输入/输出系统管理
3.1.5二级存储管理
3.1.6联网
3.1.7保护系统
3.1.8命令解释系统
3.2操作系统服务
3.3系统调用
3.3.1进程控制
3.3.2文件管理
3.3.3设备管理
3.3.4信息维护
3.3.5通信
3.4系统程序
3.5系统结构
3.5.1简单结构
3.5.2分层方法
3.5.3微内核
3.6虚拟机
3.6.1实现
3.6.2优点
3.6.3java
3.7系统设计与实现
3.7.1设计目标
3.7.2机制与策略
3.7.3实现
3.8系统生成
3.9小结
习题三
推荐读物
第二部分进程管理
第四章进程
4.1进程概念
4.1.1进程
4.1.2进程状态
4.1.3进程控制块
4.1.4线程
4.2进程调度
4.2.1调度队列
4.2.2调度程序
4.2.3关联切换
4.3进程操作
4.3.1进程创建
4.3.2进程终止
4.4进程协作
4.5进程间通信
4.5.1消息传递系统
4.5.2命名
4.5.3同步
4.5.4缓冲
4.5.5例子:mach
4.5.6例子:windows 2000
4.6客户机-服务器系统通信
4.6.1套接字
4.6.2远程过程调用
4.6.3远程方法调用
4.7小结
习题四
推荐读物
第五章线程
5.1概述
5.1.1动机
5.1.2优点
5.1.3用户线程与内核线程
5.2多线程模型
5.2.1多对一模型
5.2.2一对一模型
5.2.3多对多模型
5.3若干多线程问题
5.3.1系统调用fork和exec
5.3.2取消
5.3.3信号处理
5.3.4线程池
5.3.5线程特定数据
5.4pthread线程
5.5solaris 2线程
5.6windows 2000线程
5.7linux 线程
5.8java线程
5.8.1线程创建
5.8.2jvm与主机操作系统
5.9小结
习题五
推荐读物
第六章cpu调度
6.1基本概念
6.1.1cpu-i/o区间周期
6.1.2cpu调度程序
6.1.3可抢占式调度
6.1.4分派程序
6.2调度准则
6.3调度算法
6.3.1先到先服务调度
6.3.2*短作业优先调度
6.3.3优先权调度
6.3.4轮转法调度
6.3.5多级队列调度
6.3.6多级反馈队列调度
6.4多处理器调度
6.5实时调度
6.6算法评估
6.6.1确定性建模
6.6.2排队模型
6.6.3模拟
6.6.4实现
6.7进程调度模型
6.7.1例子:solaris 2
6.7.2例子:windows 2000
6.7.3例子:linux
6.8小结
习题六
推荐读物
第七章进程同步
7.1背景
7.2临界区域问题
7.2.1两进程解法
7.2.2多进程解法
7.3同步硬件
7.4信号量
7.4.1用法
7.4.2实现
7.4.3死锁与饥饿
7.4.4二进制信号量
7.5经典同步问题
7.5.1有限缓冲问题
7.5.2读者-作者问题
7.5.3哲学家进餐问题
7.6临界区域
7.7管程
7.8操作系统同步
7.8.1solaris 2中的同步
7.8.2windows 2000中的同步
7.9原子事务
7.9.1系统模型
7.9.2基于日志的恢复
7.9.3检查点
7.9.4并发原子事务
7.10小结
习题七
推荐读物
第八章死锁
8.1系统模型
8.2死锁特点
8.2.1必要条件
8.2.2资源分配图
8.3死锁处理方法
8.4死锁预防
8.4.1互斥
8.4.2占有并等待
8.4.3非抢占
8.4.4循环等待
8.5死锁避免
8.5.1安全状态
8.5.2资源分配图算法
8.5.3银行家算法
8.6死锁检测
8.6.1每种资源类型只有单个实例
8.6.2每种资源类型的多个实例
8.6.3应用检测算法
8.7死锁恢复
8.7.1进程终止
8.7.2资源抢占
8.8小结
习题八
推荐读物
第三部分存储管理
第九章内存管理
9.1背景
9.1.1地址捆绑
9.1.2逻辑地址空间与物理地址空间
9.1.3动态加载
9.1.4动态链接与共享库
9.1.5覆盖
9.2交换
9.3连续内存分配
9.3.1内存保护
9.3.2内存分配
9.3.3碎片
9.4分页
9.4.1基本方法
9.4.2硬件支持
9.4.3保护
9.4.4页表结构
9.4.5共享页表
9.5分段
9.5.1基本方法
9.5.2硬件
9.5.3保护与共享
9.5.4碎片
9.6带有分页的分段
9.7小结
习题九
推荐读物
第十章虚拟内存
10.1背景
10.2请求页面调度
10.2.1基本概念
10.2.2请求页面调度的性能
10.3进程创建
10.3.1写时拷贝
10.3.2内存映射文件
10.4页面置换
10.4.1基本方法
10.4.2fifo页置换
10.4.3*优页置换
10.4.4lru页置换
10.4.5lru近似页置换
10.4.6基于计数的页置换
10.4.7页缓冲算法
10.5帧分配
10.5.1帧的*少数量
10.5.2分配算法
10.5.3全局分配与局部分配
10.6系统颠簸
10.6.1系统颠簸的原因
10.6.2工作集合模型
10.6.3页错误频率
10.7操作系统样例
10.7.1windows nt
10.7.2solaris 2
10.8其他考虑
10.8.1预约式页面调度
10.8.2页大小
10.8.3tlb范围
10.8.4反向页表
10.8.5程序结构
10.8.6i/o互锁
10.8.7实时处理
10.9小结
习题十
推荐读物
第十一章文件系统接口
11.1文件概念
11.1.1文件属性
11.1.2文件操作
11.1.3文件类型
11.1.4文件结构
11.1.5内部文件结构
11.2访问方法
11.2.1顺序访问
11.2.2直接访问
11.2.3其他访问方法
11.3目录结构
11.3.1单层目录
11.3.2双层目录
11.3.3树型结构目录
11.3.4无环图目录
11.3.5通用图目录
11.4文件系统安装
11.5文件共享
11.5.1多用户
11.5.2远程文件系统
11.5.3一致性语义
11.5.4unix语义
11.5.5会话语义
11.5.6永久共享文件语义
11.6保护
11.6.1访问类型
11.6.2访问控制
11.6.3其他保护方法
11.6.4例子:unix
11.7小结
习题十一
推荐读物
第十二章文件系统实现
12.1文件系统结构
12.2文件系统实现
12.2.1概述
12.2.2分区与安装
12.2.3虚拟文件系统
12.3目录实现
12.3.1线性列表
12.3.2哈希表
12.4分配方法
12.4.1连续分配
12.4.2链接分配
12.4.3索引分配
12.4.4性能
12.5空闲空间管理
12.5.1位向量
12.5.2链表
12.5.3组
12.5.4计数
12.6效率与性能
12.6.1效率
12.6.2性能
12.7恢复
12.7.1一致性检查
12.7.2备份与恢复
12.8基于日志结构的文件系统
12.9nfs
12.9.1概述
12.9.2安装协议
12.9.3nfs协议
12.9.4路径名转换
12.9.5远程操作
12.10小结
习题十二
推荐读物
第四部分i/o系统
第十三章i/o系统
13.1概述
13.2i/o硬件
13.2.1轮询(polling)
13.2.2中断
13.2.3直接内存访问
13.3i/o应用接口
13.3.1块与字符设备
13.3.2网络设备
13.3.3时钟与定时器
13.3.4阻塞与非阻塞i/o
13.4i/o内核子系统
13.4.1i/o调度
13.4.2缓冲
13.4.3高速缓存
13.4.4假脱机与设备预留
13.4.5错误处理
13.4.6内核数据结构
13.5把i/o操作转换成硬件操作
13.6流
13.7性能
13.8小结
习题十三
推荐读物
第十四章大容量存储器结构
14.1磁盘结构
14.2磁盘调度
14.2.1fcfs调度
14.2.2sstf调度
14.2.3scan调度
14.2.4c-scan调度
14.2.5look调度
14.2.6磁盘调度算法的选择
14.3磁盘管理
14.3.1磁盘格式化
14.3.2引导块
14.3.3坏块
14.4交换空间管理
14.4.1交换空间的使用
14.4.2交换空间位置
14.4.3交换空间管理:例子
14.5raid结构
14.5.1通过冗余改善可靠性
14.5.2通过并行处理改善性能
14.5.3raid级别
14.5.4raid级别的选择
14.5.5扩展
14.6磁盘附属
14.6.1主机附属存储
14.6.2网络附属存储
14.6.3存储区域网络
14.7稳定存储实现
14.8 第三级存储结构
14.8.1 第三级存储设备
14.8.2操作系统作业
14.8.3性能
14.9小结
习题十四
推荐读物
第五部分分布式系统
第十五章分布式系统结构
15.1背景
15.1.1分布式系统的优点
15.1.2分布式操作系统的类型
15.1.3阶段性小结
15.2拓扑结构
15.3网络类型
15.3.1局域网
15.3.2广域网
15.4通信
15.4.1命名和名字解析
15.4.2路由策略
15.4.3分组策略
15.4.4连接策略
15.4.5竞争
15.5通信协议
15.6健壮性
15.6.1故障检测
15.6.2重构
15.6.3故障恢复
15.7设计事项
15.8实例:连网
15.9小结
习题十五
推荐读物
第十六章分布式文件系统
16.1背景
16.2命名和透明性
16.2.1命名结构
16.2.2命名方案
16.2.3实现技术
16.3远程文件访问
16.3.1基本的缓存设计
16.3.2缓存位置
16.3.3缓存更新策略
16.3.4一致性
16.3.5高速缓存和远程服务的对比
16.4有状态服务和无状态服务
16.5文件复制
16.6一个实例:afs
16.6.1概述
16.6.2共享名字空间
16.6.3文件操作和一致性语义
16.6.4实现
16.7小结
习题十六
推荐读物
第十七章分布式协调
17.1事件排序
17.1.1事前关系
17.1.2实现
17.2互斥
17.2.1集中式算法
17.2.2完全分布式的算法
17.2.3令牌传递算法
17.3原子性
17.3.1两阶段提交协议
17.3.2ipc中的错误处理
17.4并发控制
17.4.1加锁协议
17.4.2时间戳
17.5死锁处理
17.5.1死锁预防
17.5.2死锁检测
17.6选举算法
17.6.1bully算法
17.6.2环算法
17.7达成一致
17.7.1不可靠通信
17.7.2故障处理
17.8小结
习题十七
推荐读物
第六部分保护与安全
第十八章保护
18.1保护目标
18.2保护域
18.2.1域结构
18.2.2举例:unix
18.2.3举例:multics
18.3访问矩阵
18.4访问矩阵的实现
18.4.1全局表
18.4.2对象的访问列表
18.4.3域的权限列表
18.4.4锁-钥匙机制
18.4.5比较
18.5访问权限的撤回
18.6基于权限的系统
18.6.1举例:hydra
18.6.2举例:剑桥cap系统
18.7基于语言的保护
18.7.1基于编译程序的强制
18.7.2java 2的保护
18.8小结
习题十八
推荐读物
第十九章安全
19.1安全问题
19.2用户验证
19.2.1密码
19.2.2密码脆弱的一面
19.2.3密码加密
19.2.4一次性密码
19.2.5生物测定学
19.3程序威胁
19.3.1特洛伊木马
19.3.2后门
19.3.3栈和缓冲区溢出
19.4系统威胁
19.4.1蠕虫
19.4.2病毒
19.4.3拒绝服务
19.5保证系统与设备的安全
19.6入侵检测
19.6.1入侵的组成
19.6.2审计和记录
19.6.3tripwire
19.6.4系统调用监控
19.7密码系统
19.7.1验证
19.7.2加密
19.7.3举例:ssl
19.7.4密码术的使用
19.8计算机安全分类
19.9例子:windows nt
19.10小结
习题十九
推荐读物
第七部分案例研究
第二十章linux系统
20.1发展历程
20.1.1linux内核
20.1.2linux系统
20.1.3linux版本
20.1.4linux许可
20.2设计原理
20.2.1linux系统的组件
20.3内核模块
20.3.1模块管理
20.3.2驱动程序注册
20.3.3冲突解决方案
20.4进程管理
20.4.1fork/exec进程模型
20.4.2进程与线程
20.5调度
20.5.1内核同步
20.5.2进程调度
20.5.3对称多处理技术
20.6内存管理
20.6.1物理内存管理
20.6.2虚拟内存
20.6.3用户程序的执行与装载
20.7文件系统
20.7.1虚拟文件系统
20.7.2linux ext2fs文件系统
20.7.3linux proc文件系统
20.8输入与输出
20.8.1块设备
20.8.2字符设备
20.9进程间通信
20.9.1同步与信号
20.9.2进程间数据传输
20.10网络结构
20.11安全
20.11.1认证
20.11.2访问控制
20.12小结
习题二十
推荐读物
第二十一章windows 2000
21.1历史
21.2设计原则
21.3系统组成
21.3.1硬件抽象层
21.3.2内核
21.3.3执行体
21.4环境子系统
21.4.1ms-dos 环境
21.4.216位windows环境
21.4.3win32环境
21.4.4posix子系统
21.4.5os/2子系统
21.4.6登录和安全子系统
21.5文件系统
21.5.1内部布局
21.5.2恢复
21.5.3安全
21.5.4卷管理及容错
21.5.5压缩技术
21.5.6再解析点
21.6网络
21.6.1协议
21.6.2分布式处理机制
21.6.3重定向器与服务器
21.6.4域
21.6.5tcp/ip网络中的名称解析
21.7程序接口
21.7.1访问内核对象
21.7.2进程管理
21.7.3进程间通信
21.7.4内存管理
21.8小结
习题二十一
推荐读物
第二十二章windows xp
22.1历史
22.2设计原则
22.2.1安全性
22.2.2可靠性
22.2.3windows和posix应用的兼容性
22.2.4高性能
22.2.5可扩展性
22.2.6可移植性
22.2.7国际支持
22.3系统组成
22.3.1硬件抽象层
22.3.2内核
22.3.3执行体
22.4环境子系统
22.4.1ms-dos环境
22.4.216位windows环境
22.4.3ia64的32位windows环境
22.4.4win32环境
22.4.5posix子系统
22.4.6登录与安全子系统
22.5文件系统
22.5.1ntfs内部布局
22.5.2恢复
22.5.3安全
22.5.4卷管理和容错
22.5.5压缩与加密
22.5.6安装点
22.5.7改变日志
22.5.8卷影子拷贝
22.6网络
22.6.1网络接口
22.6.2协议
22.6.3分布式处理机制
22.6.4重定向器与服务器
22.6.5域
22.6.6活动目录
22.6.7tcp/ip网络的名称解析
22.7程序接口
22.7.1内核对象访问
22.7.2进程间的对象共享
22.7.3进程管理
22.7.4进程间通信
22.7.5内存管理
22.8小结
习题二十二
推荐读物
第二十三章历史纵览
23.1早期系统
23.2atlas
23.3xds-940
23.4the
23.5rc4000
23.6ctss
23.7multics
23.8os/360
23.9mach
23.10其他系统
操作系统概念(第六版)OPERATING SYSTEM CONCEPTS 节选
《操作系统概念》(第6版翻译版)是讨论了操作系统中的基本概念和算法,并对大量实例(如Linux系统)进行了研究。全书内容共分七部分。**部分概要解释了操作系统是什么、做什么、是怎样设计与构造的,也解释了操作系统概念是如何发展起来的,操作系统的公共特性是什么。第二部分进程管理描述了作为现代操作系统核心的进程以及并发的概念。第三部分存储管理描述了存储管理的经典结构与算法以及不同的存储管理方案。第四部分I/O系统对I/O进行了深入的讨论,包括I/O系统设计、接口、内部结构与功能等。第五部分分布式系统介绍了分布式系统的一般结构以及连接它们的网络,讨论了分布存取策略、分布式文件系统及分布式系统中同步、通信等机制。第六部分保护与安全介绍了操作系统中对文件、内存、CPU及其他资源进行操作的安全与保护机制。第七部分案例研究,分析与讨论了Linux系统、Windows 2000、WindowsXP、FreeBSD、Mach及Nachos等实例。
操作系统概念(第六版)OPERATING SYSTEM CONCEPTS 相关资料
第一部分概述
第一章 导论
操作系统是管理计算机硬件的程序。它还为应用程序提供基础,并且充当计算机硬件和计算机用户的中介。令人惊奇的是操作系统完成这些任务的方式多种多样。大型机操作系统设计的主要目的是为了充分优化硬件的利用率。个人计算机的操作系统是为了能支持复杂游戏、商业应用或位于两者之间的事物。手持计算机的操作系统是为了给用户提供一个可以与计算机方便地交互并执行程序的环境。因此,有的操作系统设计是为了方便,有的设计是为了高效,而有的设计目标是这两者都有。
为了理解操作系统是什么,必须首先了解其发展过程。本章跟踪操作系统的发展:从最初手工系统,到多道程序设计和分时系统,再到个人计算机和手持计算机。也会讨论其他类型的操作系统,如并行的、实时的、嵌入式的系统。随着讨论的不断深入,会发现操作系统的各个部分是对早期计算机系统问题非常自然的解决方式。
1.1操作系统是什么
操作系统是几乎所有计算机系统的一个重要组成部分。计算机系统可以粗分为四个部分:硬件、操作系统、应用程序和用户(图1.1)。
硬件,如中央处理单元(central processing unit,CPU)、内存(memory)、输入/输出设备(input/output device,I/O device),提供基本的计算资源。应用程序,如字处理程序、电子制表软件、编译器、网络浏览器,规定了按何种方式使用这些资源来解决用户的计算机问题。操作系统控制和协调各用户的应用程序对硬件的使用。
计算机系统的组成部分包括硬件、软件及数据。在计算机系统的操作过程中,操作系统提供了正确使用这些资源的方法。操作系统类似于政府。与政府一样,操作系统本身并不能实现任何有用的功能。它只不过提供了一个方便其他程序做有用工作的环境。可以从用户和系统两个观点来研究操作系统。
1.1.1 用户观点
操作系统概念(第六版)OPERATING SYSTEM CONCEPTS 作者简介
西尔伯沙茨,耶鲁大学计算机科学系教授。研究方向包括操作系统、数据库系统、网络系统和分布式系统。