操作系统习题答案第Word文档格式.docx
《操作系统习题答案第Word文档格式.docx》由会员分享,可在线阅读,更多相关《操作系统习题答案第Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
J1'
,…,Jn,创门的运行时刻知足:
S1≤S2≤……≤S(n-l)≤Sn’。
那么有:
由于任何调度方式下,S1'
+S2'
+S3'
+…+Sn’为一个确信的数,而当S1’≤S2’≤…≤S(n-1)’≤Sn’时才有:
0*S1+1*S2+2*S3+…(n-1)Sn的值最大,也确实是说,现在T值最小。
因此,按短作业优先调度算法调度时,使得平均作业周转时刻最短。
7、假定执行表中所列作业,作业号即为抵达顺序,依次在时刻0顺顺序1、2、3、4、5进入单处置器系统。
(1)分别用先来先服务调度算法、时间片轮转算法、短作业优先算法及非强占优先权调度算法算出各作业的执行先后次序(注意优先权高的数值小);
(2)计算每种情形下作业的平均周转时刻和平均带权周转时刻。
(1)采纳FCFS算法调度作业,运作情形:
(2)采纳双算法调度作业,假设令时刻片长=l,各作业执行情形为:
1、2、3、4、5、l、3、5、1、5、1、5、1、5、1、l、l、1、1。
(3)采纳SJF算法调度作业,运作情形:
(4)采纳非剥夺优先权算法调度作业,运作情形:
8对某系统进行监测后说明平均每一个进程在I/O阻塞之前的运行时刻为T。
一次进程‘切换的系统开销时刻为S。
假设采历时刻片长度为Q的时刻片轮转法,对以下各类情形算出CPU利用率。
9有5个待运行的作业,各自估量运行时刻别离是:
9、6、3、5和x,采纳哪一种运行顺序使得平均响应时刻最短?
按照最短作业优先的算法可以使平均响应时间最短。
x取值不定,按照以下情况讨论:
10.有5个批处置作业A到E均己抵达计算中心,其运行时刻别离2、4、6、8和10分钟:
各自的优先级分跳狠掀完为、、飞、飞、氏积5、那个地址5为最高级。
关于1)时刻片轮转算法、2)优先数法、3)短作业优先算法、4)先来先效劳调度算法(按抵达顺序C、D、B、E、A),在忽略进程切换时刻的前提下,计算出平均作业周转时刻。
(对l)每一个作业取得相同的2分钟长的时刻片;
对2)到4)采纳单道运行,直到终止。
)
(l)FCFS调度算法
(2)优先级调度算法
(3)时刻片轮转法
顺顺序ABCDEBCDECDEDEE轮转执行。
(4)SJF调度算法
1一、有5个批处置作业A到E均已抵达计算中心,其运行时刻别离10、6、2、4和8分钟;
各自的优先级别离被规定为3、5、2、1和4,那个地址5为最高级。
假设不考虑系统切换开销,计算出平均作业周转时刻。
(1)FCFs(按A、B、C、D、E);
(2)优先级调度算法,(3)时刻片轮转法(每一个作业取得相同的2分钟长的时刻片)。
(1)FCFS调度算法
顺顺序ABCDEABDEABEAEA轮转执行。
作业
执行时间
等待时间
周转时间
带权周转时间
A
B
C
D
E
10
6
2
4
8
20
l6
4
l2
20
30
22
6
16
28
3
3.66
3
3.5
作业平均周转时间作业平均带权周转时间
T=(30+22+6+16+28)/5=
W=(3++3+4+)/5=
12(l)假定一个处置器正在执行两道作业,一道以计算为主,另一道以输入输出为主,你将如何给予它们占有处置器的优先级?
什么缘故?
(2)假定一个处理器正在执行三道作业,一道以计算为主,第二道以输入输出为主,第三道为计算与输入输出均匀。
应该如何赋予它们占有处理器的优先级使得系统效率较高?
处理器调度算法会考虑以下因素:
作业响应时间要求;
让CPU尽量和外围设备并行工作;
限制一个计算进程长时间霸占处理器。
因而,
(1)FO为主作业优先级高。
(2)输入输出为主作业优先级最高,输入输出均匀的作业其次,而计算为主作业的优先级最低。
13请你设计一种先进的运算机体系结构,它利用硬件而不是中断来完成进程切换,那么CPU需要哪些信息?
请描述用硬件完成进程切换的工作进程。
该运算机有一个专用硬件寄放器,它始终寄存指向当前运行进程的PCB的指针。
当系统中发生了一个事件,如FO终止事件,CPU即可把运行进程的上下文保留到专用硬件寄放器指针指向的PCB中爱惜起来,然后,CPU转向中断向量表,找到设备中断处置程序入口,让专用硬件寄放器指针指向(设备)中断效劳例程,于是,即可启动中断效劳例程工作。
14设计一条机械指令和一种与信号量机制不同的算法,使得并发进程对共享变量的利用可不能显现与时刻有关的错误。
解:
(l)设计机器指令。
设计一条如下的”测试、比较和互换”三地址指令,提供了一种硬件互斥解决方案:
TC&
S
R1
R3
B2
D2
该指令的功能如下:
l)C为一个共享变量,由地址2、即变址(B2)+D2给出,
(2)(Rl)与(C)比较,
(3)若是(Rl)=(C)那么(R3)→C,并置条件码为"
00"
若是(R1)≠(c)那么(C)→Rl,并置条件码为"
01"
.
(2)编写进程访问共享变量的程序。
对每个访问共享变量C的进程,编写访问共享变量的程序段为:
陆界区程序
说明
(C)→Rl;
loop2:
(R1)→R3;
Add/decreaseR3;
TC&
S;
R(condition=01)loop2;
共享变量C的值保护到RI中。
Rl的值传送到R3中,进程修改共享变量时,先对R3操作(不是直接操作C)。
R3加1/减1,进程归还/申请由共享变量C代表的共享资源(假定每次一个)。
执行”测试、比较和交换”指令。
条件码=01,转向循环loop2;
否则离开临界区。
(3)程序执行说明。
此解与互斥使用共享变量的思路绝然不同,并发运行的进程可不互斥地访问它们的共享变量。
此方案认为造成共享变量C值错误的原因在于:
一个进程(Pl)在改变C值的过程中,另一个进程伊2)插进来也改变了C的值,而本进程(Pl)却不知道,造成了c值结果不正确。
如果有办法使本进程口1)能知道C值是否改变,改变的话在继承改变了的C值的基础上,再作自己的改变操作,则就不会导致共享变量C值的错误。
为此,本解决方案中,当一个进程l)准备改变C值时,先把C的值保护在Rl中,然后,通过R3来改变共享变量C的值。
当要把新的值(即R3内的值)送C之前,先要判断一下在本进程(P1)工作期间是否有别的进程口2)插进来也改变了C的值(并发进程P1、P2的执行完全会造成这种情况),方法是:
将扭1)中被保护的C的原来值,与C的当前值比较,若相等,说明C值未被改变过,则将本进程(Pl)修改过的新值送C(即(R3)一C);
若不相等,说明C值在工作期间被改变过,则应该继承C的新值(即(C)一Rl)并且返回到loop2处重新对C值计数,以此保证C值的最终结果的正确性。
这里提及”进程工作期间”指的是一个进程从开始至终止对共享变量C值的操作的这段时刻,也确实是执行进程,'
I晦界区”这段程序的时刻。
另外,在进程进入临界区之前,应等待直到C为非。
(即有资源可用)为止。
(4)举例。
假定系统中有静态分配资源磁带机共3台,被N个进程共享,由共享变量C来代表可用磁带机台数,其初值为3。
现有并发进程P1和P2均申请使用磁带机,执行临界区程序。
进程Pl执行临界区程序
(C)→R1;
因(C)=3,故(R1)=3。
loop2:
(Rl)→R3因(R1)=3,故(R3)当前也=3。
decreaseR3:
申请利用磁带机,做减1操作,故(R3)=2.
TC&
S执行”测试、比较和互换,,TC&
S指令。
如果R1=(C)则(R3)→C,即(C)=2,并置条件码为”00"
跳出临界区程序,去利用磁带机。
如果(Rl)≠(C),例如,(C)=2,说明进程P2抢先申请了磁带机,因此,C与爱惜在R1中的值不一样了(C的值必
小于Rl的值),应以C的当前值为准,执行(C)?
Rl(R1现在变成2),并置条件码为”01"
,转向foopZ。
于是伍1)=2,随着(R3卜2。
接着卿)减1后应=l了。
再执行TC&
S时,由于伍1卜(C)=2,会使C变成1。
r(conditio二01)loop2;
巧单道批处置系统中,以下三个作业采纳先来先效劳调度算法和最高响应比优先算法进行调度,哪一种算法性能较好?
请完成下表:
提交时间
运行时间
开始时间
完成时间
1
2
10:
00
10
25
2:
1:
0:
平均作业周转时间=
平均作业带权周转时间W=
可见HRRF比FIFO要好
16假设有如表所示四个作业进入系统,别离计算在FCFS、S开和HRR卫算法下的平均周转时刻与带权平均周转时刻。
(时刻以十进制表示)
17Kleinrock提出一种动态优先权算法:
进程在就绪队列等待时,其优先权以速度a转变;
当进程在处置器上运行,时其优先权以速度p转变。
给参数a,b赋以不同值可取得不同算法。
(l)假设a>b>c是什么算法?
(2)假设a<b<c是什么算法
(l)是先进先出算法。
因为在就绪队列中的进程比在CPU上运行的进程的优先数提高得快,故进程切换时,先进入就绪队列的进程优先权就越高。
(2)是后进先出算法。
因为在就绪队列中的进程比在CPU上运行的进程的优先权下降得快,故后进入就绪队列的进程此先进入的进程的优先权高。
18有一个四道作业的操作系统,假设在一段时刻内前后抵达6个作业,它们的提交和估量运行时刻由下表给出:
系统采纳SJF调度算法,作业被调度进入系统后半途可不能退出,但作业运行时可被更短作业抢占。
(l)别离给出6个作业的执行时刻序列、即开始执行时刻、作业完成时刻、作业周转时刻。
(2)计算平均作业周转时刻。
答
说明:
(1)J2到达时抢占J1;
J3到达时抢占J2。
(2)但J4抵达时,因不知足SJF,故J4不能被运行,J3继续执行5分钟。
(3)由于是4道的作业系统,故后面作业不能进入主存而在后备队列等待,直到有作业终止。
(4)依照进程调度可抢占原那么,J3第一个做完。
而这时J5、J6均己进入后备队列,而J5可进入主存。
(5)因J5最短,故它第二个完成。
这时J6方可进入主存。
因J6最短,故它第三个完成。
(6)然后是:
J4、J2和J1
(7)T=(155+95+20+55+15+20)/6=60
1九、有一个具有两道作业的批处置系统,作业调度采纳短作业优先的调度算法,进程调度采纳以优先数为基础的抢占式调度算法,在下表所示的作业序列,作业优先数即为进程优先数,优先数越小优先级越高。
(1)列出所有作业进入内存时刻及终止时刻。
(2)计算平均周转时间。
每个作业运行将经过两个阶段:
作业调度(SJF算法)和进程调度(优先数抢占式)。
另外,批处理最多容纳2道作业,更多的作业将在后备队列等待。
(l)10:
00,作业A抵达并投入运行。
(3)10:
2O,作业B抵达且优先权高于作业A,故作业B投入运行而作业A在就绪队列等待。
(4)10:
30,作业C抵达,因内存中已有两道作业,故作业C进入作业后备队列等待。
(5)10:
50,作业B运行终止,作业D抵达,按SJF短作业优先算法,作业D被装入内存进入就绪队列。
而由于作业A的优先级高于作业D,故作业A投入运行
(6)11:
10,作业A运行终止,作业C被调入内存,具作业c的优先级高于作业D,故作业C投入运行。
(7)12:
00,作业c运行终止,作业D投入运行。
(8)12:
20,作业D运行终止。
各作业周转时刻为:
作业A70,作业B30,作业C90,作业D90。
平均作业周转时刻为70分钟。
20、某多道程序设计系统供用户利用的主存为100K,磁带机2台,打印机1台。
采纳可变分区内存治理,采纳静态方式分派外围设备,忽略用户作业FO时刻。
现有作业序列如下:
作业调度采纳FCFS策略,优先分派主存低地址区且不准移动已在主存的作业,在主存中的各作业平分CPU时刻.现求:
(l)作业被调度的前后顺序?
(2)全数作业运行终止的时刻?
(3)作业平均周转时刻为多少?
(4)最大作业周转时刻为多少?
(l)作业调度选择的作业顺序为:
作业1、作业3、作业4、作业2和作业5.
(2)全数作业运行终止的时刻9:
30。
(3)周转时刻:
作业1为30分钟、作业2为55分钟、作业3为40分钟、作业4为40分钟和作业5为55分钟。
(4)平均作业周转时刻=44分钟。
(5)最大作业周转时刻为55分钟。
分析:
此题综合测试了作业调度、进程调度、及对外设的竞争、主存的竞争。
8:
oo作业1抵达,占有资源并调入主存运行。
20作业2和3同时抵达,但作业2因分不到打印机,只能在后备队列等待。
作业3资源知足,可进主存运行,并与作业1平分CPU时刻。
30作业1在8:
30终止,释放磁带与打印机。
但作业2仍不能执行,因不能移动而没有30KB的空闲区,继续等待。
作业4在8:
30抵达,并进入主存执行,与作业3分享CPU
35作业5抵达,因分不到磁带/打印机,只能在后备队列等待。
9:
00作业3运行终止,释放磁带机。
现在作业2的主存及打印机都可知足,投入运行。
作业5抵达时刻晚,只能等待。
10作业4运行终止,作业5因分不到打印机,只能在后备队列继续等待。
9:
15巧作业2运行终止,作业5投入运行。
30作业全数执行终止。
2一、某多道程序设计系统采纳可变分区内存治理,供用户利用的主存为200K,磁带机5台。
采纳静态方式分派外围设备,且不能移动在主存中的作业,忽略用户作业I/O时刻。
现求:
(l)FIFO算法选中作业执行的顺序及作业平均周转时刻?
(2)SJF算法选中作业执行的顺序及作业平均周转时刻?
(进程调度也采纳FCFS)
(1)FIFO算法选中作业执行的顺序为:
A、B、D、C和E作业平均周转时刻为63分钟
(2)SJF算法选中作业执行的顺序为:
A、B、D、E和C。
作业平均周转时刻为58分钟
详细说明:
1.先来先服务算法。
(1)8:
30作业A到达并投入运行。
注意它所占用的资源。
(2)8:
50作业B到达,资源满足进主存就绪队列等CPu。
(3)9:
00作业C到达,主存和磁带机均不够,进后备作业队列等待。
(4)9:
05作业D到达,磁带机不够,进后备作业队列等待。
后备作业队列有C、D。
(5)9:
10作业A运行结束,归还资源磁带,但注意主存不能移动(即不能紧缩)。
作业B投入运行。
作业C仍因主存不够而等在后备队列。
这时作业E也到达了,。
也由于主存不够进入后备作业队列。
此时作业D因资源满足(主存磁带均满足),进主存就绪队列等待。
后备作业队列还有C、E。
(6)9:
35作业B运行结束,作业D投入运行。
这时作业C因资源满足而调入主存进就绪队列等CPU。
而作业E因磁带机不够继续在后备作业队列等待。
(7)9:
55作业D运行结束,作业C投入运行。
这时作业E因资源满足而调入主存进就绪队列等CPU。
(8)10:
30作业C运行结束,、作业E投入运行。
(9)10:
40作业E运行结束。
2.短作业优先算法。
50作业B抵达,资源知足进主存就绪队列等CPU。
00作业C抵达,主存和磁带机均不够,进后备作业队列等待。
05作业D抵达,磁带机不够,进后备作业队列等待。
后备作业队列有C、D.
10作业A运行终止,归还资源磁带,但注意主存不能移动(即不能紧缩)。
这时作业E也抵达了,尽管该作业最短,也由于主存不够进入后备作业队列.现在作业D因资源知足(主存磁带均满脚,进主存就绪队列等待。
35作业B运行终止,作业D投入运行。
这时作业C和E资源均知足,但按SJF应把作业E调入主存进就绪队列等CPU。
而作业C因磁带机不够继续在后备作业队列等待。
55作业D运行终止,作业C调入主存进就绪队列等CPU.
05作业E运行终止,作业C投入运行.
40作业C运行终止。
上题中,假设许诺移动己在主存中的作业,其他条件不变,现求:
FIFO算法选中作业执行的顺序为:
SJF算法选中作业执行的顺序为:
(l)A、B、D、E和C。
作业平均周转时刻为58分钟。
(2)A、B、E、D和C。
作业平均周转时刻为56分钟。
与上题类同,详细说明略。
23、设计一个进程按时唤醒队列和按时唤醒处置程序:
(l)说明一个等待唤醒进程入队v的进程。
(2)说明时钟中断时,按时唤醒处置程序的处置进程。
(3)现有进程P1要求20秒后运行,通过40秒后再次运行;
PZ要求25秒后运行;
P3要求35秒后运行,通过35秒后再次运行;
P4要求60秒后运行。
试成立相应的进程按时唤醒队列。
组织如下的定时唤醒队列
。
(l)当一个需按时唤醒的进程要入队时,依照它要唤醒的时刻,被扦入队列的适当位置,注意,唤醒时刻按增量方式寄存。
(2)每当时钟中断时,时钟中断例程判别把队列中的第一个进程的时间量减1,直到该值为时唤醒进程工作。
同时队列中下一个进程成为队列头。
24、一个实时系统有4个周期性事件,周期别离为50、100、300和250ms。
假设假设其处置别离需要35、20、10和Xms,那么该系统可调度许诺的X值最大为多少?
实时任务可调度应知足:
35/50+20/100+10/300+X/250<l
X<250(l-28/30)=250×
=