操作系统大题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
22. 在银行家算法中,若出现下述资源分配情:
试问:
⑴ 该状态是否安全?
⑵ 若进程P 2提出请求Request(1,2
,2,2)后,系统能否将资源分配给它?
⑴该状态是安全的,因为存在一个安全序列< P 0P 3P 4P 1P 2>。下表为该时刻的安全序列表。
P2 2 9 9 11 2 3 5 6 1 3 5 4 3 12 14 17 true
⑵若进程P2提出请求Request(1,2,2,2)后,系统不能将资源分配给它,若分配给进程P2,系统还剩的资源情况为(0,4,0,0),此时系统中的资源将无法满足任何一个进程的资源请求,从而导致系统进入不安全状态,容易引起死锁的发生。
第三章有关作业和进程调度算法的习题
1. 有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用抢占式的优先级调度算法,在下表的作业序列,作业优先数即为进程优先数,优先数越小优先级越高。
(1)列出所有作业进入内存时间及结束时间。
(2)计算这批作业的平均周转时间及平均带权周转时间。
解:作业执行过程如下:
8:00 A到达,内存空,A进入内存,无竞争开始运行;
8:20 B到达,进入内存,优先数为2,由于A的优先数为4,相比B优先级低,被剥夺处理器,B开始运行; 8:30 A到达,内存满,不可进入内存; 8:50 B运行结束,同时D到达,同C争夺内存,由于D运行时间短,按照短作业优先的调度算法,D被调入内存;D与A的优先数相比,A的优先级别高,获得处理器继续运行;
9:10 A运行结束,C进入内存,C的优先级别高于D,C开始运行; 10:00 C运行结束,D开始运行; 10:20 D运行结束。
1)所有作业进入内存时间及结束时间如下表所示:
2)作业周转时间=作业结束时间-作业到达时间
这批作业的平均周转时间=(70+30+90+90)/4=70分钟这批作业的
平均带权周转时间=(7/4+1+9/5+9/2)/4=2.26
2. 有一个四道作业的操作系统,若在一段时间内先后到达6个作业,它们的提交和估计运行时间由下表给出:
采用短作业优先调度算法,作业被调入系统后中途不会退出,但作业运行时可被更短作业抢占。(1)分别给出6个作业的开始执行时间、作业完成时间、作业周转时间。(2)计算这批作业的平均周转时间。解答:
作业执行过程如下:
8:00 J1到达,内存空,无竞争,进入内存开始运行; 8:20 J1运行20分钟,剩余40分钟;
J2到达,运行时间为35分钟,小于J1,取代J1开始运行。 8:25 J1剩40分钟,J2剩30分钟;
J3到达,运行时间为20分钟,小于J2,取代J2开始运行。 8:30 J1剩40分钟,J2剩30分钟;J3剩15分钟;
J4到达,运行时间为25分钟,大于J3, J3继续运行。
8:35 J3剩10分钟;
J5到达,运行时间为5分钟,尽管时间最短,但是内存中已有四道作业,因此,J5,不可进入内存,J3继续运行。
8:40 J3剩5分钟;J6到达,同理不可进入内存,J3继续运行。 8:45 J3运行结束;J5最短,进入内存并开始执行。
8:50 J5运行结束;J6进入内存,运行时间10分钟,为最短,开始执行。 9:00 J6运行结束,J1剩40分钟,J2剩30分钟;J4剩25分钟;J4最短,开始运行。
9:25 J4运行结束, J2最短,开始运行。 9:55 J2运行结束, J1开始运行。 10:35 J1运行结束。
1)所有作业的开始执行时间、作业完成时间、作业周转时间,如下表所示:
2)作业周转时间=作业结束时间-作业到达时间
这批作业的平均周转时间=(155+95+20+55+15+20)/6=60分钟这批作业的平均带权周转时间=(155/60+195/35+1+11/5+3+2)/4=4.01
1.为什么要进行页面置换
在请求分页存储管理系统中,由于使用了虚拟存储管理技术,使得所有的进程页面不是一次性地全部调入内存,而是部分页面装入。
这就有可能出现下面的情况:要访问的页面不在内存,这时系统产生缺页中断。操作系统在处理缺页中断时,要把所需页面从外存调入到内存中。如果这时内存中有空闲块,就可以直接调入该页面;如果这时内存中没有空闲块,就必须先淘汰一个已经在内存中的页面,腾出空间,再把所需的页面装入,即进行页面置换。
有助于理解的关键词有:请求分页、虚拟存储、缺页中断、页面
置换。
2.常用的页面置换算法
教材中介绍的常用页面置换算法有:先进先出法(FIFO)、最佳置换法(OPT)和最近最少使用置换法(LRU)。
(1)先进先出法(FIFO)
算法描述:由于认为最早调入内存的页不再被使用的可能性要大于刚调入内存的页,因此,先进先出法总是淘汰在内存中停留时间最长的一页,即先进入内存的页,先被换出。先进先出法把一个进程所有在内存中的页按进入内存的次序排队,淘汰页面总是在队首进行。如果一个页面刚被放入内存,就把它插在队尾。
【例1】教材第4章课后习题。
考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。当内存块数量分别为3,5时,试问先进先出置换算法(FIFO)的缺页次数是多少?(注意,所有内存块最初都是空的,凡第一次用到的页面都产生一次缺页。)
解:当内存块数量分别为3时,FIFO算法的执行过程如下图所示。
打叉的表示发生了缺页,共缺页16次。
提示:当FIFO算法执行到蓝色的4号页面时,这时内存中有三个页面,分别是1,2,3。按照FIFO算法,在内存中停留时间最长的页面被淘汰。三个页面在内存中的停留时间用绿色区域标记出来了,可见,1号页面是停留时间最长的,因此要淘汰1号页面。
当内存块数量分别为5时,共缺页10次。FIFO算法的执行过程如下。
优缺点:先进先出法(FIFO)简单易于实现,但是性能不好,存在Belady现象。例如对于以下页面:1,2,3,4,1,2,5,1,2,3,4,5,当内存块为3时,出现9次缺页中断;当内存块为4时,出现10次缺页中断。缺页率随着内存块增加而增加的现象,称为Belady现象。有兴趣的同学可以试一试,看看是不是这样的。