参考答案:
【问题1】
所谓抢占式,指按照一定的规则(例如优先数),在每次中断处理结束后进行调度,选择条件最优的进程投入运行;
所谓非抢占式调度是指,进程一旦被调度,就将一直运行,除非由于自身原因不能运行。
【问题2】
B、D、E
【问题3】
运行状态特点:进程占有CPU,正在运行其程序时处于运行态。
就绪状态特点:进程具备了一切运行的条件,但由于CPU正在运行别的进程而使它不能运行时,处于就绪态。
等待状态特点:进程由于自身原因必须等待某个条件的具备,否则不能继续运行时,处于等待态。
(a)某个运行条件不能满足(例如等待资源);
(b)等待条件消失(例如等待的资源已经获得满足);
(c)进程自愿放弃CPU使用权,或被强制剥夺CPU使用权;
(d)就绪队列中的进程获得CPU使用权。
详细解析:
本题考查操作系统中进程、线程以及进程调度等方面的应用知识。
【问题1】
在操作系统初始化时,创建所有进程,进程运行过程中,也可创建子进程。进程调度算法很多,归结为两类,即抢占(剥夺)式和非抢占式。抢占式调度策略,指按照一定的规则(例如优先数),在每次中断处理结束后进行调度,选择条件最优的进程投入运行。非抢占式调度是指,进程一旦被调度,就将一直运行,除非由于自身原因不能运行。
【问题2】
在多进程多线程系统中,处理机调度的最小单位是线程,而不是进程。
线程可定义为进程内的一个执行单位,或者定义为进程内的一个可调度的实体。
进程由一个或一组线程组成;一个线程属于且仅属于一个进程。
进程处于可执行状态时,它的线程可以被调度执行,而处于阻塞状态时,其所有线程均不能执行。
进程的多个线程共享进程的地址空间。
【问题3】
图3-1给出了进程三个状态:运行、就绪、等待之间的切换关系,这三种状态的特点如下:①进程拥有CPU,正在运行其程序时处于运行态;②具备了一切运行的条件,但由于CPU正在运行别的进程而使它不能运行时,进程处于就绪态:③由于自身原因必须等待某个条件的具备,否则不能继续运行时,进程处于等待态。
对于正在运行的进程,当某个运行条件不能满足,例如等待某个资源时,便将CPU让出而转入等待态;当等待条件消失,例如等待的资源已经获得满足,进程从等待态进入就绪态等待调度;处于运行态的进程,如自愿放弃CPU,或被高优先级进程强制剥夺CPU使用权后,从运行态转入就绪态;控制权被释放后,CPU将从就绪队列中选取排在最前面的进程投入运行。就绪队列中获得CPU使用权的进程,便转入运行态。
三种状态的特点如下。
(1)运行态:进程占有CPU,正在运行其程序时处于运行态;
(2)就绪态:进程具备了一切运行的条件,但由于CPU正在运行别的进程而使它不能运行时,处于就绪态;
(3)等待态:进程由于自身原因必须等待某个条件的具备,否则不能继续运行时,处于等待态。
三种状态之间的切换条件分别为:
(1)某个运行条件不能满足(例如等待资源);
(2)等待条件消失(例如等待的资源已经获得满足);
(3)进程自愿放弃CPU使用权,或被强制剥夺CPU使用权;
(4)就绪队列中的进程获得CPU使用权。