操作系统复习材料.docx
《操作系统复习材料.docx》由会员分享,可在线阅读,更多相关《操作系统复习材料.docx(40页珍藏版)》请在冰豆网上搜索。
操作系统复习材料
第一章操作系统引论
操作系统的目标
1.方便性2.有效性3.可扩充性4.开放性
操作系统的作用
1.OS作为用户与计算机硬件系统之间的接口
2.OS作为计算机系统资源的管理者
3.OS用作扩充机器
推动操作系统发展的主要动力
1.不断提高计算机资源利用率2.方便用户3.器件的不断更新换代4.计算机体系结构的不断发展
何谓脱机I/O和联机I/O?
脱机I/O输入输出方式(Off-LineI/O)是为了解决人机矛盾及CPU和I/O设备之间速度不匹配而提出的.
联机I/O输入输出操作在主机控制下进行则称之为联机输入输出方式.。
单道批处理系统的引入
解决人机矛盾和CPU和I/O设备素的不匹配的矛盾的过程中形成的。
单道批处理系统的特征
(1)自动性。
(2)顺序性。
(3)单道性。
多道批处理系统得引入
提高资源利用率和系统吞吐量。
多道程序设计的基本概念
在单道批处理系统中,内存中仅有一道作业,它无法充分利用系统中的所有资源,致使系统性能较差。
为了进一步提高资源的利用率和系统吞吐量,在60年代中期又引入了多道程序设计技术,由此而形成了多道批处理系统。
在OS中引入多道程序设计技术可带来以下好处:
(1)提高CPU的利用率。
(2)可提高内存和I/O设备利用率。
(3)增加系统吞吐量。
多道批处理系统的特征
(1)多道性。
(2)无序性。
(3)调度性。
多道批处理系统的优缺点
(1)资源利用率高。
(2)系统吞吐量大。
(3)平均周转时间长。
(4)无交互能力。
多道批处理系统需要解决的问题
(1)处理机管理问题。
(2)内存管理问题。
(3)I/O设备管理问题。
(4)文件管理问题。
(5)作业管理问题。
★操作系统:
是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序的集合。
分时系统的引入
推动分时系统形成和发展的主要动力,则是用户的需求。
或者说,分时系统是为了满足用户需求所形成的一种新型OS。
它与多道批处理系统之间,有着截然不同的性能差别。
用户的需求具体表现在以下几个方面:
(1)人—机交互。
(2)共享主机。
(3)便于用户上机。
实现分时系统的关键问题是什么?
应如何解决?
a.关键问题:
及时接收,及时处理;
b.对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输入的数据;
---对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行一次.
分时系统的特征
(1)多路性。
(2)独立性。
(3)及时性。
(4)交互性。
实时系统的引入
更好地满足实时控制领域和实时信息处理领域的需要.
1.应用需求
(1)实时控制。
(2)实时信息处理。
2.实时任务
1)按任务执行时是否呈现周期性来划分
(1)周期性实时任务。
(2)非周期性实时任务。
2)根据对截止时间的要求来划分
(1)硬实时任务
(2)软实时任务
3.实时系统与分时系统特征的比较
(1)多路性。
(2)独立性。
(3)及时性。
(4)交互性。
(5)可靠性。
★操作系统的基本特性
★★1并发(Concurrence)并行性和并发性(Concurrence)是既相似又有区别的两个概念,并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。
进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。
******引入进程的目的是使多个程序能并发执行。
*****
★★2共享(Sharing)系统中的资源可供内存中多个并发执行的进程共同使用。
3虚拟(Virtual)通过某种技术把一个物理实体变为若干个逻辑上的对应物。
4异步性(Asynchronism)
★操作系统中引入进程的目的,是使多个程序能并发执行。
操作系统的主要功能
★处理机管理功能★存储器管理功能★设备管理功能★文件管理功能★用户接口
内存管理有哪些主要功能?
它们的主要任务是什么?
a.主要功能:
内存分配,内存保护,地址映射和内存扩充等.
b.内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,以减少不可用的内存空间,
允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要.
---内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰.
---地址映射的主要任务是将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址.
---内存扩充的主要任务是借助虚拟存储技术,从逻辑上去扩充内存容量.
处理机管理具有哪些功能?
它们的主要任务是什么?
a.进程控制,进程同步,进程通信和调度.
b.进程控制的主要任务是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换.
---进程同步的主要任务是对诸进程的运行进行调节.
---进程通信的任务是实现在相互合作进程之间的信息交换.
---调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新进程,把处理机分配给它,并为它设置运行现场,是进程投入运行.
设备管理有哪些主要功能?
其主要任务是什么?
a.主要功能:
缓冲管理,设备分配和设备处理,以及虚拟设备等.
b.主要任务:
完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备.
文件管理有哪些主要功能?
其主要任务是什么?
a.主要功能:
对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护.
b.主要任务:
对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性.
用户接口有哪些主要功能?
1.命令接口2.程序接口3.图形接口
操作系统的特点
硬件相关、应用无关★核心常驻内存★中断驱动★权威性★并发★庞大、复杂★重要性(无处不在、无时不有)
操作系统的发展
微机操作系统★多处理机操作系统★网络操作系统★分布式操作系统★嵌入式操作系统
多道运行的特点
•多道★宏观上并行★微观上串行:
多道批处理系统的优点
•资源利用率高。
资源指CPU及设备。
•系统吞吐量大。
系统吞吐量指系统在单位时间完成的总工作量。
什么是嵌入式系统?
系统调用就是用户程序对操作系统的调用。
在各种设备、装置或系统中,完成特定功能的软硬件系统
是什么原因使操作系统具有异步性特征?
a.程序执行结果是不确定的,即程序是不可再现的.
b.每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,即不可预知性.
在基于微内核结构的OS中,应用恶劣那些新技术?
1.客户/服务器模式2.面向对象的程序设计技术3.微内核技术
何谓微内核技术?
在微内核中通常提供了那些功能?
精心设计的,能实现现代OS核心功能的小型内核,它与一般的OS(程序)不同,它更小更精炼,它不仅在核心态,而且开机后常驻内存,它不会因内存紧张而被换出内存。
1.进程管理2.存储管理3.进程通信管理4.I/O设备管理
多数系统将处理器工作状态划分为管态和目态
管态:
操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态、核心态
目态:
用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态。
管态和目态的差别
处理器处于管态时:
全部指令(包括特权指令)可以执行*可使用所有资源*并具有改变处理器状态的能力
处理器处于目态时:
只有非特权指令能执行
CPU状态的转换
目态--管态------其转换的唯一途径是通过中断
管态--目态-------可用设置PSW(修改程序状态字)可实现
什么是中断?
指CPU对系统中或系统外发生异步事件的响应*****异步事件是指无一定时序关系的随机发生事件
引入中断的目的
n解决主机与外设的并行工作问题**提高可靠性**实现多机联系**实现实时控制
特点:
1)中断是随机的2)中断是可恢复的3)中断是自动处理的
CPU何时响应中断?
通常在CPU执行了一条指令以后,更确切地,在指令周期最后时刻接受中断请求,或此时扫描中断寄存器.
如何知道提出中断请求的设备或中断源?
因为只有知道中断源或中断设备,才能调用相应的中断处理程序。
函数与系统调用(OS)的层次关系操作系统的结构图
第二章进程管理
程序的顺序执行及其特征
1.程序的顺序执行
仅当前一操作(程序段)执行完后,才能执行后继操作。
例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。
2.程序顺序执行时的特征
(1)顺序性:
(2)封闭性:
(3)可再现性:
前趋图
前趋图(PrecedenceGraph)是一个有向无循环图,记为DAG(DirectedAcyclicGraph),用于描述进程之间执行的前后关系。
图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(PartialOrder)或前趋关系(PrecedenceRelation)“→”。
程序的并发执行及其特征
1.程序的并发执行
若干个程序同时在系统中执行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。
2.程序并发执行时的特征
1)间断性2)失去封闭性3)不可再现性
进程的引入及产生的影响
为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,而引入了进程概念.影响:
使程序的并发执行得以实行.
进程的特征与状态
1.进程的特征和定义
1)结构特征2)动态性3)并发性4)独立性5)异步性
较典型的进程定义有:
(1)进程是程序的一次执行。
(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
(3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:
“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”。
2.进程的三种基本状态
1)就绪(Ready)状态2)执行状态3)阻塞状态
n就绪状态(Ready):
存在于处理机调度队列中的那些进程,它们已经准备就绪,一旦得到CPU,就立即可以运行。
这些进程所处的状态为就绪状态。
n运行状态(Running):
正在运行的进程所处的状态为运行状态。
n等待状态(Wait/Blocked):
若一进程正在等待某一事件发生(如等待输入输出工作完成),这时,即使给它CPU,它也无法运行,称该进程处于等待状态、阻塞、睡眠、封锁状态
线程与进程的区别?
简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。
每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。
但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
试说明PCB的作用?
为什么说PCB是进程存在的唯一标志?
a.PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构.PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.
b.在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志
系统的并发度.
PCB表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度
进程控制
就是对系统中的所有进程实施管理,进程控制一般有原语来实现。
原语
所谓原语是一种特殊的系统功能调用,它可以完成一个特定的功能,其特点是原语执行时不可被中断。
常用的进程控制原语
创建原语*****终止原语*****阻塞原语、唤醒原语
试说明引起进程创建的主要事件.
a.用户登陆;b.作业调度;c.提供服务;d.应用请求.
在创建一个进程时,需完成的主要工作是什么?
a.操作系统发现请求创建新进程事件后,调用进程创建原语Creat();
b.申请空白PCB;c.为新进程分配资源;d.初始化进程控制块;e.将新进程插入就绪队列.
进程终止
1.根据被终止进程的标识符,从PCB集合中检索出该进程的PCB
2.将进程所拥有的资源交给父进程或系统进程
3.释放PCB
进程的阻塞与唤醒
n阻塞:
当一个进程所期待的某一事件尚未出现时,该进程调用阻塞原语将自己阻塞。
进程阻塞是进程的自身的一种主动行为。
n唤醒:
处于阻塞状态的进程是绝不可能叫醒它自己的,它必须由它的合作进程用唤醒原语唤醒它。
试说明引起进程阻塞或被唤醒的主要事件是什么?
a.请求系统服务;b.启动某种操作;c.新数据尚未到达;d.无新工作可做.
为什么要引入挂起状态?
该状态具有哪些性质?
a.引入挂起状态处于5中需要:
终端用户的需要,父进程的需要,操作系统的需要,对换的需要和负荷调节的需要.b.处于挂起状态的进程不能接收处理机调度.
进程的两个基本属性
1.进程是一个可拥有资源的基本单位。
2.进程同时又是一个可独立调度和分派的基本单位。
线程的引入
n引入进程的目的是为了使多个程序并发执行,以改善资源利用率、提高系统吞吐量。
n引入线程则是为了减少程序并发执行时的所付出的时空开销。
引入线程的好处
n创建一个新线程花费时间少(结束亦如此)
n两个线程的切换花费时间少
n因为同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核
n适合多处理机系统
用户级线程的优点和缺点
优点:
n线程切换不调用核心
n调度是应用程序特定的:
可以选择最好的算法
nULT可运行在任何操作系统上(只需要线程库),可以在一个不支持线程的OS上实现
缺点:
n大多数系统调用是阻塞的,因此核心阻塞进程,故进程中所有线程将被阻塞
n核心只将处理器分配给进程,同一进程中的两个线程不能同时运行于两个处理器上
核心级线程的优点和缺点
优点:
n对多处理器,核心可以同时调度同一进程的多个线程*****阻塞是在线程一级完成
缺点:
在同一进程内的线程切换调用内核,导致速度下降。
在进行进程切换时,所要保存的处理机状态信息主要有哪些?
a.进程当前暂存信息;b.下一条指令地址信息;c.进程状态信息;
d.过程和系统调用参数及调用地址信息.
试说明引起进程创建的主要事件.
a.用户登陆;b.作业调度;c.提供服务;d.应用请求.
试说明引起进程撤消的主要事件.
a.正常结束;b.异常结束;c.外界干预;
什么是临界资源和临界区?
a.一次仅允许一个进程使用的资源成为临界资源.
b.在每个进程中,访问临界资源的那段程序称为临界区.
进程互斥解决方法
利用软件方法解决进程互斥问题
利用硬件方法解决进程互斥问题
▪利用Test-and-Set指令实现互斥
▪利用swap指令实现进程互斥
用原语实现进程互斥
上锁和开锁原语:
上锁原语lock(w)可描述为:
L:
if(w==1)gotoL
elsew=1;
开锁原语unlock(w)可描述为:
w=0;
信号量及P、V操作
▪一种卓有成效的进程同步机制
▪最初提出的是二元信号量(互斥)
推广到一般信号量(多值)(同步)
▪P、V操作是原语
1)信号量的物理含义:
S>0表示有S个资源可用
S=0表示无资源可用
S<0则|S|表示S等待队列中的进程个数
P(S):
表示申请一个资源
V(S):
表示释放一个资源。
2)P.V操作必须成对出现,有一个P操作就一定有一个V操作
3)P、V操作的优缺点
优点:
简单,而且表达能力强(用P、V操作可解决任何同步互斥问题)
缺点:
不够安全,P、V操作使用不当会出现死锁;
遇到复杂同步互斥问题时实现复杂
进程同步问题可分为两类:
▪保证一组合作进程按确定的次序执行
▪保证共享缓冲区的合作进程的同步。
进程通信
所谓进程通信是指进程之间可直接以较高的效率传递较多数据的信息交换方式。
进程通信类型
1、共享存储器系统2、消息传递系统3、管道通信(共享文件方式)
习题
进程A1、A2,。
。
。
An1通过m个缓冲区向进程B1、B2、。
。
。
Bn2不断发送消息。
发送和接收工作遵循下列规则:
(1)每个发送进程一次发送一个消息,写入一个缓冲区,缓冲区大小等于消息长度
(2)对每个消息,B1,B2,Bn2都须各接收一次,读入各自的数据区内
(3)m个缓冲区都满时,发送进程等待,没有可读消息时,接收进程等待。
试用P、V操作组织正确的发送和接收工作。
解答:
1-
设缓冲区的大小为1
有一个发送进程A1
有二个接收进程B1、B2
设有信号量Sin[1]、Sin[2]初值为1
设有信号量Sout[1]、Sout[2]初值为0
2-
设缓冲区的大小为m
有一个发送进程A1
有二个接收进程B1、B2
设有信号量Sin[1]、Sin[2]初值为m
设有信号量Sout[1]、Sout[2]初值为0
3-
▪设缓冲区的大小为m
▪有n1个发送进程A1….An1
▪有n2个接收进程B1…Bn2
▪设有n2个信号量Sin[n2]初值均为m
▪设有n2个信号量Sout[n2]初值均为0
第三章处理机调度与死锁
可把处理机调度分成三个层次:
●高级调度----也称为作业调度或宏观调度,一般在批处理系统中有作业调度。
●中级调度----
●低级调度-----也称微观调度、进程调度,从处理机资源分配的角度来看,处理机需要经常选择就绪进程或线程进入运行状态。
作业的基本概念
(1)作业
用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称
(2)作业步
一个作业可划分成若干部分,称为一个作业步。
典型的作业控制过程:
“编译”、“连接装配”、“运行”
作业控制语言
作业说明书:
用户用于描述批处理作业处理过程*****书写作业说明书的语言称为作业控制语言(JCL)
作业说明书
表达用户对作业的控制意图
内容:
n作业的基本描述****作业控制描述***资源要求描述
作业控制块(JCB:
JobControlBlock)
作业控制块是批处理作业存在的标志**保存有系统对于作业进行管理所需要的全部信息**位于磁盘区域中。
作业控制块的内容------作业控制块中所包含的信息数量及内容因系统而异
作业控制块的建立
当作业开始由输入设备向磁盘的输入井传输时,系统输入程序为其建立一个作业控制块,并进行初始化
作业控制块的使用
需要访问作业控制块的程序:
系统输入程序**作业调度程序**作业控制程序***系统输出程序等
作业控制块的撤消-------作业完成后,其作业控制块由系统输出程序撤消
作业表
每个作业有个作业控制块
n所有作业JCB构成一个作业表
n作业表存放在外存固定区域中,长度是固定
n限制了系统所能同时容纳的作业数量
系统输入程序、作业调度程序、系统输出程序都需要访问作业表,因而存在互斥问题
一个作业从进入系统到运行结束经历四个不同的状态:
“进入”---“后备”---“运行”---“完成”
作业的建立
经历两个过程
n1、作业的输入
n2、JCB的建立作业控制块JCB和作业:
一一对应关系
作业输入方式
u联机输入方式======脱机输入方式======SPOOLing系统
批处理作业的调度
主要功能:
n审查系统能否满足用户作业的资源要求
n按照一定的算法从输入井中的后备作业中选取作业
调度的关键在选择恰当的算法
调度算法性能的衡量--作业平均周转时间------平均带权周转时间------
系统进行作业调度的决策因素
n作业到达时间***预先为作业确定的优先级***作业所需的CPU时间C***存储要求M
n打印输出的行数L***其他的资源要求
常见的批处理作业调度算法
n先来先服务算法(FCFS:
FirstComeFirstServe)
n按照进程就绪的先后次序来调度进程***优点:
实现简单***缺点:
没考虑进程的优先级
n最短作业优先算法(SJF:
ShortestJobFirst)
n最高响应比优先算法(HRN:
HighestResponseRatioNext)
确定优先数的方法*******静态优先数法******动态优先数法
确定算法的原则
n具有公平性
n资源利用率高(特别是CPU利用率)
n在交互式系统情况下要追求响应时间(越短越好)
n在批处理系统情况下要追求系统吞吐量
两种占用CPU的方式:
可剥夺式(可抢占式Preemptive)***********不可剥夺式
进程调度的任务
进程调度的任务是控制协调进程对CPU的竞争即按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程
进程切换
n一个进程让出处理器,由另一个进程占用处理器的过程称为进程切换
n进程的切换使系统中的各进程均有机会占用CPU
n进程的切换是由进程状态的变化引起的,而进程状态的变化又与出现中断事件有关
何时切换进程?
n只要OS取得对CPU的控制,进程切换就可能发生,如:
u系统功能调用
F来自程序的显式请求(如:
I/O请求),该进程通常会被阻塞
u陷阱
F一条指令导致出错,会引起进程移至退出状态
u中断
F外部因素影响当前指令的执行,控制被转移至(中断处理程序)
CPU调度过程
*保存现场:
顺序保存,最后一步保存PSW
*选择要运行的程序
(如果没有就绪进程,系统会安排一个闲逛进程(idle),没有其他进程时该进程一直运行,在执行过程中可接收中断)
*恢复现场:
最后一步恢复选中进程的PSW
死锁的定义
一组进程中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到该资源,这种现象称为进程死锁,这一组进程就称为死锁进程
产生死锁的必要条件
n互斥条件:
涉及的资源是非共享的。
n不剥夺条件:
不能强行剥夺进程拥有的资源。
n部分