描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787302447412
编辑推荐
针对本科和考研,首先讲解操作系统带有共性的基本原理:进程管理、中断与调度、死锁、存储管理、设备管理、文件系统等,然后以UNIX、Linux、Windows为例阐述具体实现。相对于封闭源代码的Windows,开放源代码的Linux描述得更为详细。操作系统近年一直在不断地发展和创新,针对于此,本书还介绍了近年来*出现的云操作系统、苹果Mac OS和安卓Android等移动操作系统。针对云计算技术,在第10章增加篇幅介绍其实现的基础:分布式文件系统。为了跟踪国外的新技术,常常需要阅读原版英文资料,本书亦为每章附上一篇描述该章技术的英语短文,以期能提高有需要的读者的英语阅读水平。本书在原范策老师主编、清华大学出版社出版的《操作系统教程》的基础上,做了内容的替换和更新。课程组所做的配套PPT,内容生动详实、配套大量的动画描述各种原理,方便读者自学及用于教学。该课件荣获第五届全国高等学校计算机课件评比三等奖。此外,章后习题充分,附有答案,便于读者理解和巩固相关知识点。
内容简介
本书从概念、原理和技术的角度介绍操作系统的基础知识,包括进程管理、中断与处理机调度、死锁、存储管理、设备管理、文件系统。不仅讲述基本原理,而且以当今较为成熟和流行的操作系统如以Windows、UNIX、Linux为例,在相关章节介绍具体的实现技术和方法。此外,还介绍了近年来*出现的云操作系统,苹果Mac OS、安卓Android等移动操作系统。针对云计算技术,增加篇幅介绍其实现的基础: 分布式文件系统。
本书有3个特色: 理论和实际系统的实现相结合; 收录了近年来操作系统*的技术和发展; 每章后面附一篇描述对应章节技术的英语小短文,既可拓展视野,又可以提高读者的科技英语阅读水平。
本书可作为普通高等院校计算机专业及相关专业的操作系统课程教材,也可供广大计算机科学工作者和从事相关领域工程技术人员参考。
本书有3个特色: 理论和实际系统的实现相结合; 收录了近年来操作系统*的技术和发展; 每章后面附一篇描述对应章节技术的英语小短文,既可拓展视野,又可以提高读者的科技英语阅读水平。
本书可作为普通高等院校计算机专业及相关专业的操作系统课程教材,也可供广大计算机科学工作者和从事相关领域工程技术人员参考。
目 录
第1章操作系统概述
1.1什么是操作系统
1.2操作系统的目标和功能
1.2.1操作系统的目标
1.2.2操作系统的功能
1.3操作系统的发展历程
1.3.1操作系统的形成
1.3.2操作系统的完善
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.4.10服务器操作系统
1.4.11大型机操作系统
1.4.12云操作系统
1.4.13移动操作系统
1.5支持操作系统的硬件环境
1.6操作系统的特征
1.6.1并发性
1.6.2资源共享性
1.6.3异步性
1.7现代操作系统
1.7.1Windows
1.7.2Mac OS
1.7.3UNIX
1.7.4Linux
1.7.5Android
1.8有关操作系统的研究
习题1
阅读材料
第2章用户接口与作业管理
2.1操作系统提供的用户接口
2.1.1程序接口与系统调用
2.1.2操作接口与系统程序
2.2作业的基本概念
2.2.1作业的定义
2.2.2作业的分类
2.3批处理作业控制
2.3.1作业状态
2.3.2作业控制块
2.4调度算法
2.4.1作业调度算法的目标与设计因素
2.4.2单道批处理作业调度算法
2.4.3多道批处理作业调度算法
习题2
阅读材料
第3章进程管理
3.1多道程序设计
3.2进程的概念
3.2.1前驱图和程序执行
3.2.2进程的描述
3.3进程控制块和状态转换
3.3.1进程控制块PCB
3.3.2进程状态及其转换
3.4进程控制
3.4.1操作系统控制结构
3.4.2进程创建与终止
3.4.3进程的阻塞与唤醒
3.4.4进程的挂起与激活
3.4.5进程间的相互关系
3.5线程
3.5.1线程的引入
3.5.2线程的结构与线程控制块TCB
3.5.3线程与进程
3.5.4线程的实现
3.5.5线程的调度
3.5.6线程的应用
3.6Linux进程管理
3.6.1Linux进程结构
3.6.2Linux进程状态及运行模式
3.6.3Linux进程控制
习题3
阅读材料
第4章中断和处理机调度
4.1中断
4.1.1中断和指令周期
4.1.2中断处理
4.1.3多个中断
4.1.4多道程序设计
4.1.5调度机制
4.1.6高级、中级和低级调度
4.2处理机调度
4.2.1进程调度方式
4.2.2调度算法
4.2.3调度时机
4.3实时调度
4.3.1实现实时调度的基本条件
4.3.2实时调度算法的分类
4.3.3实时调度算法
4.4多处理机调度
4.4.1多处理机系统的类型
4.4.2自调度
4.4.3组调度
4.5Linux系统进程调度
4.5.1Linux时钟运作机制(时间基准)
4.5.2UNIX/Linux中的系统调用
4.5.3Linux调度程序
习题4
阅读材料
第5章并发性——互斥、同步和通信
5.1并发的原理
5.1.1与时间有关的错误
5.1.2互斥与同步的概念
5.1.3临界区与进程互斥
5.1.4硬件支持互斥的方法
5.2信号量机制
5.2.1信号量的概念
5.2.2信号量的应用
5.2.3生产者消费者问题信号量机制解法
5.2.4哲学家进餐问题信号量机制解法
5.2.5读者写者问题解法
5.3管程机制
5.3.1管程的概念
5.3.2生产者消费者问题管程机制解法
5.3.3哲学家进餐问题管程机制解法
5.4进程通信
5.4.1进程通信的方式
5.4.2消息缓冲通信
5.4.3信箱通信
5.4.4共享文件通信
5.4.5消息传递系统的若干问题
习题5
阅读材料
第6章并发性——死锁
6.1死锁的概念
6.2产生死锁的条件和处理
6.2.1必要条件
6.2.2处理死锁的基本方法
6.3死锁的预防
6.3.1预先分配策略
6.3.2有序分配策略
6.4死锁的避免
6.4.1系统安全状态
6.4.2银行家算法
6.5死锁的检测与解除
6.5.1死锁的检测
6.5.2死锁的解除
6.6死锁的综合处理策略
习题6
阅读材料
第7章内存管理
7.1内存管理的功能
7.1.1内存分配
7.1.2地址变换
7.1.3存储保护
7.1.4存储共享
7.1.5存储扩充
7.2程序的链接和加载
7.2.1程序的链接
7.2.2程序的加载
7.3连续分配方式
7.3.1单一连续分配
7.3.2固定分区分配
7.3.3动态分区分配
7.3.4可重定位分区分配
7.3.5交换和覆盖
7.4基本分页分配方式
7.4.1页面与页表
7.4.2地址变换机构
7.4.3页面大小
7.5基本分段分配方式
7.5.1段表
7.5.2地址变换机构
7.5.3共享与保护
习题7
阅读材料
第8章虚拟存储管理
8.1虚拟存储器
8.1.1虚拟存储器的定义
8.1.2虚拟存储器的特点
8.1.3虚拟存储器技术需要解决的问题
8.2请求页式分配
8.2.1请求分页硬件支持
8.2.2内存分配策略
8.2.3内存分配方法
8.2.4缺页处理
8.3页面置换算法
8.3.1页面置换算法
8.3.2先进先出置换算法
8.3.3近少使用置换算法
8.3.4用软件模拟LRU算法
8.3.5时钟算法
8.3.6改进Clock算法
8.3.7工作集模型
8.4虚拟段式分配
8.4.1请求分段中的硬件支持
8.4.2地址变换机构
8.4.3缺段中断
8.5段页式分配方式
8.5.1段页式分配的原理
8.5.2段页式分配的地址变换
8.5.3分段和分页的结合: Intel Pentium
8.6Linux系统的存储管理
8.6.1Linux的虚拟存储空间
8.6.2Linux管理内存空间的数据结构
8.6.3Linux内存区的分配、释放和淘汰
习题8
阅读材料
第9章设备管理
9.1I/O系统
9.1.1设备的类别
9.1.2设备标识
9.1.3I/O系统的结构
9.2I/O设备数据传输控制方式
9.2.1程序直接控制方式
9.2.2中断控制方式
9.2.3DMA控制方式
9.2.4通道控制方式
9.3设备管理与功能
9.4设备分配
9.4.1设备分配中的数据结构
9.4.2设备分配应考虑的因素和分配技术
9.4.3设备分配算法
9.4.4SPOOLING系统
9.5缓冲技术
9.5.1缓冲的引入
9.5.2单缓冲
9.5.3双缓冲
9.5.4循环缓冲
9.5.5缓冲池
9.6I/O软件设计
9.6.1I/O软件的设计目标和原则
9.6.2I/O中断处理程序
9.6.3设备驱动程序
9.6.4与硬件无关的操作系统I/O软件
9.6.5用户空间的I/O软件
9.7磁盘存储器管理
9.7.1磁盘I/O
9.7.2磁盘调度算法
9.8RAID技术
9.8.1RAID技术的引入
9.8.2RAID分级
9.9Linux的设备管理
9.9.1Linux设备管理概述
9.9.2设备驱动程序和内核之间的接口
9.9.3字符设备
9.9.4块设备
9.9.5网络设备
习题9
阅读材料
第10章文件管理
10.1文件系统的概念
10.1.1文件和文件系统
10.1.2文件分类
10.1.3文件操作
10.2文件的逻辑结构
10.2.1文件逻辑结构的类型
10.2.2顺序文件
10.2.3索引文件
10.2.4索引顺序文件
10.2.5直接文件和散列文件
10.3文件的物理结构
10.3.1顺序结构
10.3.2链接结构
10.3.3索引结构
10.4文件的存取方法
10.4.1顺序存取
10.4.2直接存取
10.4.3按键存取
10.5文件目录
10.5.1文件控制块与索引结点
10.5.2文件目录与目录文件
10.5.3目录结构
10.5.4目录查询技术
10.6文件存储空间管理
10.6.1空闲表和空闲链表
10.6.2位示图
10.6.3UNIX成组链接
10.7文件共享和保护
10.7.1文件共享的模式
10.7.2文件的保护
10.8Windows文件系统
10.8.1Windows磁盘管理和文件系统驱动
10.8.2Windows文件系统格式
10.8.3NTFS文件系统的结构
10.9Linux的文件系统
10.9.1ext2的文件系统
10.9.2虚拟文件系统
10.10分布式文件系统
10.10.1分布式文件系统的发展阶段
10.10.2HDFS系统构成
10.10.3HDFS文件的读写操作
10.10.4HDFS数据维护机制
习题10
阅读材料
参考文献
1.1什么是操作系统
1.2操作系统的目标和功能
1.2.1操作系统的目标
1.2.2操作系统的功能
1.3操作系统的发展历程
1.3.1操作系统的形成
1.3.2操作系统的完善
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.4.10服务器操作系统
1.4.11大型机操作系统
1.4.12云操作系统
1.4.13移动操作系统
1.5支持操作系统的硬件环境
1.6操作系统的特征
1.6.1并发性
1.6.2资源共享性
1.6.3异步性
1.7现代操作系统
1.7.1Windows
1.7.2Mac OS
1.7.3UNIX
1.7.4Linux
1.7.5Android
1.8有关操作系统的研究
习题1
阅读材料
第2章用户接口与作业管理
2.1操作系统提供的用户接口
2.1.1程序接口与系统调用
2.1.2操作接口与系统程序
2.2作业的基本概念
2.2.1作业的定义
2.2.2作业的分类
2.3批处理作业控制
2.3.1作业状态
2.3.2作业控制块
2.4调度算法
2.4.1作业调度算法的目标与设计因素
2.4.2单道批处理作业调度算法
2.4.3多道批处理作业调度算法
习题2
阅读材料
第3章进程管理
3.1多道程序设计
3.2进程的概念
3.2.1前驱图和程序执行
3.2.2进程的描述
3.3进程控制块和状态转换
3.3.1进程控制块PCB
3.3.2进程状态及其转换
3.4进程控制
3.4.1操作系统控制结构
3.4.2进程创建与终止
3.4.3进程的阻塞与唤醒
3.4.4进程的挂起与激活
3.4.5进程间的相互关系
3.5线程
3.5.1线程的引入
3.5.2线程的结构与线程控制块TCB
3.5.3线程与进程
3.5.4线程的实现
3.5.5线程的调度
3.5.6线程的应用
3.6Linux进程管理
3.6.1Linux进程结构
3.6.2Linux进程状态及运行模式
3.6.3Linux进程控制
习题3
阅读材料
第4章中断和处理机调度
4.1中断
4.1.1中断和指令周期
4.1.2中断处理
4.1.3多个中断
4.1.4多道程序设计
4.1.5调度机制
4.1.6高级、中级和低级调度
4.2处理机调度
4.2.1进程调度方式
4.2.2调度算法
4.2.3调度时机
4.3实时调度
4.3.1实现实时调度的基本条件
4.3.2实时调度算法的分类
4.3.3实时调度算法
4.4多处理机调度
4.4.1多处理机系统的类型
4.4.2自调度
4.4.3组调度
4.5Linux系统进程调度
4.5.1Linux时钟运作机制(时间基准)
4.5.2UNIX/Linux中的系统调用
4.5.3Linux调度程序
习题4
阅读材料
第5章并发性——互斥、同步和通信
5.1并发的原理
5.1.1与时间有关的错误
5.1.2互斥与同步的概念
5.1.3临界区与进程互斥
5.1.4硬件支持互斥的方法
5.2信号量机制
5.2.1信号量的概念
5.2.2信号量的应用
5.2.3生产者消费者问题信号量机制解法
5.2.4哲学家进餐问题信号量机制解法
5.2.5读者写者问题解法
5.3管程机制
5.3.1管程的概念
5.3.2生产者消费者问题管程机制解法
5.3.3哲学家进餐问题管程机制解法
5.4进程通信
5.4.1进程通信的方式
5.4.2消息缓冲通信
5.4.3信箱通信
5.4.4共享文件通信
5.4.5消息传递系统的若干问题
习题5
阅读材料
第6章并发性——死锁
6.1死锁的概念
6.2产生死锁的条件和处理
6.2.1必要条件
6.2.2处理死锁的基本方法
6.3死锁的预防
6.3.1预先分配策略
6.3.2有序分配策略
6.4死锁的避免
6.4.1系统安全状态
6.4.2银行家算法
6.5死锁的检测与解除
6.5.1死锁的检测
6.5.2死锁的解除
6.6死锁的综合处理策略
习题6
阅读材料
第7章内存管理
7.1内存管理的功能
7.1.1内存分配
7.1.2地址变换
7.1.3存储保护
7.1.4存储共享
7.1.5存储扩充
7.2程序的链接和加载
7.2.1程序的链接
7.2.2程序的加载
7.3连续分配方式
7.3.1单一连续分配
7.3.2固定分区分配
7.3.3动态分区分配
7.3.4可重定位分区分配
7.3.5交换和覆盖
7.4基本分页分配方式
7.4.1页面与页表
7.4.2地址变换机构
7.4.3页面大小
7.5基本分段分配方式
7.5.1段表
7.5.2地址变换机构
7.5.3共享与保护
习题7
阅读材料
第8章虚拟存储管理
8.1虚拟存储器
8.1.1虚拟存储器的定义
8.1.2虚拟存储器的特点
8.1.3虚拟存储器技术需要解决的问题
8.2请求页式分配
8.2.1请求分页硬件支持
8.2.2内存分配策略
8.2.3内存分配方法
8.2.4缺页处理
8.3页面置换算法
8.3.1页面置换算法
8.3.2先进先出置换算法
8.3.3近少使用置换算法
8.3.4用软件模拟LRU算法
8.3.5时钟算法
8.3.6改进Clock算法
8.3.7工作集模型
8.4虚拟段式分配
8.4.1请求分段中的硬件支持
8.4.2地址变换机构
8.4.3缺段中断
8.5段页式分配方式
8.5.1段页式分配的原理
8.5.2段页式分配的地址变换
8.5.3分段和分页的结合: Intel Pentium
8.6Linux系统的存储管理
8.6.1Linux的虚拟存储空间
8.6.2Linux管理内存空间的数据结构
8.6.3Linux内存区的分配、释放和淘汰
习题8
阅读材料
第9章设备管理
9.1I/O系统
9.1.1设备的类别
9.1.2设备标识
9.1.3I/O系统的结构
9.2I/O设备数据传输控制方式
9.2.1程序直接控制方式
9.2.2中断控制方式
9.2.3DMA控制方式
9.2.4通道控制方式
9.3设备管理与功能
9.4设备分配
9.4.1设备分配中的数据结构
9.4.2设备分配应考虑的因素和分配技术
9.4.3设备分配算法
9.4.4SPOOLING系统
9.5缓冲技术
9.5.1缓冲的引入
9.5.2单缓冲
9.5.3双缓冲
9.5.4循环缓冲
9.5.5缓冲池
9.6I/O软件设计
9.6.1I/O软件的设计目标和原则
9.6.2I/O中断处理程序
9.6.3设备驱动程序
9.6.4与硬件无关的操作系统I/O软件
9.6.5用户空间的I/O软件
9.7磁盘存储器管理
9.7.1磁盘I/O
9.7.2磁盘调度算法
9.8RAID技术
9.8.1RAID技术的引入
9.8.2RAID分级
9.9Linux的设备管理
9.9.1Linux设备管理概述
9.9.2设备驱动程序和内核之间的接口
9.9.3字符设备
9.9.4块设备
9.9.5网络设备
习题9
阅读材料
第10章文件管理
10.1文件系统的概念
10.1.1文件和文件系统
10.1.2文件分类
10.1.3文件操作
10.2文件的逻辑结构
10.2.1文件逻辑结构的类型
10.2.2顺序文件
10.2.3索引文件
10.2.4索引顺序文件
10.2.5直接文件和散列文件
10.3文件的物理结构
10.3.1顺序结构
10.3.2链接结构
10.3.3索引结构
10.4文件的存取方法
10.4.1顺序存取
10.4.2直接存取
10.4.3按键存取
10.5文件目录
10.5.1文件控制块与索引结点
10.5.2文件目录与目录文件
10.5.3目录结构
10.5.4目录查询技术
10.6文件存储空间管理
10.6.1空闲表和空闲链表
10.6.2位示图
10.6.3UNIX成组链接
10.7文件共享和保护
10.7.1文件共享的模式
10.7.2文件的保护
10.8Windows文件系统
10.8.1Windows磁盘管理和文件系统驱动
10.8.2Windows文件系统格式
10.8.3NTFS文件系统的结构
10.9Linux的文件系统
10.9.1ext2的文件系统
10.9.2虚拟文件系统
10.10分布式文件系统
10.10.1分布式文件系统的发展阶段
10.10.2HDFS系统构成
10.10.3HDFS文件的读写操作
10.10.4HDFS数据维护机制
习题10
阅读材料
参考文献
前 言
序言
媒体评论
评论
书摘插画
评论
还没有评论。