您现在的位置:学赛首页 > 自考学院 > 操作系统原理 > 正文
操作系统概论习题解答之-处理器管理
http://www.educity.cn 作者:不详 来源: 2006年8月22日 发表评论 进入社区

第2章  习题解答

1.什么是多道程序设计?为什么要采用多道程序设计?
答:让多个算题同时进人一个计算机系统的主存储器并行执行,这种程序设计方法称为“多道程序设计”。 对具有处理器与外围设备并行工作能力的计算机采用多道程序设计后,能充分发挥处理器的使用效率,增加单位时间内的算题量,提高整个系统的效率。

2.进程有哪些基本状态?画出进程基本状态变化图。
答:进程在生命周期中,有三个基本的状态,任何一个进程被创建之后,在其生命周期内的任一个时刻,它总是处于这三个基本从态中的一个状态中,且仅处在一个状态中。
这三个基本状态分别是:
①就绪态。处于这个状态的进程等待分配处理器以便运行。
②运行态。处于这个状态的进程占有处理器正在运行。
③等待态。处于等待态的进程是那些因为等待某个事件的完成而从运行态退出的进程。
进程基本状态的转换如图2-3。

3.列举进程状态发生变化的事件。
答:引起就绪态=>运行态的变迁的事件有:
①正在运行的进程时间片到而进入就绪队列。
②正在运行的进程因为等待某个事件而转入等待状态时。
③正在运行的进程出现故障或正常完成时。
④就绪队列中出现更高优先数的进程抢占CPU时。
引起运行态=>就绪态的变迁的事件有:
①正在运行的进程时间片到,由执行转人就绪。
②CPU被高优先数的进程抢占,正在运行的进程被迫转人就绪。
引起运行态_等待态的变迁的事件:
正在运行的进程等待某种事件的发生时。如一个进程运行中启动了外围设备,等待外围设备传输;进程在运行中申请资源(主存空间、外围设备)得不到满足变成等待状态;进程在运行中出现了故障(程序错、主存错等)变成等待干预状态。
引起等待态=>就绪态的变迁的事件:
正在等待的事件完成时,等待态的进程被唤醒。如外围设备工作结束,使等待外围设备传输结束等待;等待的资源得到满足(另一进程归还);故障排除后等待干预的进程结束等待。

4.解释中断、中断源。
答:由于某些事件的出现,中止现行进程的执行,而转去处理出现的事件,等适当的时候让被中止的进程继续运行的过程称为中断。引起中断的事件称“中断源”。

5.硬件发现中断事件后应做哪些工作?
答:中断装置发现中断事件后,首先把出现的中断事件存放到程序状态字寄存器中的中断码位置,然后把程序状态字寄存器中的“当前PSW”作为“旧PSW”存放到预先约定好的主存固定单元中保护起来,再把已经确定好的操作系统处理程序的“新PSW”送到程序状态字寄存器,成为“当前PSW”,这一过程称“交换PSW”。中断装置通过交换PSW使被中断进程让出处理器,且使处理器按照中断处理程序的“新PSW”控制执行。于是中断处理程序就占用了处理器,它先从保存好的旧PSW中取出中断码,分析发生的具体事件,从而可完成对中断事件的处理。

6.中断处理程序应做哪些主要工作?
答:中断处理程序应做的主要工作:
①保护尚未被硬件保护的现场信息,如通用寄存器内容,控制寄存器内容。
②设置中断屏蔽,使硬件只能响应比当前级别高的中断事件,而不响应其他事件。
③按不同中断事件进行不同处理。
④对事件处理结束后,转向进程调度程序。由进程调度程序去选择一个可以运行的进程。

7.在一个单处理器多道程序设计系统中,现有两道作业在同时执行,一道以计算为主,另一道以输人输出为主,你将怎样赋予作业进程占有处理器的优先级?为什么?
答:应该让输人输出为主的作业具有较高的优先级。当这种作业先占用处理器执行时,因常常要启动外围设备,一旦启动外围设备,它就会让出处理器,另一道作业就可占用处理器,使处理器和外围设备都处于忙状态。

8.假定就绪状态的进程按其优先数自小到大顺序排成队列,当有一进程要进入就绪队列时,应按照它的优先数排在相应的位置上,试写出进程入队程序。
答:将就绪进程的进程控制块按照从小到大顺序排成队列,当一进程就绪时,应把它的进程控制块按优先数插入就绪队列。考虑单向链接方式,入队过程如下:
var head,p,q,addpcb:link;
begin
   if head=nil
   then begin
     head:=addpcb;
     head ↑.next:= nil
   end;
   else begin
        P:=head;
        while P<> nill and addpcb ↑.Pri <=P ↑.pri
        do begin
           q:=p;
           p:=p↑.next
        end;
        q↑.next:=addpcb;
        add ↑.next:= p
    end;
end ;

9.什么叫进程调度?进程调度怎样使被选中的进程能占用处理器。
答:在多道程序设计的系统中,往往同时有多个进程处于就绪状态,它们都要求得到处理器运行。单处理器的计算机系统中,每一时刻只能让一个进程占用处理器,操作系统按照某种调度算法从就绪队列的进程中选择一个进程,让选中的进程占用处理器运行。这一过程称为进程调度。由于进程调度是把处理器分配给一个被选中的进程,所以,有时也把进程调度程序称为处理器调度。进程设计通过将选中进程的进程控制块中有关的现场信息,如通用寄存器、控制寄存器和程序寄存器的内容送入处理器相应的处理器中,来使该进程占有处理器。

10.在分时系统中采用“时间片轮转”的调度策略有什么优越性?
答:在分时系统中的每个终端用户都希望系统能及时地响应自己的各种请求,采用时间片轮转的调度策略,使系统在一定的时间里轮流为用户服务,使每个用户感到好像只有自己一人在使用计算机系统。为了使用户得到满意的服务,设计分时系统必须考虑如何确定时间片的长短,以及可同时接收的终端用户的个数。