操作系统考点.docx
《操作系统考点.docx》由会员分享,可在线阅读,更多相关《操作系统考点.docx(19页珍藏版)》请在冰豆网上搜索。
![操作系统考点.docx](https://file1.bdocx.com/fileroot1/2023-5/20/70c04694-503e-43a3-a982-0c40b2153e46/70c04694-503e-43a3-a982-0c40b2153e461.gif)
操作系统考点
1、操作系统的功能
1、处理器管理
2、存储管理
3、设备管理
4、文件管理
5、网络与通信管理
6、用户接口
2、操作系统的作用
1、操作系统作为用户接口和公共服务程序
2、操作系统作为程序执行的控制者和协调者
3、操作系统作为扩展机或虚拟机
4、操作系统作为资源的管理者和控制者
3、系统调用
系统调用是把应用程序的请求送至内核,调用相应的内核函数完成所需的处理,将结果返回给应用程序。
4、系统调用的分类
1、进程管理
2、文件操作
3、设备管理
4、主存管理
5、进程通信
6、信息维护
5、死锁
如果在一个进程集合中的每个进程都在等待只能由该集合中的其他一个进程才能引发的事件,则称一组进程或系统此时发生死锁。
6、死锁产生的因素
1、系统拥有的资源数量
2、资源分配策略
3、并发进程的推进顺序
7、系统形成死锁的四个必要条件
1、互斥条件
进程互斥使用资源
2、部分分配条件
申请新资源时不释放已占有资源
3、不剥夺条件
一个进程不能抢夺其他进程占有的资源
4、环路条件
存在一组进程循环等待资源的
8、死锁防止
1、破坏第一个条件
使资源可同时访问而不是互斥使用,
2、破坏第三个条件
采用剥夺式调度方法,当进程在申请资源未获准许的情况下,如主动释放资源(一种剥夺式),然后才去等待。
3、破坏第二个条件或第四个条件
上述死锁防止办法造成资源利用率和吞吐率低
9、比较实用的死锁防止方法
1、采用层次分配策略(破坏条件2和4)
资源被分成多个层次
当进程得到某一层的一个资源后,它只能再申请较高层次的资源
当进程要释放某层的一个资源时,必须先释放占有的较高层次的资源
当进程得到某一层的一个资源后,它想申请该层的另一个资源时,必须先释放该层中的已占资源
2、层次策略的变种按序分配策略
把系统的所有资源排一个顺序,例如,系统若共有n个进程,共有m个资源,用ri表示第i个资源,于是这m个资源是:
r1,r2……,rm
规定如果进程不得在占用资源ri(1≤i≤m)后再申请rj(j
不难证明,按这种策略分配资源时系统不会发生死锁。
10、死锁避免的主要思想
动态的检测资源分配状态以确保循环等待条件不可能成立。
11、死锁的解除
1、结束进程
一、结束所有进程的执行,重新启动操作系统。
方法简单,但以前工作全部作废,损失很大。
二、撤销陷于死锁的所有进程,解除死锁继续运行。
三、逐个撤销陷于死锁的进程,回收其资源重新分派,直至死锁解除。
2、剥夺资源
一、剥夺陷于死锁的进程占用的资源,但并不撤销它,直至死锁解除。
可仿照撤销陷于死锁进程的条件来选择剥夺资源的进程
二、根据系统保存的检查点,让所有进程回退,直到足以解除死锁,这种措施要求系统建立保存检查点、回退及重启机制。
三、当检测到死锁时,如果存在某些未卷入死锁的进程,而随着这些进程执行到结束,有可能释放足够的资源来解除死锁。
13、操作系统的主要特性
1、并发性
2、共享性
3、异步性
练习题
第一章
5、在单CPU和两台I/O(I1、I2)设备的多道程序设计环境下,同时投入3个作业运行。
其运行轨迹如下:
Job1:
I2(30ms),CPU(10ms),I1(30ms),CPU(10ms)
Job2:
I1(20ms),CPU(20ms),I2(40ms)
Job3:
CPU(30ms),I1(20ms)
如果CPU、I1和I2都能并行工作,优先级从高到低以此为Job1,Job2,Job3,优先级高的作业可以抢占优先级低的作业的CPU。
试求:
(1)每个作业从投入到完成分别所需要的时间。
(2)从作业的投入到完成,CPU的利用率。
(3)I/0设备利用率。
答案:
第二章
1、什么是PSW?
其主要作用是什么?
答案:
PSW是程序状态字
PSW用来控制指令执行顺序并保留和指示与程序有关的系统状态,主要作用是实现程序状态的保护和恢复。
每个程序都有一个与其执行相关的PSW.
2、当从具备运行条件的程序中选取一道程序运行后,怎样才能让它占有处理器工作?
答案:
保存上一个程序现场上下文切换
3、为什么现代计算机要设置两种或多种CPU状态?
答案:
区分当前是特权还是非特权指令
4、为什么要把机器指令分为特权指令和非特权指令?
答案:
特权指令:
是指只能提供给操作系统的核心程序使用的指令,如启动I/O设备、设置时钟、控制中断屏蔽位、清主存、建立存储键,加载PSW等。
非特权指令:
供应用程序使用的指令。
5、硬件如何发现中断事件?
发现中断事件后应做什么?
答案:
中断装置
发现中断源——>保护现场——>转向中断事件的处理程序——>恢复现场
6、试述中断在操作系统中的重要性及其主要作用。
答案:
中断机制是现代计算机系统的重要组成部分之一,每当应用程序执行各种内部和外部事件时,都要通过中断机制产生中断信号并启动内核工作,可以说操作系统是由“中断驱动”的。
7、什么是进程?
计算机操作系统中为什么要引入进程?
答案:
进程是一个资源分配和保护的基本单位。
引入进程是为了支持多道程序的并发执行。
8、在操作系统中引入进程概念后,为什么还要引入线程的概念?
答案:
为了减少程序并发执行时所付出的时空开销,使得并发粒度更细、并发性更好。
71、试说明访管指令与特权指令之间的区别?
答案:
特权指令是操作系统才能使用的指令。
访管指令是非特权指令,施工用户程序使用的指令。
9、解释:
(1)作业周转时间;
答案:
批处理用户从作业提交给系统开始,到作业完成为止的时间间隔称作业周转时间
(2)作业带权周转时间
答案:
如果作业i的周转时间为ti,所需运行时间为tk,则称wi=ti/tk为该作业的带权周转时间。
(3)响应时间
答案:
交互式进程从提交一个请求(命令)到接收到响应之间的时间间隔称响应时间。
(4)吞吐率
答案:
单位时间内处理的作业数。
11、为什么说操作系统是由中断驱动的?
答案:
因为每当应用程序执行各种内部和外部事件时,都要通过中断机制产生中断信号并启动内核工作,可以说操作系统是由“中断驱动”的。
应用题:
1、下列指令中,哪些只能在核心态运行?
(1)读时钟日期;用户态
(2)访管指令用户态
(3)设时钟日期核心态
(4)加载PSW核心态
(5)置特殊寄存器核心态
(6)改变存储器映像图核心态
(7)启动I/0指令核心态
3、并发进程之间有何种制约关系?
下列日常生活中的活动属于哪种制约关系?
(1)踢足球互斥
(2)吃自助餐同步
(3)图书馆借书互斥
(4)电视机生产流水线工序同步
7、假定作业Job1~Job5,,作业号即为其到达顺序,依次在时刻0按照序号1、2、3、4、5进入单处理器系统。
(1)分别采用先来先服务调度算法、时间片轮转算法、短作业优先算法及非抢占优先权调度算法计算出各作业的执行次序(注意优先权越高其数值越小)
(2)计算每种情况下作业的平均周转时间和平均带权周转时间。
--------------------------------------------------------
作业号执行时间/ms优先权
-------------------------------------------------------
Job1103
Job211
Job323
Job414
Job552
-------------------------------------------------------
答案:
(1)先来先服务(FCFS):
1,2,3,4,5
时间片轮转法:
1,2,3,4,5,1,3,5,1,5,1,5,1,1,1,1,1,1
非抢占优先权:
2,5,1,3,4
短作业优先(SJF):
2,4,3,5,1
(2)先来先服务:
平均周转时间:
(10+11+13+14+19)/5=13.4
平均带权周转时间:
(10/10+11/1+13/2+14/1+19/5)/5=7.26
时间片轮转法:
平均周转世间:
(19+2+7+4+14)/5=9.2
平均带权周转时间:
(19/10+2/1+7/2+4/1+14/5)/5=2.84
非抢占优先权:
平均周转时间:
(16+1+18+19+6)/5=14
平均带权周转时间:
(16/10+1/1+18/2+19/1+6/5)/5=6.36
短作业优先:
平均周转时间:
(19+1+4+2+9)/5=7
平均带权周转时间:
(19/10+1/1+4/2+2/1+9/5)/5=1.74
5、在道数不受限制的多道程序系统中,作业进入系统的后备队列时立即进行作业调度。
现有4个作业进入系统,有关信息列举如下,作业调度和进程调度均采用高优先级算法(规定数值越大则优先级越高)。
------------------------------------------------------------------------------------------------------
作业名进入后备队列的时间执行时间/min优先数
-----------------------------------------------------------------------------------------------------
Job18:
00601
Job28:
30502
Job38:
40304
Job48:
50103
-----------------------------------------------------------------------------------------------------
试填充下表。
----------------------------------------------------------------------------------------------------------------------
作业名|进入后备队列|执行时间|开始执行|结束执行|周转时间|带权周转
|的时间|/min|时间|时间|/min|时间
----------------------------------------------------------------------------------------------------------------------
Job1|8:
00|60|8:
00|10:
30|150|2.5
----------------------------------------------------------------------------------------------------------------------
Job2|8:
30|50|8:
30|10:
00|90|1.8
----------------------------------------------------------------------------------------------------------------------
Job3|8:
40|30|8:
40|9:
10|30|1
----------------------------------------------------------------------------------------------------------------------
Job4|8:
50|10|9:
10|9:
20|30|3
----------------------------------------------------------------------------------------------------------------------
平均周转时间T=(150+90+30+30)/4=75
----------------------------------------------------------------------------------------------------------------------
带权平均周转时间W=(2.5+1.8+1+3)/4=2.075
----------------------------------------------------------------------------------------------------------------------
9、对某系统进行监测后表明,每个进程在I/0阻塞之前的平均运行时间为T,一次进程切换的系统开销时间为S。
若采用时间片长度为Q的时间片轮转法,对下列各种情况计算CPU的利用率。
(1)Q=无穷大CPU利用率=T/(T+S)
(2)Q>TCPU利用率=T/(T+S)
(3)S(4)Q=SCPU利用率=50%
(5)Q接近于0CPU利用率接近于0
17、如果在限制为两道的多道程序系统中,有4个作业进入系统,其进入系统时间、估计运行时间列于下表中,系统采用SJF作业调度算法,采用SRTF(最短剩余时间优先算法)进程调度算法,请填充下表。
----------------------------------------------------------------------------------------------------------------------
作业|进入系统时间|估计运行时间/min|开始运行时间|结束运行时间|周转时间/min
----------------------------------------------------------------------------------------------------------------------
Job1|10:
00|30|10:
00|11:
05|65
----------------------------------------------------------------------------------------------------------------------
Job2|10:
05|20|10:
05|10:
25|20
----------------------------------------------------------------------------------------------------------------------
Job3|10:
10|5|10:
25|10:
30|20
----------------------------------------------------------------------------------------------------------------------
Job4|10:
20|10|10:
30|10:
40|20
----------------------------------------------------------------------------------------------------------------------
平均周转时间T=(65+20+20+20)/4=31.25
----------------------------------------------------------------------------------------------------------------------
带权周转时间W=(65/30+20/20+20/5+20/10)/4=2.2925
----------------------------------------------------------------------------------------------------------------------
21、有一个具有3道作业的多道批处理系统,作业调度采用短作业优先调度算法,进程调度采用依优先数为基础的抢占式调度算法。
在下表所示的作业序列中,作业优先数即为进程优先数,优先数越小则优先级越高。
----------------------------------------------------------------------------------------------------------------------
作业名到达时间估计运行时间/min优先数
----------------------------------------------------------------------------------------------------------------------
A10:
00405
B10:
20303
C10:
30604
D10:
50206
E11:
00204
F11:
10104
----------------------------------------------------------------------------------------------------------------------
试填充下表
----------------------------------------------------------------------------------------------------------------------
作业进入主存时间运行结束时间作业周转时间/min
----------------------------------------------------------------------------------------------------------------------
A10:
0012:
40160
----------------------------------------------------------------------------------------------------------------------
B10:
2010:
5030
----------------------------------------------------------------------------------------------------------------------
C10:
3011:
5080
----------------------------------------------------------------------------------------------------------------------
D10:
5013:
00130
----------------------------------------------------------------------------------------------------------------------
E12:
0012:
2080
---------------------------------------------------------------------------------------------------------------------
F11:
50120050
----------------------------------------------------------------------------------------------------------------------
平均作业周转时间=(160+30+80+130+80+50)/6=88.33
----------------------------------------------------------------------------------------------------------------------
27、某多道程序系统供用户使用的主存空间为100KB,磁带机2台,打印机1台。
采用可变分区主存管理,采用静态方式分配外部设备,忽略用户作业I/0操作时间。
现有作业序列如下:
----------------------------------------------------------------------------------------------------------------------
作业号进入输入井时间运行时间/min主存需求量/KB磁带机需求/台打印机需求/台
----------------------------------------------------------------------------------------------------------------------
18:
00251511
28:
20103001
38:
20206010
48:
30202010
58:
35151011
----------------------------------------------------------------------------------------------------------------------
作业调度采用FCFS策略,优先分配主存低地址区且不准移动已在主存中的作业,主存中的各作业平分CPU时间。
现求:
(1)作业调度的先后次序
(2)全部作业运行结束的时间
(3)作业平均周转时间
(4)最大作业周转时间。
答案:
(1)1,3,4,2,5
(2)9:
30
(3)作业平均周转时间T=(30+55+40+40+55)/5=48
(4)最大作业周转时间55
第三章
6、在一个盒子里,混装了数量相等的黑白围棋。
现在利用自动分拣系统把黑子、白字分开,设分拣系统有两个进程P1和P2,其中进程P1拣白子,进程P2拣黑子。
规定每个进程每次拣一子;当一个进程在拣时,不允许另一个进程去拣;当一个进程拣了一子时,必须让另一个进程去拣。
试写出进程P1和P2