内容简介
本书是教育部普通高等教育精品教材、普通高等教育“十一五”规划教材。书中以当前流行操作系统的主要功能为主线,介绍操作系统的概念、接口、进程管理、处理机管理、存储器管理、文件管理、设备管理;以用户比较熟悉的Linux和Windows 7操作系统为实例,剖析了现代操作系统所采用的技术;附录提供习题参考答案,并为任课教师免费提供电子课件。
目录
第1章 操作系统概论 1
1.1 操作系统概述 1
1.1.1 操作系统的定义 1
1.1.2 操作系统的特性 3
1.1.3 操作系统的功能 4
1.2 操作系统的结构 8
1.2.1 整体结构 8
1.2.2 层次结构 9
1.2.3 虚拟机结构 10
1.2.4 外核结构 11
1.2.5 客户机/服务器结构 11
1.3 操作系统的形成和发展 12
1.3.1 人工操作阶段 12
1.3.2 单道批处理系统 12
1.3.3 多道批处理系统 14
1.3.4 分时系统 15
1.3.5 实时系统 16
1.3.6 个人机系统 18
1.3.7 网络操作系统 19
1.3.8 分布式操作系统 20
1.3.9 嵌入式操作系统 20
1.4 实用操作系统介绍 21
1.4.1 Windows 7操作系统 21
1.4.2 Linux操作系统 23
【本章小结】 25
习题 25
第2章 操作系统接口 26
2.1 脱机用户接口 26
2.2 联机用户接口 27
2.2.1 联机命令接口 27
2.2.2 图形化用户界面 30
2.3 系统调用 33
2.3.1 系统调用概述 33
2.3.2 系统调用的实现 35
【本章小结】 37
习题 37
第3章 进程管理 38
3.1 进程的引入 38
3.1.1 程序的顺序执行 39
3.1.2 程序的并发执行 39
3.1.3 进程的引入 40
3.2 进程的概念 41
3.2.1 进程 41
3.2.2 进程的状态 43
3.2.3 进程管理 44
3.2.4 进程控制块 46
3.3 进程的控制 47
3.3.1 进程控制机构 47
3.3.2 进程的创建与撤销 48
3.3.3 进程的挂起与恢复 50
3.4 进程的协调 52
3.4.1 进程互斥 52
3.4.2 进程同步 56
3.4.3 信号量和P、V操作 57
3.4.4 经典进程的同步 60
3.4.5 管程 64
3.5 进程的通信 66
3.5.1 进程通信的概念 66
3.5.2 进程通信的方式 66
3.5.3 消息传递系统 67
3.6 死锁 69
3.6.1 死锁的概念 69
3.6.2 死锁产生的必要条件 70
3.6.3 死锁的描述 71
3.6.4 死锁的解决方法 72
3.6.5 死锁的 72
3.6.6 死锁的避免 73
3.6.7 死锁的检测与解除 76
3.7 线程的概念 78
3.7.1 线程概述 78
3.7.2 多线程模型 79
3.7.3 线程与进程的区别 80
【本章小结】 81
习题 82
第4章 处理机管理 84
4.1 分级调度 84
4.1.1 作业的状态及其转换 84
4.1.2 调度的层次 85
4.1.3 作业与进程的关系 86
4.2 作业调度 87
4.2.1 作业调度功能 87
4.2.2 作业调度目标与性能衡量 89
4.3 进程调度 89
4.3.1 进程调度的功能和时机 89
4.3.2 进程调度方式 90
4.3.3 进程调度性能评价 91
4.4 常用调度算法 91
4.4.1 先来先服务法 92
4.4.2 时间片轮转法 92
4.4.3 优先级法 95
4.4.4 其他算法简介 96
4.5 Linux处理机管理 97
4.5.1 Linux进程调度机制 97
4.5.2 Linux进程调度的实现 98
4.5.3 作业级用户接口 100
【本章小结】 102
习题 103
第5章 存储器管理 104
5.1 存储器管理概述 104
5.1.1 存储器的层次 104
5.1.2 程序的主要处理阶段 106
5.1.3 存储器管理的功能和任务 106
5.2 存储管理方式 109
5.2.1 连续分配方式 109
5.2.2 离散分配方式 114
5.2.3 虚拟存储系统 114
5.3 覆盖与对换 115
5.3.1 覆盖技术 115
5.3.2 对换技术 116
5.4 分页存储管理技术 116
5.4.1 分页存储管理的基本原理 116
5.4.2 地址映射 118
5.4.3 两级和多级页表 120
5.4.4 页面的共享 121
5.5 分段存储管理技术 121
5.5.1 分段存储管理的基本概念 121
5.5.2 分段存储
摘要与插图
2.系统视角从计算机的角度来看,操作系统是与硬件密切的程序。计算机系统可能有许多资源,用来解决CPU时间、内存空间、文件存储空间、I/O设备等问题。操作系统管理这些资源。面对许多甚至冲突的资源请求,操作系统必须决定如何为各个程序和用户分配资源,以便计算机系统能有效而公平地运行。因此,操作系统是计算机资源的管理者。
1.1.2 操作系统的特性
操作系统种类繁多,但却有一些共同特征,这些特征也是操作系统这一软件层次与应用软件的区别所在。现代操作系统都具有并发、共享、虚拟和异步特性,其中并发性是操作系统要的特征,其他三个特性均基于并发性而存在。
1.并发性
并行性和并发性是既相似又有区别的两个概念,并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。
在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分吋地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行。
操作系统必须具备控制和管理各种并发活动的能力。
2.共享性
在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。由于资源属性的不同,进程对资源共享的方式也不同,目前主要有以下两种资源共享方式。
(1)互斥共享方式:系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个进程(线程)使用,但规定在一段时间内只允许一个进程(线程)访问该资源。为此,当一个进程A要访问某资源时,必须先提出请求,
如果此时该资源空闲,系统便可将之分配给请求进程A使用,此后若再有其他进程也要访问该资源(只要A未用完),则必须等待。仅当A进程访问完并释放该资源后,才允许另一进程对该资源进行访问。我们把这种资源共享方式称为互斥式共享,而把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。
(2)同时访问方式:系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。典型的可供多个进程“同时”访问的资源是磁盘设备,一些用重入码编写的文件,也可以被“同时”共享,即若干个用户同时访问该文件。
……
P3