操作系统的复习资料.docx
《操作系统的复习资料.docx》由会员分享,可在线阅读,更多相关《操作系统的复习资料.docx(25页珍藏版)》请在冰豆网上搜索。
操作系统的复习资料
操作系统总结资料(以教材为准)
2017年操作系统考试题型及分数比例:
填空题10个每空2分,共计20分
名词解释5个,每个4分,共计20分
简答题5个,每题6分,共计30分
综合题2个,每题15分,共计30分(PV操作、页式虚拟存储淘汰算法)
第一章操作系统概述
1、操作系统定义,计算机系统中所处的地位
(1)定义:
操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件。
(2)计算机系统的硬件层提供可计算性资源、包括处理器、寄存器、内部存储器(外存)、外部存储器和各种输入与输出设备。
计算机系统的软件由程序、数据和文档组成,软件可分为系统软件、支撑软件和应用软件。
2、实时操作系统的定义和分类
(1)实时操作系统是指当外界事件或数据产生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。
(2)目前有三种典型的实时系统:
过程控制系统、信息查询系统、事务处理系统。
3、分时系统中响应时间定义与影响因素
分时操作系统的主要特征为同时性、共享性、及时性和独立性
(1)响应时间是分时系统性能的主要指标之一,是指从终端发出命令到系统以及应答的时间。
(2)影响分时系统的影响因素有:
CPU速度、时间片长短、用户数、系统调度开销、切换进程时的交换信息量。
4、用户与操作系统之间的接口分类
(1)程序接口又称应用编程接口API,程序中使用这个接口可以调用操作系统的服务和功能。
(2)操作接口又称作业(或功能)级接口,是操作系统为用户操作控制计算机工作和提供服务的手段的集合。
5、系统调用与过程调用的主要区别
(1)调用形式不同:
过程使用一般调用指令,其转向地址是固定不变的,包含在跳转语句中,但系统调用中不包含处理程序入口,而仅仅提供功能号,按功能号调用。
(2)被调用代码的位置不同:
过程调用是一种静态调用,调用程序和被调用代码在同一程序内,经过连接编辑后作为目标代码的一部分。
当过程升级或修改时,必须重新编译连接。
而系统调用是一种动态调用,系统调用的处理代码在调用程序之外,当系统调用处理代码升级或修改时,与调用程序无关。
而且,调用程序的长度也大大缩短,减少了调用程序占用的存储空间。
(3)提供方式不同:
过程往往有编译系统提供,不同编译系统提供的过程可以不同;系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、种类与数量边固定不变了。
(4)调用的实现不同:
程序使用一般机器指令来调用过程,是在用户态运行的,程序执行系统调用,是通过中断机构来实现,需要从用户态转变到核心态,在管理状态执行,因此,程序执行系统调用的安全性好。
6、UNIX操作系统是典型的分时系统,Unix是第一个采用高级语言C编写的,便于移植不同的计算机系统
7、为什么多道系统的程序要以进程的形式参与系统的并发执行?
多道程序的并发执行有着与单道程序的独立执行所不同的许多新特点,即资源分配的动态性、程序执行的间断性、相互通讯的可能性以及同步互斥的必要性。
程序在并发系统中执行的动态特性,程序本身是无法描述的。
为此,当一个程序在并发系统内执行时,需要引进一个新的数据结构来描述和记录这些特性。
这样,新引入的数据结构与它所描述的程序便形成了一个有机体,叫做进程。
操作系统中采用多道程序设计技术提高CPU和外部设备的利用率(执行效率)
8、区分并发和并行两个定义:
从宏观和微观角度
并发是两个或多个事件在同一个时间间隔内发生,在宏观上所有的时间同时发生,微观上事件串行发生的。
并行是在任意时刻两个或多个事件同时发生。
如果为多道程序设计,只有一个CPU只能是并发,如果有多个CPU,可以做到并行。
9、多道程序设计:
为了提高CPU、内存、IO等设备的利用率,充分发挥计算机系统部件的并行性,在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行的方法叫多道程序设计。
10、操作系统的主要特征是什么?
1)并发特征(Concurrence)
2)共享特征(Sharing)
3)不确定性(异步性)
11、操作系统的主要功能是什么?
1)存储器管理的功能
2)处理机管理的功能
3)设备管理的功能
4)文件管理的功能
5)网络与通信管理
12、现在计算机采用多道程序设计的主要原因是什么?
1)提高了CPU的利用率
2)提高了主存和I/O设备的利用率
3)改进了系统的吞吐率
4)充分发挥了系统的并行性
13、操作系统常用的资源管理技术为复用、虚拟和抽象,其中复用技术分为空分复用共享和时分复用共享两种,抽象技术分为进程抽象、虚存抽象和文件抽象等三种基础抽象。
14、按照功能、特点和使用方式三个方面;简述操作系统的三种基本类型:
1)批处理操作系统
2)分时操作系统
3)实时操作系统
15、处理机管理的功能
1)进程控制和管理;
2)进程同步和互斥;
3)进程通信;
4)进程死锁;
5)线程控制和管理;
6)处理器调度,又分高级调度,中级调度和低级调度
16、设备管理的功能
1)提供设备中断处理;
2)提供缓冲区管理;
3)提供设备独立性,实现逻辑设备到物理设备之间的映射;
4)设备的分配和回收;
5)实现共享型设备的驱动调度;
6)实现虚拟设备。
17、内存管理的功能
1)内存分配;
2)地址转换;
3)存储保护;
4)内存共享;
5)存储扩充。
18、文件管理的功能
1)提供文件的逻辑组织方法;
2)提供文件的物理组织方法;
3)提供文件的存取和使用方法;
4)实现文件的目录管理;
5)实现文件的共享和安全性控制;
6)实现文件的存储空间管理。
19、操作系统管理资源的复用技术分为空分复用共享和时分复用共享两种
20、计算机系统资源管理技术(空分复用和时分复用、虚拟、抽象)
21、支持多道程序设计的硬件为中断和通道
22、用户使用计算机系统控制作业执行的方式有两种:
脱机方式和联机方式
23、操作系统资源管理技术中的复用和虚拟的主要目标是解决物理资源数量不足的问题,而抽象用于处理系统复杂性、重点解决资源的易用性。
24、多道程序设计、中断、通道三个概念
第二章处理器管理
1、CPU与外部设备的并行工作的硬件基础是中断和通道,其中中断最为重要
计算机系统的处理器包括一组寄存器,其个数根据机型的不同而不同,它们构成了一级存储,比主存容量小,但访问速度快。
这组寄存器所存储的信息与程序的执行有很大关系,构成了处理器现场。
中断概念:
异常概念:
进程调度就是控制、协调进程对CPU资源的竞争
2、特权指令与一般指令
在多道程序设计环境中,从资源管理和控制程序执行的角度出发,必须把指令系统中的指令分作两类:
特权指令和非特权指令。
所谓特权指令是指那些只能提供给操作系统的核心程序使用的指令。
只有操作系统才能执行全部指令(特权指令和非特权指令),如果一般用户执行特权指令,会导致非法执行而产生保护中断,转交给操作系统的“用户非法执行特权指令”的特殊处理程序处理。
3、进程和线程的定义
(1)进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。
(2)线程是操作系统进程中能够独立执行的实体(控制流),是处理器调度和分派的基本单位。
引入线程的目的是为了为了减少程序并发执行时所付出的时间和空间资源,使得并发粒度更细、并行性更好
4、进程的三种基本状态含义及其转换条件
(1)运行态:
进程占有处理器正在运行。
就绪态:
进程具备运行条件,等待系统分配处理器以便运行。
等待态:
又称为阻塞态或睡眠态,指进程不具备运行条件,正在等待某个事件的完成。
(2)运行态->等待态:
等待使用资源或某事件发生。
等待态->就绪态:
资源得到满足或某事件已经发生。
运行态->就绪态:
运行时间片到,或出现有更高优先权进程。
就绪态->运行态:
CPU空闲时被调度选中一个就绪进程执行。
5、进程的五种基本状态含义及其转换条件;以及进程的七种基本状态含义及其转换条件
6、进程的内存映像分为PCB、程序、数据和核心栈,其中进程控制块包含的基本信息
进程控制块包含三类信息:
(1)标识信息。
用于惟一地标识一个进程,常常分为由用户使用的外部标识符和被系统使用的内部标识号。
(2)现场信息。
用于保留一个进程在运行时存放在处理器现场中的各种信息,任何一个进程在让出处理器时必须把此时的处理器现场信息保存到进程控制块中,而当该进程重新恢复运行时也应恢复处理器现场。
(3)控制信息。
用于管理和调度一个进程。
7、管程是由局部于自己的若干公共变量及其声明和所有访问这些功能变量的过程所组成的软件模块。
管程的三个基本属性为共享性、安全性和互斥性。
8、解释:
(1)作业周转时间;
(2)作业带权周转时间;(3)响应时间;(4)吞吐率。
答:
♦作业周转时间:
批处理用户从作业提交给系统开始,到作业完成为止的时间间隔。
♦作业带权周转时间:
如果作业i的周转时间为ti,所需运行时间为tk,则称wi=ti/tk为该作业的带权周转时间,n个作业的带权周转时间的平均值为作业带权周转时间。
♦响应时间:
互式进程从提交一个请求(命令)到接收到响应之间的时间间隔。
♦吞吐率:
单位时间内处理的作业数。
9、作业周转时间
作业:
在应用业务处理过程中,从输入开始到运行结束,用户要求计算机所做的有关该次业务处理的全部工作。
批处理用户从作业提交给系统开始,到作业完成为止的时间间隔称作作业周转时间。
也可以说作业周转时间:
如果作业i提交给系统的时刻是ts,完成时刻是tf,该作业的周转时间ti为:
ti=tf–ts。
作业带权周转时间的概念
10、作业生存周期共经历四个状态,它们是后备、提交、执行和完成
11、选择作业/进程调度算法的基本原则
资源利用率、响应时间、周转时间、吞吐率、公平性
l)资源利用率,基本为CPU的利用率,越高越好
2)吞吐率:
单位时间内处理的作业数,越多越好
3)公平性:
确保每个用户每个进程获得合理的CPU份额或其他资源份额,不会出现饿死情况
4)响应时间:
越短越好
5)周转时间:
越短越好
这几个基本原则存在一定的矛盾,要按照系统设计的目标进行综合平衡
12、作业调度算法计算
四个作业到达系统时间/所需CPU时间:
作业1-0/20,作业2-5/15,作业3-10/5,作业4-15/10
SJF调度顺序为作业1、3、4、2,平均作业周转时间T=25,平均带权作业周转时间W=2.25。
FCFS调度顺序为作业1、3、4、2,平均作业周转时间T=28.75,平均带权作业周转时间W=3.125。
HRRF调度顺序为作业1、3、4、2,平均作业周转时间T=26.25,平均带权作业周转时间W=2.46
如果作业1、2、3、4的优先级为1、2、3、4,则调度顺序是什么?
13、处理器分调度
处理机调度可分为三级,它们是高级调度(或作业调度)、中级调度、低级调度(或进程调度);在一般操作系统中,必须具备的调度是低级调度(或进程调度)。
14、进程的属性:
动态性:
共享性:
独立性:
制约性:
并发性
15、操作系统对进程的管理是通过原语来实现的,有创建进程原语、撤销进程原语等
16、线程的实现分为三类:
内核线程、用户级线程和混合式线程
17、进程并发执行中,如果不控制则会产生与时间有关的错误,通常表现为结果不唯一和永远等待两种情况。
18、进程调度和线程调度内涵
第三章同步、通信与死锁
1、多道程序设计的实质以空间换时间
进程通信进程之间互相交换信息的工作
并发程序设计概念:
2、进程互斥与同步定义
(1)进程互斥是指若干个进程要使用同一共享资源时,任何时刻最多允许一个进程去使用,其他要使用该资源的进程必须等待,直到占有资源的进程释放该资源。
(2)进程同步指两个以上进程基于某个条件来协调它们的活动,同步进程之间的关系为相互制约。
(3)在多道程序设计中解决进程竞争和协作的机制为进程互斥和进程同步两种
4、临界区
把并发进程中与共享变量有关的程序段称为“临界区”。
共享变量所代表的资源为“临界资源”
在每个进程中访问临界资源的那段代码称为临界区。
为实现对它的共享,应保证进程互斥进入临界区。
对临界区管理的基本原则:
♦一次至多允许一个进程进入临界区内
♦一个进程不能无限地停留在临界区内
♦一个进程不能无限地等待进入临界区
5、共享变量
临界区中共享变量代表的资源叫“临界资源”。
6、信号量定义和PV操作
(1)一个进程在某一特殊点上被迫停止执行直到接收到一个对应的特殊变量值,通过特殊变量这一设施,任何复杂的进程交互要求可得到满足,这种特殊变量就是信号量。
信号量按其用途分为:
公用信号量和私有信号量。
信号量按其取值分为:
二元信号量和一般信号量。
(2)PV操作:
是两个原语,详细的执行过程见教材(P137)
7.一个家庭只有一个爸爸、一个妈妈、一个儿子和一个女儿以及一个盘子用于装水果,其中爸爸只削苹果放到盘子中,妈妈只剥桔子放盘子中,儿子只吃桔子,女儿只吃苹果。
试用P、V操作来描述这种情况。
8.有一个单通道的桥,桥上可以容纳n辆车同一个方向通行。
请用信号量及P、V操作描述两个方向进程的同步算法(伪代码即可,需要写出设置信号量含义并初始化信号量)}
}
9、读者写者问题。
允许多个读者同时执行读操作;任一写者在完成写操作之前不允许其它读者或写者工作;写者执行写操作前,应让已有的写者和读者全部退出。
用信号量和P、V操作实现它们的同步。
integerrc=0;
SemaphoreW,Mutex;
Rc=0;/*读进程计数*/
W=1;/*写的资源只有一个*/
Mutex=1;
read_i()write_j()
{{
P(Mutex);P(W);
rc:
=rc+1;写文件;
ifrc=1thenP(W);V(W);
V(Mutex);}
读文件;
P(Mutex);
rc:
=rc-1;
ifrc=0thenV(W);
V(Mutex);
}
10、有两个优先级相同的进程P1和P2,各自执行的操作如下,信号量S1和S2初值均为0。
试问P1、P2并发执行后,x、y、z的值各为多少?
P1:
P2:
beginbegin
y:
=1;x:
=1;
y:
=y+3;x:
=x+5;
V(S1);P(S1);
z:
=y+1;x:
=x+y;
P(S2);V(S2);
y:
=z+y;z:
=z+x;
end;end;
答:
P1和P2两个进程的头两句是可以并行执行的,而且不是数据相关的。
后去语句可根据PV操作原理可知,P1必定先执行,直到P(S2);暂停,此时P2执行,过了V(S2);语句,P1才能继续执行,此时x=10,y=4,z=5。
P1和P2进程的最后两个语句执行的顺序关系非常大,因为是数据相关的。
如果P1先执行,则最后的值为x=10,y=9,z=15
如果P2先执行,则最后的值为x=10,y=19,z=15
11、管程定义和基本属性
(1)管程是由局部于自己的若干公共变量及其说明和所有访问这些公共变量的过程所组成的软件模块。
(2)基本属性:
共享性、安全性、互斥性
12、进程死锁的4个必备条件
(1)互斥条件:
进程应互斥使用资源,任一时刻一个资源仅为一个进程独占,若另一个进程请求一个已被占用的资源时,它被置成等待状态,直到占用者释放资源。
破坏这个条件几乎是不可能的。
(2)占有和等待条件:
一个进程请求资源得不到满足而等待时,不释放已占有的资源。
(3)不剥夺条件:
任一个进程不能从另一个进程那里抢夺资源,即已被占用的资源,只能由占用进程自己来释放。
(4)循环等待条件:
存在一个循环等待链,其中,每一个进程分别等待它前一个进程所持有的资源,造成永远等待。
13、多种独占设备可能发生死锁的原理
在许多应用中,一个进程需要独占访问多个资源,而操作系统允许多个进程并发执行共享资源时,此时可能会出现进程永远被阻塞的现象。
产生死锁的原因:
一是系统提供的资源数量有限,不能满足每个进程的使用;二是多道程序运行时,进程推进顺序不合理。
14、银行家算法定义、作用和安全性检查过程
银行家算法是一种死锁避免算法,就是对每一个请求进行检查,检查这次资源申请是否会导致不安全状态。
若是,则不满足该请求;否则便满足。
检查状态是否安全的方法是看他是否有足够的资源满足一个距最大需求最近的客户。
如果可以,则这笔投资认为是能够收回的,然后接着检查下一个距最大需求最近的客户,如此反复下去。
如果所有投资最终都被收回,则该状态是安全的,最初的请求可以批准。
安全性检查过程
15、设系统中有3种类型的资源A、B、C和5个进程P1、P2、P3、P4、P5,资源数量A、B、C为(17,5,20)。
在T0时刻系统状态如下所示:
最大资源需求量已分配资源数量剩余资源
ABCABCABC
P1559212233
P2536402
P34011405
P4425204
P5424314
系统采用银行家算法实施死锁避免策略。
(1)T0时刻是否为安全状态?
若是,请给出安全序列。
(2)在T0时刻,若进程P2请求资源(0,3,4),是否能实施资源分配?
为什么?
(3)在
(2)的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?
为什么?
(4)在(3)的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?
为什么?
答:
首先增加每个进程还需要的资源数量
最大资源需求量已分配资源数量还需资源数量剩余资源
ABCABCABCABC
P1559212347233
P2536402134
P34011405006
P4425204221
P5424314110
(1)剩余资源满足P4,则剩余资源数量(4,3,7),那么可以满足P2、P3、P5的需求,最后为任意组合
剩余资源满足P5,则剩余资源数量(5,4,7),可以满足任何进程需求。
所以为安全状态
(2)超过剩余资源数,不能实施分配,
(3)第二步为拒绝分配,所以剩余资源数仍然为(2,3,3),进程4请求(2,0,1),可以满足实施,安全序列为P4,P5,P3,P2,P1,
(4)第三部为可以分配,此时系统剩余资源数为(0,3,2),如果分配为进程P1(0,2,0),则剩余资源数为(0,1,2),则不能寻找一个进程的安全序列,所以拒绝分配。
15、进程通信的概念,常用的进程通信方式有:
信号通信机制、管道通信机制、共享内存通信机制、消息传递通信机制和信号量通信机制
16、死锁检测算法的过程描述?
第四章内存管理
1、程序局部性原理
程序局部性原理:
程序在执行过程中的一个较短时间内,所执行的指令地址或操作数地址分别局限于一定的存储区域中。
程序局部性可细分为时间局部性和空间局部性。
2、简述存储管理的基本功能:
(1)内存分配和去配:
请求和释放主存空间;
(2)地址映射:
抽象成一维数组或二维地址空间;
(3)存储共享和存储保护,其中存储保护为各道作业、任务或进程在自己所属区域中运行,不破坏别的作业或不被“别人”破坏,更不要破坏整个系统工作;存储共享是为了进程间通信和提高主存利用率,两个或多个进程共用内存中相同的分区,即他们的物理内存有相交部分;
(4)存储扩充:
虚拟内存,允许进程虚拟地址空间大于主存空间。
3、重定位定义和过程
(1)从用户的源程序进入系统到相应程序在机器上运行,所经历的主要处理阶段有编译阶段、链接阶段、装入阶段和运行阶段。
(2)为了保证程序的正确运行,必须把程序和数据的逻辑地址转换为物理地址,这一工作称为地址转换或重定位。
(3)地址转换有两种方式,一种方式是在作业装入时由作业装入程序(装配程序)实现地址转换,称为静态重定位;这种方式要求目标程序使用相对地址,地址变换在作业执行前一次完成;另一种方式是在程序执行过程中,CPU访问程序和数据之前实现地址转换,称为动态重定位。
把目标模块中的地址称为相对地址(或称为“逻辑地址”),而把相对地址的集合称为“相对(逻辑)地址空间”或简称为“地址空间”。
存中一系列存储信息的物理单元集合为内存地址。
内存中物理单元的编号称为物理地址或绝对地址,相应的也称为物理地址空间。
4、动态重定位方式装入的作业,在执行中允许操作系统由条件移动将其移动
在内存的连续分配方式中可通过紧凑来减少内存碎片,但此时必须将有关程序和数据进行重定位;而动态重定位是一种允许作业在运行中、在内存中进行移动的技术。
5、快表的目的
存放在相连存储器的页表称快表。
将一段时间内经常访问的某些页面登记在快表中,可以大大加快指令的执行速度。
6、可变分区管理的基本原理及其常用算法
(1)可变分区管理的基本原理:
系统在作业装入主存执行之前并不建立分区,当要装入一个作业时,再根据作业需要的主存量查看主存中是否有足够的空间。
若有,则按需要量分割一个分区分配给该作业;若无,则令该作业等待主存空间。
(2)常用算法:
最先适应分配算法、下次适应分配算法、最优适应分配算法、最坏适应分配算法、快速适应算法。
7、分页式管理指令的逻辑地址和段式管理指令的逻辑地址组成
(1)分页式管理指令的逻辑地址组成:
页号、页内地址(页内偏移量)
(2)段式管理指令的逻辑地址组成:
段号、段内地址(段内偏移量)
8、虚拟存储的容量大小取决于计算机的地址结构
9、分页式存储管理中地址转换工作过程
地址转换时,只要从页表控制寄存器就可以找到相应的页表,再按照逻辑地址中的页号作索引查页表,得到对应的块号,根据关系式:
绝对地址=块号×块长+单元号,计算出欲访问的主存单元的地址。
在实际进行地址转换时,只要把逻辑地址中的单元号作为绝对地址中的低地址部分,而根据页号从表中查得的块号作为绝对地址中的高地址部分,就组成了访问主存储器的绝对地址。
10、分页式存储管理和分段式存储管理的不同之处
分段是信息的逻辑单位,由源程序的逻辑结构所决定,用户可见,段长可根据用户需要来规定,段起始地址可以从任何主存地址开始。
在分段方式中,源程序(段号,段内位移)经连结装配后仍保持二维结构。
分页是信息的物理单位,与源程序的逻辑结构无关,用户不可见,页长由系统确定,页面只能以页大小的整倍数地址开始。
在分页方式中,源程序(页号,页内位移)经连结装配后变成了一维结构。
11、在一个请求式分页存储管理体系中,一个程序的页面走向是:
6、5、4、3、2、1、5、4、3、6、5、4、3、2、1、6、5
请分别采用OPT、FIFO算法和LRU算法,求出在作业分得的内存块数分别为M=4和M=5是缺页中断测试和缺页中断率各位多少?
FIFO,M=4,缺页