赞
踩
本节刷题内容:进程管理
题库来源:408真题,王道教材,百度文库
涉及的知识点:
第一题
解析:在前面我们就强调,进程是运行中的程序,引入进程的目的就是为了动态的研究程序的运行状态。所以进程的动态性和程序的静态性是进程与程序最根本的区别。不多说,课本原话。
第二题
解析:调度是操作系统的基本功能,几乎所有的计算机资源在使用前都要进行调度。而CPU是计算机中最重要的资源,经过进程调度,才把CPU分配给进程。(这是教材的原话)。优先级调度算法分为静态优先级和动态优先级,在动态优先级的算法下,优先级随着进程的推进而不断变化。
对于C,之前有举例子,这种情况仅限于有进程处于运行状态的时候,因为进程有可能死锁,全部阻塞,那么这个时候就没有进程处于运行状态。进程申请处理器的阶段是就绪状态,在就绪队列中等待分配处理机。选A
第三题
解析:这里注意了,系统进程在请求I/O这一阶段,是被阻塞了,因为它这个时候要等待I/O的结果,相当于运行期间缺少了某种资源(I/O结果)。所以它被阻塞,等I/O完成后,该进程得到了想要的资源,但是不能直接进入处理机中运行,而是投入就绪队列中,等待运行。故选D
第四题
解析:多对一的模型如图,它们共用一个内核级进程,当其中的一个线程阻塞的时候,内核里面的进程也会得不到线程的结果而被阻塞,这样导致其他的线程都统统阻塞。这也是多对一模型最致命的缺陷。所以,选B
第五题
解析:先看21,我们知道进程的运行在经过创建PCB。PCB里面有标记进程的ID。所以,同一个程序,每次创建的进程,其标识符一定不同,PCB不同就意味着它不是同一个进程。但是对比系统库中的系统线程,他们是一组专门用来公用的线程。其实质就是我们之前提到的线程池。所以不管谁调用它,它都是一样的线程(比如处理键盘输入事件的线程)。所以选A,B
第六题
解析:课本原话,引起进程创建的主要原因有:用户登录,新作业进入调度,提供服务和应用请求。设备分配只是填写相关额设备分配表,不涉及进程切换等内容。
第七题
解析:在使用线程的系统里,进程是资源分配的单位,线程是调度的基本单位,这也就意味着线程是可以独立运行的。但是它一定要在进程的范围内运行,因为是靠共享进程内的数据运行的。引入线程的目的,是为了减少并发执行所付出的代价时间和空间代价使得操作系统具有更好的并发性。一个人进程至少可以含有一个线程。选B
第九题
解析:降低进程的优先级势必会推迟进程的运行。当时间片用完的时候,说明这是个长作业,那么就不应该让它长期占用CPU,使得其他的短进程得不到执行。所以这个情况应该降低其优先级,将其投入就绪队列中。进程刚刚完成I/O操作,说明资源准备就绪,那么在就绪队列中等待就行。而长期处于就绪队列的进程,反而应该提高其优先级,不能让它长期处于饥饿状态。选A
第十题
解析:对磁盘的读写操作,就是I/O操作的一种,当I/O操作完成后,应该从阻塞进入就绪状态。选A(跟第三题一样)
第十一题
解析:执行P操作,申请内存,请求I/O,都意味着申请资源或者资源不足,所以这个时候系统进入阻塞状态。对于D的解释看第九题。
第十二题
解析:进程调度的时机跟进程的特点及其调度算法有关。
第十三题
解析:对于时间片轮转调算法,考虑的是执行时间,即如何确定时间片的大小问题。短作业优先也是考虑的执行时间,时间较短的优先执行。FCFS算法,考虑的是等待时间,越早到达的进程越靠前执行。只有高响应比算法综合考虑了这两点,从公式中就可以看出来。
第十四题
解析:进程调度的时机有很多,其中一定会发生的是进程的退出和进程阻塞,可能发生的有新进程的创建,中断的发生,时钟中断,用户态与内核态之间的切换。
第十五题
解析:这两道题问的都是调度算法的特点。要求对之前提到的表格较为熟悉。时间片轮转要看时间片的大小合不合理,合理就是公平的,太大就是FCFS算法,太小就是响应太慢。所以它不满足短作业优先。非抢占式短作业优先可能导致长作业饿死。FCFS算法不会出现饥饿现象,但是它表面上是公平的,不存在短作业优先。所以,选B,A。
第十六题
解析:管程的定义是指一个共享资源的数据结构以及一组能为并发进程在其上执行的,针对该资源的一组操作。这组操作能同步进程和修改管程中的数据。 它的提出是为了更好的解决同步和互斥的问题。所以A错误。
第17题
解析:同步是指并发中的进程要按一定的顺序完成。它们的执行是异步执行,因此可能会造成由于推进的速度不一致而导致结果出现不可再现性,因此要对进程进行同步,即按一定次序执行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。