欢迎来到天天文库
浏览记录
ID:9410360
大小:73.00 KB
页数:28页
时间:2018-04-30
《操作系统习题集-2-进程管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、习题集-2-进程管理1.在优先级调度中,__________类进程可能被“饿死”,即长时间得不到调度。A.短进程B.长进程C.低优先级进程D.大内存进程解:C。优先级调度算法(PRI)的基本思想是:内核为每个进程赋予一个优先级,进程按照优先级的大小顺序在就绪队列中排队,内核将CPU分配给就绪队列头部的第一个进程——优先级最大的进程。因此,进程的优先级越低,在就绪队列中的排队位置就越靠近队列尾,获得运行之前的等待时间就越长。低优先级的进程必须等待所有高优先级进程运行结束后才会被调度运行。如果不断有高优先级的进程加入就
2、绪队列,那么低优先级进程就会一直等待下去。这就是所谓的“饿死”现象。2.在下面的系统调用中,__________不会导致进程阻塞。A.读/写文件B.获得进程PIDC.申请内存D.发送消息解:B。当正在执行的进程需要使用某种资源或等待某个事件时,如果资源已被其他进程占用或事件尚未出现,该进程不能获得所需的资源而无法继续运行,于是,进程将被阻塞。进程在阻塞状态中等待资源被释放,或等待事件的发生。所以,进程在执行系统调用时,如果需要使用某种资源,就可能导致进程阻塞。“读/写文件”需要使用设备和文件缓冲区;“申请内存”需要
3、分配内存资源;“发送消息”需要使用消息缓冲区。3.下面关于临界区的叙述中,正确的是__________A.临界区可以允许规定数目的多个进程同时执行B.临界区只包含一个程序段C.临界区是必须互斥地执行的程序段D.临界区的执行不能被中断解:C。临界段(临界区)的概念包括两个部分:①临界资源:必须互斥访问的资源。例如,需要独占使用的硬件资源,多个进程共享的变量、结构、队列、栈、文件等软件资源。②临界区:访问临界资源的、必须互斥地执行的程序段。即,当一个进程在某个临界段中执行时,其他进程不能进入相同临界资源的任何临界段。4
4、.资源顺序分配法破坏了死锁发生的__________必要条件。A.互斥占用B.占有等待C.非剥夺D.循环等待解:D。资源顺序分配方法是:给系统中的每类资源赋予一个自然数的序号,限制进程只能严格按照资源序号由小到大的顺序申请资源。该方法可以避免“循环等待”的情况发生。因为,若出现循环等待,则必会有进程在获得大序号资源后申请小序号资源。5.假设某操作系统采用RR调度策略,分配给A类进程的时间片为100ms,分配给B类进程的时间片为400ms,就绪进程队列的平均长度为5(包括正在运行的进程),其中A类进程有4个,B类进程
5、有1个,所有进程的平均服务时间为2s,问A类进程和B类进程的平均周转时间各为多少?(不考虑IO情况)解析:时间片轮转调度(RR)是轮流地调度就绪队列中的每个进程,进程每次占用CPU的时间长度限制为时间片的大小。当采用固定的时间片大小时,每个进程按照固定周期被循环地执行。所以,进程的执行速度是由该进程的时间片大小在一个循环周期中所占的比例决定的,比例越高,进程的相对执行速度就越快。解:因为就绪进程队列的平均长度为5,单个RR调度循环周期的时间为4×100+1×400=800(ms)A类进程需要20个时间片的执行时间,
6、B类进程需要5个时间片的执行时间(1s=1000ms)。A类进程的平均周转时间为20×0.8=16(s)B类进程的平均周转时间为5×0.8=4(s)6.某多道程序设计系统中配有一台处理器CPU和两台输入/输出设备IO1、IO2,现有优先级由高到低的3个进程P1、P2、P3同时存在,它们使用资源的先后顺序和占用时间分别是:进程P1:IO2(30ms),CPU(10ms),IO1(30ms),CPU(10ms),IO2(10ms)。进程P2:IO1(20ms),CPU(20ms),IO1(40ms)。进程P3:CPU(
7、30ms),IO2(20ms)。若进程调度采用“可抢占的最高优先级”调度算法,且忽略调度等所需的时间,请回答下列问题:(1)进程P1、P2、P3从开始到完成所用的时间分别是多少?(要求用坐标画出进程P1、P2、P3的工作过程,其中横坐标表示时间,纵坐标表示CPU和IO设备。)(2)这3个进程从开始到全部完成时CPU的利用率为多少?IO1、IO2的利用率为多少?解析:在“可抢占的最高优先级”调度中,任何时刻内核都将处理机分配给当前最高优先级的就绪进程。也就是说,只有当高优先级进程主动放弃CPU时,低优先级进程才有机会
8、运行,并且,一旦高优先级进程需要使用CPU时,内核就会剥夺低优先级进程的CPU,分配给它使用。在本题中,由于进程P1和P2在开始执行时先需要进行IO,所以最低优先级的进程P3获得了CPU。但是,P3运行了20ms后就被P2抢占了CPU,因为P2刚好完成了IO,并且P2的优先级大于P3。同样的原因,P2运行了10ms后,就被P1抢占了CPU。P1在CPU上运行
此文档下载收益归作者所有