南昌航空大学操作系统总结Word格式.docx
《南昌航空大学操作系统总结Word格式.docx》由会员分享,可在线阅读,更多相关《南昌航空大学操作系统总结Word格式.docx(25页珍藏版)》请在冰豆网上搜索。
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<
i)。
不难证明,按这种策略分配资源时系统不会发生死锁。
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<
Q<
TCPU利用率=Q/(Q+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:
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拣黑子。
规定每个进程每次拣一子;
当一个进程在拣时,不允许另一个进程去拣;
当一个进程拣