操作系统习题+答案(共38页).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《操作系统习题+答案(共38页).docx》由会员分享,可在线阅读,更多相关《操作系统习题+答案(共38页).docx(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第一章1. 操作系统的主要作用是(D )A 管理设备 B 提供操作命令 C 管理文件 D 为用户提供使用计算机的接口,管理计算机的资源2. 对外部输入的信息能在规定时限内处理完毕并作出迅速反应的操作系统称为(C )A 分时操作系统B 批处理操作系统C 实时操作系统D 多处理机操作系统3. 操作系统的基本特征是 并发性 、 共享性 、 虚拟性 、 异步性 。4. 什么是操作系统?操作系统是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序集合。第二章1 . 苹果桔子问题 桌上有一只盘子,每次只能存放一个水果。一家四口人各行其职,爸爸专向
2、盘子中放苹果(apple),妈妈专向盘子中放桔子(orange),儿子专等吃盘子中的桔子,女儿专等吃盘子里的苹果。请用PV操作来实现四人之间的同步算法。答:记录型信号量解决苹果桔子问题,plate:semaphore; /* 盘子是否为空*/orange:semaphore; /* 盘子里有桔子 */apple:semaphore; /* 盘子里有苹果 */plate := 1; orange:= 0; /* 盘子里没有桔子 */apple:= 0; /* 盘子里没有苹果*/parbegin process father begin L1:P(plate);放苹果;V(apple);goto
3、L1; end; process mother begin L2:P(plate);放桔子;V(orange);goto L2;end;process son begin L3:P(orange);取桔子;V(plate);吃桔子;goto L3; end;process daughter begin L4:P(apple);取苹果;V(plate);吃苹果;goto L4; end;parend2. 和尚取水问题寺庙里有老小和尚若干和一水缸,小和尚打水,老和尚饮水。水缸容积为10桶水,水取自同一水井,每次只容一个桶打水,桶的总数为3个,每次往水缸倒水和从水缸取水仅为一桶。答:Var mute
4、x1, mutex2, empty, full, count: semaphore;mutex1:=1; 代表可以用水井mutex2:=1;代表可以用水缸empty:=10; 水缸的容量full:=0; 水缸中的水量count:=3;水桶的个数process 小和尚:beginrepeatwait(empty);wait(count);wait(mutex1);从井中打水;signal(mutex1);wait(mutex2);送水入水缸;signal(mutex2);signal(count);signal(full);until false;endprocess 老和尚:beginrepe
5、atwait(full);wait(count);wait(mutex2);从缸中取水;signal(mutex2);signal(empty);signal(count);until false;end3. 有一座东西方向的独木桥,用P,V操作实现:(1)每次只允许一个人过桥;(2)当独木桥上有行人时,同方向的行人可以连续过桥,相反方向的人必须等待。(3)当某一方向无人过桥时,另一方向的行人可以过桥。答:(1)设信号量MUTEX=1P(MUTEX)过桥V(MUTEX)(2)设信号量:MUTEX=1(东西方互斥)MD=1(东向西使用计数变量互斥)MX=1(西向东使用计数变量互斥)设整型变量:C
6、D=0(东向西的已上桥人数)CX=0(西向东的已上桥人数)从东向西:P(MD)IF(CD=0)P(MUTEX)CD=CD+1V(MD)过桥P(MD)CD=CD-1IF(CD=0)V(MUTEX)V(MD)从西向东:P(MX)IF(CX=0)P(MUTEX)CX=CX+1V(MX)过桥P(MX)CX=CX-1IF(CX=0)V(MUTEX)V(MX)(3):从东向西的,和(2)相同;从西向东的和(1)相同。4. 上图描述的生产者消费者问题中,如果其缓冲区部分为n个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及生产者和消费者可对缓冲区同时操作。试重新描述生产过程和消费过程。答:
7、设第i块缓冲区的公用信号量为bufi,初值为1;生产者进程的私用信号量为produce,初值为n;消费者进程的私用信号量为consume,初值为0。生产过程和消费过程描述如下:生产过程:BeginP(produce)选择一个空缓冲区iP(bufi)送数据入缓冲区iV(consume)V(bufi)End消费过程:BeginP(consume)选择一个满缓冲区iP(bufi)取缓冲区i中的数据V(produce)V(bufi)End5. 若信号量的初值为2,当前值为-3,则表示有( )等待进程。 A 1个 B 2个 C 3个 D 5个6. 在操作系统中,(B )是竞争和分配计算机系统资源的基本单
8、位。 A 程序 B 进程 C 作业 D 用户7. 下面哪一个不会引起进程创建(C ) A 用户登录 B 作业调度 C 设备分配 D 应用请求8. 进程和程序的本质区别是(B ) A 内存和外存 B 动态和静态特征 C共享和独占使用计算机资源 D顺序和非顺序执行机器指令 9. 在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。所谓临界区是(B ) A 一个缓冲区 B 一个数据区 C 一种同步机构 D 一段程序10. 在一辆公共汽车上,司机和售票员各行其职,司机负责开车和到站停车,售票员负责售票和开、关门,当售票员关好车门后,驾驶员才能继续开车行驶。用P、V操作实现司机与售票员之
9、间的同步。答:问题分析:是一个进程同步互斥问题,两个主要点是1) 司机开车的时候,售票员不能开门,(这里体现的是进程的互斥问题)车停之后,由司机通知售票员开门(这里体现的是进程的同步问题);2)车门开着的时候,司机不能开车,等售票员把车门关上之后,由售票员通知司机开车。同步信号量:driver:司机私有信号量,初为1;conductor:售票员私有信号量,初值为0;初值的含义是售票员具有优先车门控制权。semaphoresem_driver=0,sem_conductor=1;voiddriver()while(true)p(sem_driver);start_bus(); normal_dr
10、iving();station_stop();v(sem_conductor)voidconductor()while(true) p(sem_conductor);open_door(); shut_door();sell_ticket();v(sem_driver)voidmain()parbegin(driver,conductor);第三章1. 在一个有N个进程的单处理机系统中,有可能出现N个进程都被阻塞的情况。 ( )2. 系统处于不安全状态必然导致系统死锁。 ( )3. 当一进程运行时,系统可基于某种原则,强行将其撇下,把处理机分配给其他进程,这种调度方式是(B )A非剥夺方式 B
11、剥夺方式 C中断方式 D查询方式4. 在为多道程序所提供的可共享的系统资源不足时可能出现死锁。但是,不适当的(C )也可能产生死锁。A进程优先权 B资源的线性分配 C进程推进顺序 D分配队列优先权5. 发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏(A )条件是不太实际的。A互斥 B不可抢占 C部分分配 D循环等待6. 在分时操作系统中,进程调度经常采用(C )算法。A先来先服务 B最高优先权 C时间片轮转 D随机7. (B )优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。A先来先服务 B静态 C动态 D短作业8. 某系统中有3个并发进程,都需要同
12、类资源4个,试问该系统不会发生死锁的最少资源数是(B )选临界值,即发生死锁时刻,m个进程,每个进程需要n台机器,(n-1,n-1,n-1n-1)先给m个进程依次分配 n-1台机器,之后这m台机器都去抢夺最后一台机器,进入死锁状态,则总得机器资源数目为:(n-1)*m+1 上面m=3, n=4代入得 10A9 B10 C11 D129. 在下列解决死锁的方法中,属于死锁预防策略的是:(B )A银行家算法 B资源有序分配法 C死锁检测法 D资源分配图化简法10. 资源的按序分配策略可以破坏(D )条件。这样的话,所有进程资源的请求必须严格按照资源递增的次序提出,在所形成的资源分配图中再出现环路,
13、因而破坏了循环等待条件。A互斥使用资源 B占有且等待资源 C非抢占资源 D循环等待资源11. 进程的调度方式有两种,一种是 剥夺方式 ,另一种是 非剥夺方式 在 先来先服务 调度算法中,按照进程进入就绪队列的先后次序来分配处理机。12. 死锁产生的必要条件有四个,即 互斥条件、请求和保持条件、不可剥夺条件、环路等待条件 。13. 银行家算法中,当一个进程提出的资源请求将导致系统从 安全状态 进入 不安全状态时,系统就拒绝它的资源请求。 14. 对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法是属于 避免死锁 ,破坏环路等待条件是属于 预防死锁 ,而剥夺资源是 解除死锁
14、 的基本方法。15. 为什么说多级反馈队列能较好的满足各类用户的需要?答:(1)所有类型的作业都会在很短的时间内启动,用户会获得响应;(2)终端型用户作业、短批处理作业用户,能在较短的时间内完成;(3)系统吞吐率高;(4)长批处理作业,能够最终得到处理。16. 为什么说采用有序资源分配法不会产生死锁?答:为了便于说明,不妨设系统中有m类资源,n个进程,分别用R1,R2,Rm(1,2,m可看作资源编号)和P1,P2,Pn表示。根据有序资源分配法可知,进程申请资源时必须按照资源编号的升序进行,即任何进程在占有了Ri类资源后,再申请的资源Rj的编号j一定大于i。因此在任一时刻,系统中至少存在一个进程
15、Pk,它占有了较高编号的资源Rh,且它继续请求的资源必然是空闲的,因而Pk可以一直向前推进直至完成,当Pk运行完成后即会释放它占有的所有资源;在Pk完成之后,剩下的进程集合中同样会存在一个进程,它占有了较高编号的资源,且它继续请求的资源必然是空闲的,因而它可以一直向前推进直至完成;以此类推,所有进程均可运行完成,故不会发生死锁。17. 某分时系统中的进程可能出现如下图所示的状态变化,回答下列问题:(1)根据图示,该系统采用的是什么进程调度策略?(2)指出图示中的每一个状态变化的原因。18. 在银行家算法中,若出现下述资源分配情况,试问:ProcessAllocationNeedAvailabl
16、eP0003200121622P110001750P213542356P303320652P400140656(1) 该状态是否安全?(2) 若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给他?答:(1)该状态是安全的,这时可以找到一个安全序列:P0、P3、P4、P1、P2设置两个向量工作向量work,它表示系统可提供给进程继续运行所需的各类资源数目,在执行算法开始时,work:=Available,finish,它表示系统是否有足够的资源分配给进程,使其运行完成。所以对上述分配资源情况进行分析如下:ProcessAllocationNeed work work+Al
17、locationfinishP00032001216221654trueP30332065216541986trueP4001406561986199(10)trueP110001750199(10)299(10)trueP213542356299(10)3(12)(14)(14)true(2)若进程P2提出上述请求,系统不能将资源分配给它,因为分配之后系统将进入不安全状态。P2请求资源:P2发出请求向量Request2(1,2,2,2),系统按银行家算法进行检查: Request2(1,2,2,2)Need2(2,3,5,6);Request2(1,2,2,2)Available(1,6,2
18、,2);系统暂时先假定可为P2分配资源,并修改P2的有关数据,如下表:ProcessAllocationNeedAvailableP0003200120400P110001750P225761134P303320652P400140656再进行安全性检查:可用资源Available(0,4,0,0)已不能满足任何进程的需要。系统进入不安全状态,此时系统不分配资源。19. 个进程共享某种资源R,该资源共有个可分配单位,每个进程一次一个的申请或释放资源单位。假设每个进程对该资源的最大需求量均小于,且各进程最大需求量之和小于,试证明在这个系统中不可能发生死锁。答:设max(i)表示第i个进程的最大资
19、源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知:max(1)max(n)=(need(1)need(n)(alloc(1)+alloc(n)mn如果在这个系统中发生了死锁,那么一方面m个资源应该全部分配出去,即alloc(1)alloc(n)=m另一方面所有进程将陷入无限等待状态。由上述两式可得:need(1)need(n)n上式表示死锁发生后,n个进程还需要的资源量之和小于n,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它
20、占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。20. 有一个内存中只能装入两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法。有如下表所示的作业序列,表中所列的优先数是指进程调度的优先数,且优先数越小优先级越高。(1)列出所有作业进入内存的时刻以及结束的时刻。(2)计算作业的平均周转时间。答:分析v10:00,A进入内存,并开始执行;v10:20,B进入内存,抢占A,B开始执行;v10:50,B完成,调D进内存,A再次执行;v 11:10,A完成,调C进内存,C开始执行; 12:00,C完成,D开始执行; 12:20,D完成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 习题 答案 38
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内