操作系统
第一章:操作系统引论
一、操作系统的目标和作用
1.操作系统的目标
特点:
- 方便性:用户的观点
- 有效性:系统管理人员的观点
- 可扩充性
- 开放性
2.操作系统的作用
计算机的资源包括处理机、存储器、I/O设备及数据和程序等
-
计算机系统资源的管理者
-
管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)
-
处理机管理
- 存储器管理
- I/O设备管理
- 文件管理
-
-
推动操作系统发展的动力
- 不断提高计算机资源利用率
- 方便用户
- 器件的不断更新换代
- 计算机体系结构的不断发展
- 不断提出新的应用需求
二、操作系统的发展过程
1.单道批处理系统
特征:
- 自动性
- 顺序性
- 单道性:容易忙闲不均
2.多道批处理系统
-
应用需求
- 人机交互
- 共享主机
- 便于用户上机
-
特征
- 多道性
- 无序性
- 调度性
- 宏观上并发、微观上串行
-
优缺点
- 优点
- 资源利用率高:CPU、内存和I/O设备利用率较高
- 系统吞吐量大:单位时间内完成的工作总量大
- 缺点
- 无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改
- 作业平均周转时间长:短作业的周转时间显著增长
- 优点
-
需要解决的问题
- 处理机管理(争用)问题(第3章)
- 内存管理(分配和保护)问题(第4章)
- I/O设备管理(分配)问题(第5章)
- 文件(组织和)管理问题(第6章)
- 作业管理问题(第3章)
- 用户与系统的接口问题
-
单道与多道的对比
单道 多道 内存使用 每次一个作业 每次多个作业(充分利用内存) 作业次序 顺序,先进先出 无确定次序 占用CPU 独占 交替占用 是否需要调度 不需要 需要
3.分时系统
-
概念
分时系统:指在一台计算机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,每个用户都可通过自己的终端以交互方式使用计算机
-
关键问题
- 及时接收(只需配置多路卡,同时接收各终端数据)
- 及时处理(在不长的时间能响应用户命令)
-
特征
- 多路性
- 独立性
- 及时性
- 交互性
4.实时系统
-
应用需求
- 实时控制
- 实时信息处理
-
与分时系统的比较
-
多路性
实时系统:表现为对多个对象的信息采集和控制。分时系统:为多个终端服务。
-
独立性
实时系统:表现为对多个对象的互不干扰(分别为温度、压力采集)。分时系统:每个用户独占主机。
-
及时性
实时系统:在规定的时间内对外部事件响应。分时系统:在一定时间处理各个终端用户作业。
-
交互性
实时系统:一般情况下无交互性。分时系统:由交互引入。
-
可靠性
实时系统:要求高度可靠。分时系统:可靠性低。
-
三、操作系统的基本特性
1.基本特征
-
并发
概念
- 并发:即宏观上在一段时间内有多道程序在同时运行;在微观上,这些程序是在交替执行的。
- 为使程序能并发执行,为每个程序建立进程。
- 进程:是能独立运行并作为资源分配的基本单位,是活动实体。
- 引入线程后,进程是分配资源的基本单位,线程作为独立运行的基本单位。
-
共享
-
概念
在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。
-
两种共享方式
-
互斥共享方式
概念
- 互斥共享方式:若果资源空闲,则分配使用;若果资源不空闲,则等待
- 临界资源(或独占资源):在一段时间内只允许一个进程访问的资源
- 计算机系统中的大多数物理设备,以及栈、变量和表格,都属于临界资源,它们要求被互斥地共享。
-
同时访问方式
这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。典型的可供多个进程“同时”访问的资源是磁盘设备。
-
-
-
虚拟
-
同步
四、操作系统的主要功能
-
处理机管理功能
- 进程控制
- 进程同步
- 进程通信
- 调度
- 作业调度:从外存调入内存
- 进程调度:是从内存中的进程就绪队列中选一个分配处理机
-
存储器管理功能
管理目标:提高利用率、方便用户使用、提供足够的存储空间、方便进程并发运行。
-
内存分配
- 静态分配:每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间,不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”
- 动态分配:每个作业所要求的基本内存空间,也是在装入时确定的,但允许作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增涨,也允许作业在内存中“移动”。
- 为了实现内存分配,在内存分配的机制中应具有这样的结构和功能:
- 内存分配数据结构:该结构用于记录内存空间的使用情况,作为内存分配的依据
- 内存分配功能:系统按照一定的内存分配算法, 为用户程序分配内存空间
- 内存回收功能:系统对于用户不再需要的内存,通过用户的释放请求,去完成系统的回收功能。
-
内存保护
内存保护的主要任务,是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰
- 下界寄存器:存放程序装入内存后的开始地址(首址)
- 上界寄存器:存放程序装入内存后的末地址
- 判别式:下界寄存器 ≤ 物理地址 < 上界寄存器
-
地址映射
-
内存扩充
-
-
设备管理功能
-
缓冲管理
缓冲机制:
- 单缓冲机制
- 能实现双向同时传送数据的双缓冲机制
- 循环(环形)缓冲
- 能供多个设备同时使用的公用缓冲池机制
-
设备分配
-
设备处理
-
设备独立性和虚拟设备
-
-
文件管理功能
文件管理的主要任务:对用户文件和系统文件进行管理,以方便用户使用并保证文件安全
- 文件存储空间的管理
- 目录管理
- 文件的读/写管理和保护
-
用户接口
- 命令接口
- 联机用户接口
- 脱机用户接口
- 图形用户接口
- 程序接口
- 命令接口
第二章:进程管理
一、进程的基本概念
1.程序的执行方式
-
顺序执行
特征
- 顺序性
- 封闭性
- 可再现性
-
并发执行:引入并发执行的目的是为了提高资源利用率。
-
特征
- 间断性
- 失去封闭性
- 不可再现性
-
读集写集
-
读集:运算的读集R(Pi)是指在运算执行期间参考的所有变量的集合;
-
写集:运算的写集W(Pi)是指在运算执行期间要改变的所有变量的集合。
-
-
2.进程的特征与状态
- 进程实体
- 程序:进程要进行的操作。
- 数据段:包括操作的数据和程序自己的变量。
- 进程控制块PCB(Process Control Block):存放进程标识符、进程运行的当前状态、程序和数据的地址、程序运行时的CPU环境等。
- 进程的特征
- 动态性
- 并发性
- 独立性:进程是一个能独立运行的基本单位,也是系统进行资源分配和调度的基本单位;
- 异步性:各进程按各自独立的、不可预知的速度向前推进;
- 结构特征:程序段、数据段和PCB;程序文件中通常也划分了代码段和数据段,进程的创建与撤消就是PCB的创建与撤消。
- 进程的定义
- 进程是程序的一次执行。
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
- 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
- 在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”。
- 进程与程序的区别
- 进程是动态的,程序是静态的:程序是有序代码的集合,它可以复制;进程是程序在数据集上的一次执行。
- 进程是暂时的,程序是永久的:进程是一个状态变化的过程,有它的撤销,程序可长久保存。
- 进程具有结构特征,由程序段、数据段和进程控制块三者组成,而程序仅是指令的有序集合,是进程的组成部分之一。
- 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;
- 进程的三种状态
- 就绪状态:进程已获得除处理机外的所需资源,等待分配处理机资源;只要分配CPU就可执行。一个系统中多个处于就绪状态的进程排成就绪队列。
- 执行状态:处于就绪状态的进程一旦获得了处理机,就可以运行,进程状态也就处于执行状态。处于此状态的进程的数目小于等于CPU的数目。
- 阻塞状态:由于进程等待某种事件(如I/O操作或进程同步),在事件发生之前无法继续执行。该事件发生前即使把处理机分配给该进程,也无法运行。如:请求I/O操作,申请缓冲空间等通常阻塞进程也排成多少个队列?