第二章进程管理习题及答案
一、填空题
1.进程的静态描述由三部分组成:① 、② 和③ 。
【答案】①PCB、②程序部分、③相关的数据结构集
【解析】PCB是系统感知进程的唯一实体。进程的程序部分描述了进程所要
完成的功能,而数据结构集是程序在执行时必不可少的工作区和操作对象。后两
部分是进程完成所需功能的物质基础。
2.进程存在的标志是。
【答案】进程控制块PCB
【解析】系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌握进程所处的状态以达到控制进程活动的目的。
3.① 是现代操作系统的基本特征之一,为了更好地描述这一特征而
引入了
② 这一概念。
【答案】①程序的并发执行,②进程
【解析】程序的并发执行和资源共享是现代操行系统的基本特征。程序的并
发执行使程序失去了程序顺序执行时所具有的封闭性和可再现性。在程序并发执
行时,程序这个概念不能反映程序并发执行所具有的特性,所以引入进程概念来
描述程序并发执行所具有的特点。
4.给出用于进程控制的四种常见的原语① 、② 、③ 和④ 。【答案】①创建原语、②撤消原语、③阻塞原语、④唤醒原语
【解析】进程控制是系统使用一些具有特定功能的程序段来创建、撤消进程
以及完成进程各状态间的转换,从而达到多个过程高效率地并行执行和协调,实
现资源共享的目的。把那些在管态下执行的具有特定功能的程序段称为原语。
5.进程被创建后,最初处于① 状态,然后经② 选中后进入③ 状态。
【答案】①就绪,②进程调度程序,③运行
【解析】进程的从无到有,从存在到消亡是由进程创建原语和撤消原语完成的。被创建的进程最初处于就绪状态,即该进程获得了除处理机以外的所有资源,处于准备执行的状态;从就绪状态到运行状态的转换是由进程调度程序来完成的。
6.进程调度的方式通常有① 和② 方式两种。
【答案】①可剥夺、②非剥夺
【解析】所谓可剥夺方式,是指就绪队列中一旦有优先级高于当前运行进程
的优先级的进程存在时,便立即发生进程调度,转让处理机。而非剥夺方式则是指:即使在就绪队列中存在有优先级高于当前运行进程的进程,当前进程仍将继
续占有处理机,直到该进程完成或某种事件发生(如I/O事件)让出处理机。
7.轮转法主要是用于① 的调度算法,它具有较好的② 时间,
且对每个进程来说都具有较好的③ 性。
【答案】①分时系统②响应③公平
【解析】所谓轮转调度算法,就是将CPU的处理时间分成固定的时间片,处于就绪状态的进程按一定的方式(如先到先服务FCFS)排成一个队列,该队列中的各进程按时间片轮流占用处理机。这种调度算法主要用于分时系统,因为,分时系统的主要目标就是要让每个用户都能快速地得到系统的服务,响应时间和公平的分配处理机就成为分时系统选择调度算法的主要指标。
8.一个进程的生命期可以划分为一组状态,一个进程可能具有① 基本状态。这几种状态是② 、③ 、④ 。
【答案】①三种,②运行状态,③就绪状态,④等待状态
【解析】在操作系统中,用状态来刻划进程的生存周期。当一个进程获得了除处理机以外的所有资源时,该进程处于就绪状态;当一个进程不但得到了其他资源而且正在处理机上运行时,该进程处于运行状态;而运行状态的进程因某事件发生(如申请I/O)便处于暂时等待状态。
二、单项选择题
1.在下列叙述中,错误的一条是。
(A)操作系统是用户与计算机之间的接口
(B)程序的并发执行,使程序失去了顺序执行时具有的封闭性和可再现性,程序与程序的执行不再一一对应
(C)进程从一个状态到另一个状态的转换,都是靠使用不同的原语来实现的
(D)在单CPU的系统中,任何时刻处于就绪状态的进程有多个,而且只有处于就绪状态的进程经调度程序选中后才可进入运行状态
【答案】(C)
【解析】从用户的角度看,操作系统是用户使用计算机的桥梁,用户通过操作系统的两类接口来达到操纵计算机的目的。叙述(A)正确。
选项(B)的叙述也是正确的,因为这正是引入进程概念的原因。
进程从一个状态到另一个状态的转换是一个非常复杂的过程,除了要使用不同的原语外,有时还要借助于硬件触发器才能完成。例如,UNIX系统中,从系统态到用户态的转换要借助硬件触发器。因此,叙述(C)错误。
处于就绪状态的进程已经获得了除CPU之外的所有资源,由于只有一个CPU,任何时刻就只能有一个进程获得CPU,而其他的就只能在就绪状态对应的队列上排队等待调度程序的调度。所以叙述(D)也正确。
2.根据服务对象不同,常用的单处理机OS可以分为如下三种类型:(l)允许多个用户在其终端上同时交互地使用计算机的OS称为,它通常采用策略为用户服务。
(2)允许用户把若干个作业提交计算机系统集中处理的OS,称为,衡量这种系统性能的一个主要指标是系统的。
(3)在的控制下,计算机系统能及时处理由过程控制反馈的数据并作出响应。设计这种系统时,首先考虑系统的。
(A)网络OS (B)分步式OS
(C)分时OS (D)时间片轮转
(E)单用户OS (F)批处理OS
(G)可靠性和灵活性(H)吞吐率
(I)优先权分配(J)实时性和可靠性
(K)短作业优先(L)实时OS
(M)用磁带的和不用磁带的作业搭配
【答案】(l)(C)、(D);(2)(F)、(H);(3)(L)、(J)
3.进程调度是从选择一个进程投入运行。
(A)就绪队列(B)等待队列
(C)作业后备队列(D)提交队列
【答案】(A)
【解析】处于就绪队列的进程是获得了除处理机以外的所有资源处于准备执行的状态。进程调度就是负责从就绪队列中挑选进程投入运行。
4.在下列叙述中,正确的一条是。
(A)分时系统中,时间片越小,响应时间越长
(B)多道程序的引入,主要是为了提高CPU及其它资源的利用率
(C)飞机票计票系统是分时系统
(D)PCB是进程存在的唯一标志,而程序是系统感知进程存在的唯一实体【答案】(B)
【解析】分时系统的响应时间T≈nq, n是用户数目,而 q是时间片。当在用户数目一定的情况下,时间片越小,响应时间越短。因此,选项(A)错误。
在单道程序环境中,系统的全部资源为一个作业所独占,如果该作业在进行输入或输出时,CPU仍然被它所占有,处于等待状态。由于CPU与外设处理速度上的差异,如果采用多道程序设计技术,当某个作业输入或输出时,CPU就可处理其他的作业,其它资源也是类似的。选项(B)正确。
飞机票订票系统是实时信息处理系统。所以,选项(C)错误。
PCB是进程存在的唯一标志,也是系统感知进程存在的唯一实体。而进程的程序部分描述了进程所要完成的功能。选项(D)错误。
5.一个进程被唤醒,意味着。
(A)该进程重新占有了CPU (B)进程状态变为就绪
(C)它的优先权变为最大(D)其PCB移至就绪队列的队首
【答案】(B)
【解析】进程被唤醒是进入就绪队列。是否插入到就绪队列的什么地方,取决于就绪的管理方法和进程调度的算法。如果进程调度是最高优先数优先,该进程按优先数插入该队列中;如果该队列是按到达的先后次序排列的,则按到达的先后插入。
6.进程和程序的本质区别是。
(A)存储在内存和外存(B)顺序和非顺序执行机器指令
(C)分时使用和独占使用计算机资源(D)动态和静态特征
【答案】(D)
【解析】程序是指令的集合,而进程是可以和其它程序并发执行的程序的一次执行过程。程序可以作为资料长期保存,而进程有从产生到消亡的过程。
7.某进程所要求的一次打印输出结束,该进程被① ,进程的状态将从② 。
(A)阻塞(B)执行
(C)唤醒(D)运行状态到阻塞状态
(E)就绪到运行(F)阻塞到就绪
(H)运行到就绪
【答案】①(C),②(F)
【解析】当某进程在进程输入/输出时,进程的状态是处于阻塞或等待状态,输入/输出完成后,进程被唤醒,其状态将从阻塞变为就绪。
8.系统感知进程的唯一实体是。
(A)JCB (B)FCB
(C)PCB (D)SJT
【答案】(C)
【解析】进程控制块PCB是进程存在的唯一标志。
9.一进程在某一时刻具有。
(A)一种状态(B)两种状态
(C)三种状态(D)四种状态
【答案】(A)
【解析】进程可能处于就绪、运行、等待三种基本状态,但进程在任一时刻只能处于一种状态。
10.进程从运行状态变为等待的原因可能是。
(A)输入/输出事件发生(B)时间片到
(C)输入/输出事件完成(D)某个进程被唤醒
【答案】(A)
【解析】正在运行的进程如果要申请输入或输出,这时进程的状态将从运行变为等待,将CPU让出,等待输入或输出完成。
11.进程创建原语的任务是。
(A)为进程编制程序(B)为进程建立PCB表
(C)为进程分配CPU (D)为进程分配所需的各种资源
【答案】(B)
【解析】进程存在的标志是进程控制块,所以创建进程就是要创建PCB,并将有关参数填入PCB中。
12.进程被创建后即进入排队。
(A)阻塞队列(B)就绪队列
(C)缓冲队列(D)运行队列
【答案】(B)
【解析】进程创建后,按就绪队列的排列顺序插入其中,等待进程调度程序的调度。
13.多道程序系统中,的作用是从就绪状态中挑选一个进程投入运行。
(A)作业调度(B)交换调度
(C)进程调度(D)SPOOLING调度
【答案】(C)
14.多道系统环境下,操作系统分配资源是以为基本单位。
(A)作业(B)指令
(C)程序(D)进程
【答案】(D)
【解析】多道环境下,程序这个概念已经难于反映程序并发执行的特点,所以,在多道环境下,为了更好地描述程序并发执行的特点,引入了进程的概念。进程是在多道环境下资源分配的基本单位。
15.一个进程是由三部分组成的即、
和。
【答案】程序、数据、进程控制块(PCB)
【解析】所谓“进程”是具有一定独立功能的程序关于某个数据集合上的一次运行活动,因此进程中包含:程序和数据,但这样一个动态过程还需要有内存的一块区域(PCB)来登记进程的有关状态、环境等信息。
16.进程调度主要负责。
(A)选作业进入内存(B)选一进程占有CPU
(C)建立一进程(D)撤消一进程
【答案】(B)
17.“可抢占”和“不可抢占”的优先级调度算法相比。
(A)前者开销小(B)前者开销大
(C)两者开销大致相同(D)两者开销不能相比
【答案】(B)
【解析】因为“可抢占”优先级调度始终保证在处理机上运行的是优先级最高的进程,这样,当处理机正在运行某个进程时,很可能会被其他优先级更高的进程“抢占”引起处理机调度,和“不可抢占”算法相比,前者的调度次数会更频繁,而每调度一次都会引起保护现场、恢复现场的工作,所以“可抢占”的优先级调度算法开销更大。
18.中断扫描机构是扫描一次中断寄存器。
(A)每隔一个时间片(B)每条指令执行周期内最后时刻(C)每当进程释放CPU(D)每产生一次中断
【答案】(B)
【解析】处理器执行完一条指令后,硬件的中断装置(中断扫描机构)立即检查有无中断事件发生,若无中断事件发生,则处理机继续执行下面的指令;若有中断事件发生,则暂停现行进程的运行,而让操作系统中的中断处理程序占用处理器,这一过程称为“中断响应”。
19.一个进程获得了除CPU以外的所需资源,则该进程可能处于状态。
(A)运行(B)就绪
(C)等待(D)(B)和(C)
【答案】(B)
【解析】处于就绪状态的进程,只要获得处理机(被进程调度选中),即可变为运行状态。
20.保护现场是指将现场信息保存至。
(A)磁盘 (B)各相应的寄存器
(C)进程的PCB中 (D)内存系统区
【答案】(C)
【解析】进程控制块(PCB)是记录进程有关信息的一块主存,其中包括该进程的中断现场保护区,它是进程存在的唯一标识。
三、多项选择题
1.进程所具有的基本状态包括_________。
(A)后备状态(B)运行状态
(C)完成状态(D)就绪状态
(E)等待状态
【答案】BDE
【解析】进程是操作系统中的一个最基本、最重要的概念,所谓进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动。它实际上是对“程序”在系统中运行活动的描述。进程在它存在过程中,其状态处于不断地变化中,通常一个进程至少有三种不同的状态:运行状态、就绪状态、等待状态,并且在这三种状态下不断地变化。所以,选择(B)、(D)、(E)。
2.进程所具有的基本特征包括_________。
(A)动态性(B)顺序性
(C)并发性(D)封闭性
(E)异步性
【答案】ACE
【解析】进程具有的特征包括:动态性、并发性和异步性,而“顺序性”和“封闭性”都不是进程具有的特征。所以,选择(A)、(C)、(E)。
3.一个进程通常包括_________。
(A)程序(B)作业说明书
(C)数据(D)运行日志
(E)进程控制块(PCB)
【答案】ACE
【解析】一个进程由三部分组成:程序、数据及进程控制块(PCB)。进程控制块是记录进程有关信息的一块主存,是进程存在的程序唯一标识。所以,选择(A)、(C)、(E)。
4.运行状态的进程由于某种原因可能变为_________。
(A)就绪状态(B)等待状态
(C)后备状态(D)完成状态
(E)活跃状态
【答案】AB
【解析】运行状态的进程有可能由于时间片到而变为“就绪状态”;也有可能由于等待某事件的发生而变为“等待状态”。“后备状态”、“完成状态”、“活跃状态”都不是进程的状态。所以,选择(A)、(B)。
5.进程调度算法中,可以设计成“可抢占式”的算法有_________。
(A)先来先服务调度算法(B)优先数调度算法
(C)最高响应比优先(D)时间片轮转调度算法
(E)最短作业优先
【答案】BD
【解析】常用的进程调度算法有先来先服务、优先数、时间片轮转及多级调度等算法。而先来先服务调度算法是“非抢占式”的;“优先数调度算法”可以是“非抢占式”的,也可以是“抢占式”的;“时间片轮转调度算法”是一种“抢占式”的。算法“最高响应比优先”、“最短作业优先”适用于作业调度,而不适于进程调度。所以选择(B)、(D)。三种进程调度算法的含义如下:
(-)先来先服务调度算法
这种调度算法是按照进程进入就绪队列的先后次序选择可以占用处理器的进程。当有进程就绪时,把该进程排入就绪队列的末尾,而进程调度总是把处理器分配给就绪队列中的第一个进程。一旦一个进程占有了处理器,它就一直运行下去,直到因等待某事件或进程完成了工作才让出处理器。
(二)优先数调度算法
对每个进程确定一个优先数,进程调度总是让具有最高优先数的进程先使用处理器。如果进程具有相同的优先数,则对这些有相同优先数的进程再按先来先服务的次序分配处理器。就绪队列中进程可按优先数从大到小排列,这样,进程调度也总是把处理器分配给就绪队列中的第一个进程。
进程被创建时系统为其确定一个优先数,进程的优先数可以是固定的,也可随进程的执行过程而动态变化。
优先数调度算法分为“非抢占式”的与“可抢占式”的两种。
(三)时间片轮转调度算法
系统规定一个“时间片”的值。调度算法让就绪进程按就绪的先后次序排成队列,每次总是选择就绪队列中的第一个进程占用处理器,但规定只能使用一个“时间片”。如果一个时间片用完,进程工作尚未结束,则它也必须让出处理器而被重新排到就绪队列的末尾,等待再次运行,当再次轮到运行时,重新开始使用一个新的时间片。这样,就绪队列中的进程就依次轮流地占用处理器运行。6.从中断事件的性质来说,一般中断包括_________。
(A)硬件故障中断(B)程序中断
(C)外部中断(D)输入输出中断
(E)访管中断
【答案】ABCDE
【解析】不同硬件结构的计算机,它们的中断源不尽相同。但从中断事件的性质来说,一般可以分成下述几类:硬件故障中断、程序中断、外部中断、输入输出中断、访管中断。所以选择(A)、(B)、(C)、(D)、(E)。
前面四类中断是由于外界的原因迫使正在运行的进程被打断,因此可称为强迫性中断事件。而第五类中断是正在运行的进程所期待的,可称为自愿性中断事件。7.在下列叙述中,错误的是。
(A)分时系统中,时间片越小,响应时间越长
(B)多道程序的引入,主要是为了提高CPU及其它资源的利用率
(C)飞机票订票系统是分时系统
(D)PCB是进程存在的唯一标志,而程序是系统感知进程存在的唯一实体(E)通常在处理器执行完一条指令后,硬件的中断装置立即检查有无中断事件发生
【答案】ACD
【解析】分时系统的响应时间T≈nq, n是用户数目,而 q是时间片。当在用户数目一定的情况下,时间片越小,响应时间越短。因此,选项(A)错误。
在单道程序环境中,系统的全部资源为一个作业所独占,如果该作业在进行输入或输出时,CPU仍然被它所占有,处于等待状态。由于CPU与外设处理速度上的差异,如果采用多道程序设计技术,当某个作业输入或输出时,CPU就可处理其他的作业,其它资源也是类似的。选项(B)正确。
飞机票订票系统是实时信息处理系统。所以,选项(C)错误。
PCB是进程存在的唯一标志,也是系统感知进程存在的唯一实体。而进程的程序部分描述了进程所要完成的功能。选项(D)错误。
通常在处理器执行完一条指令后,硬件的中断装置立即检查有无中断事件发生,若有中断事件发生,则暂停现行进程的运行,而让操作系统中的中断处理程序占用处理器,这一过程称为“中断响应”。选项(E)正确。
8.在下列叙述中,正确的是_________。
(A)进程之间的状态变化,一定在PCB中反映出来
(B)当进程完成I/O后,进程的状态由等待变为运行
(C)中断屏蔽是不允许发生中断
(D)O.S的特征之一为并行性,所谓并行性是指多个进程同时处于运行状态(E)中断屏蔽是暂时不响应中断
【答案】AE
【解析】
PCB中记录了进程当前的状态,所以进程之间的状态变化,在 PCB中一定有记录。选项(A)正确。
当进程完成I/O后,进程的状态变为就绪,何时运行由进程调度程序决定。选项(B)错误。
中断屏蔽期间允许发生中断,但暂时不响应。选项(C)错误,选项(E)正确。所谓并行性是指多个作业同时处于运行状态,这是一种宏观上的并行,对于进程来说,还是按处理机调度交替地(轮流)占有处理机。选项(D)错误。
所以,选择(A)、(E)。
9.可以做为进程调度算法的有_________。
(A)先来先服务调度算法(B)时间片轮转调度算法
(C)最高优先级调度算法(D)响应比高者优先调度算法
(E)均衡调度算法
【答案】ABC
【解析】参见前面的第5题解析。
10.影响时间片轮转调度算法对进程响应时间的因素有________。
(A)内存容量(B)时间片值的选取
(C)外存容量(D)交互进程的数量
(E)IO设备的速度
【答案】BD
【解析】分时系统的响应时间T可以表达为:T≈QxN,其中Q是时间片,而N 是交互进程数量。因此,对进程响应时间的因素主要有:“时间片值的选取”和“交互进程的数量”。当时间片一定,交互进程的数越多(即N越大),T就越大。所以选择(B)、(D)。
11.________可能会引起处理机从一个进程转到另一个进程。
(A)一个进程从运行状态变为等待状态
(B)一个进程从运行状态变为就绪状态
(C)一个就绪状态进程的优先级降低
(D)一个进程运行完成而撤离系统
(E)一个就绪状态进程的优先级升高
【答案】ABDE
【解析】当一个就绪状态进程的优先级降低时,不会引起处理机从一个进程转到另一个进程。因此,不能选择C,其它情况都可能引起处理机在不同进程之间的转换。所以,本题应该选择(A)、(B)、(D)、(E)。
四、是非判断题
1.进程之间的状态变化,一定在PCB中反映出来。()
【答案】正确。
【解析】 PCB中记录了进程当前的状态,所以进程之间的状态变化,在 PCB中一定有记录。
2.当进程完成I/O后,进程的状态由等待变为运行。()
【答案】错误。
【解析】当进程完成I/O后,进程的状态变为就绪,何时运行由进程调度程序决定。
3.中断屏蔽是不允许发生中断。()
【答案】错误
【解析】中断屏蔽期间允许发生中断,但暂时不响应。
4.O.S的特征之一为并行性,所谓并行性是指多个进程同时处于运行状态?()
【答案】错误
【解析】所谓并行性是指多个作业同时处于运行状态,这是一种宏观上的并行,对于进程来说,还是按处理机调度交替地(轮流)占有处理机。
五、简答题
1.设有三个进程A,B,C,进程A和进程B各需要运行3毫秒的处理器时间,而进程C却要24毫秒的处理器时间,分别考虑当三个进程到达顺序为A,B,C 时及C,B,A时,用先来先服务进行调度时各自的平均等待时间。
【解析】
当三个进程到达顺序为A,B,C时,按照先来先服务的顺序,进程A先占用处理器,进程B需等待3毫秒后才能去占用处理器,进程C在等待6毫秒的时间后可以占用处理器。于是,它们的平均等待时间为(0+3+6)/3=3毫秒。
如果进程是按 C,B,A的次序排入队列,则进程C先占用处理器运行24毫秒后才能让进程B占用,即进程B需等待24毫秒,而进程A在等了27毫秒后才可占用处理器,现在这三个进程的平均等待时间为(27+24+0)/3=17毫秒。可见当运行时间长的进程先就绪的话,先来先服务算法使系统效率受到影响。
2.什么是“抢占式优先级调度”和“非抢占式优先级调度”?
【解析】
采用“非抢占式”调度时,一旦有某个高优先数的进程占用了处理器,就一直让它运行下去直到该进程由于自身的原因主动让出处理器或进程执行结束而让出处理器。此时,进程调度才重新再按优先数选择另一个占用处理器的进程。采用“可抢占式”的调度,这种方式是严格保证任何时刻,总是让具有最高优先数的进程在处理器上运行。也就是说,当某一进程在处理器上运行时,一旦有另一个更高优先数的进程就绪,进程调度就要剥夺正在处理器上运行的进程使用处理器的权力,抢回分配给它的处理器,而把处理器让具有更高优先数的进程使用。
这种抢占式的优先数调度算法在实时系统中很有用。例如,在实际系统中可把处理紧急情况的报警进程赋予最高优先数,一旦有紧急事件发生时,触发报警进程就绪,进程调度就让这个报警进程抢占处理器进行紧急处理和发出警告信号。
3.时间片轮转调度算法中,时间片值的选取对系统有什么影响?
【解析】
时间片取值的大小关系到计算机系统的效率和用户的满意度,所以,时间片的值应根据进程要求系统给出应答的时间和进入系统的进程数来决定。如果要求系统快速应答则时间片小一些,这样使轮转一遍的总时间减少而可对进程尽快应答。如果进程数少,则时间片可以大一些,这样可减少进程调度的次数,提高系统效率。
对每个进程可规定相同的时间片,但有的系统对不同的进程规定不同的时间片,例如,对很少使用外围设备而需要运算时间长的进程,给一个大一些的时间片,以达到减少调度次数,加快进程执行速度的目的。但应注意到,时间片值过大时该算法退化为先来先服务;时间片值过小时,加重系统开销。
4.引起“进程切换”的时机有哪些?
【解析】
我们把处理机从一个进程转到另一个进程称为“进程切换”。引起“进程切换”的时机有以下几种情况:
(1)一个进程从运行状态变为等待状态。
(2)一个进程从运行状态变为就绪状态。
(3)一个进程从等待状态变为就绪状态。
(4)一个进程运行完成而撤离系统。
5.中断分为哪几种类型,给出各自的含义。
【解析】
(1)硬件故障中断。它是由于机器故障造成的,例如,电源故障、主存出错等。
(2)程序中断。这是由于程序执行到某条机器指令时可能出现的各种问题而引起的中断,例如,发现定点操作数溢出、除数为“0”、地址越界、使用非法指令码、目态下的用户使用了特权指令等。
(3)外部中断。这是由各种外部事件引起的中断,例如,按压了控制板上的一个中断键、设置的定时时钟的时间周期到。
(4)输入输出中断。输入输出控制系统发现外围设备完成了输入输出操作或在执行输入输出操作时通道或外围设备产生错误而引起的中断。
(5)访管中断。它是正在运行的进程为了请求调用操作系统的某个功能而执行一条“访管指令”所引起的中断。例如,用户要求分配一台外围设备、要求分配一些主存区域。要求启动外围设备读一批数据等。
6.给出中断响应的系统流程。
【解析】
每一个程序都要有一个程序状态字(PSW)来刻画本程序的执行状态,在单处理器的计算机系统中整个系统设置一个用来存放当前运行进程的PSW的寄存器,该寄存器称为“程序状态字寄存器”。为了说明中断响应过程,我们区分三种PSW:
(1)存放在程序状态字寄存器中的PSW是当前正占用处理器的进程的PSW,称“当前PSW”。
(2)出现中断事件后,要由操作系统的中断处理程序占用处理器,让中断处理程序处理出现的中断事件。我们把中断处理程序的PSW称“新PSW”,新PSW 中存放着中断处理程序的入口地址。
(3)中断处理程序在占用处理器前,必须把被中断进程的PSW保护好,以便该进程在适当的时候能使被中断时的情况继续执行。把保护好的被中断进程的PSW称“旧PSW”。
当中断装置发现中断事件后,首先把出现的中断事件存放到程序状态字寄存器中的中断码位置,然后把程序状态字寄存器中的“当前PSW”作为“旧PSW”存放到预先约定好的主存固定单元中保护起来,再把已经确定好的操作系统处理程序的“新PSW”送到程序状态字寄存器,成为“当前PSW”,这一过程称“交换PSW”。中断装置通过交换PSW使被中断进程让出处理器,且使处理器按照中断处理程序的“新PSW”控制执行。于是,中断处理程序就占用了处理器,它先从保存好的旧PSW中取出中断码,分析发生的具体事件,从而可完成对中断事件的处理。
一个进程占有处理器运行时,可以由于各种不同的事件发生而被中断。对各类不同的事件操作系统的处理是不同的,一般来说,对每一类事件都要有该类事件的处理程序,每一类处理程序都有一个“新PSW”。中断装置发现中断事件后应按中断事件类让相应的中断处理程序占有处理器,为此,可预先约定一些主存固定单元用来分别存放各类中断处理程序的“新PSW”和由于各种不同原因被
中断的进程的“旧PSW”,发生哪类中断事件就交换哪一类的新、旧PSW。具体处理过程如下:
中断装置发现中断事件后把中断事件存入程序状态字寄存器中当前PSW的中断码位置;
把当前PSW保存起来,根据发生的事件类找出事件对应的旧PSW位置(假设发生的是外部中断事件),把当前PSW保存到该位置上;
把该类事件处理程序的新PSW送入程序状态字寄存器,处理器就按这个新PSW
控制处理该事件的中断处理程序执行。
7.给出不同中断事件的中断处理程序的处理。
【解析】
各类中断事件的处理原则大致如下:
(1)硬件故障中断事件的处理
排除这类故障必须进行人工干预,因此处理这类事件只能是输出一些故障信息。例如,当主存储器的奇偶校验或海明校验装置发现主存储器读写错误时,产生故障中断事件,中断处理程序要把访问该主存单元的进程状态改成“等待干预”,向操作员报告出错主存单元的地址和错误性质。待操作员排除故障后重新启动进程,使“等待干预”状态的进程变成“就绪”状态。
(2)程序中断事件的处理
程序中断事件往往与程序的具体编制有关,不同的用户对出现的事件可以有不同的处理要求,所以,中断处理程序可把出现的事件转交给用户自行处理。如果用户对发生的事件没有提出处理办法,那么操作系统就把发生事件的进程名、程序断点、事件性质等报告给操作员。
(3)外部中断事件的处理
用户可以用控制板上的中断键请求调用操作系统的某个特定功能。所以,当按压了一个中断键产生一个外部中断事件时,处理该事件的程序根据中断键的编号把处理转交给一个特定的例行程序。时钟是操作系统进行调度工作的重要工具,在UNIX系统中,硬件按电源频率每隔20毫秒产生一次中断请求。处理程序累计时钟中断次数用来调整日历时钟时间。只要在开机时置好开机时刻的年、月、日、时、分、秒,以后根据时钟中断的次数可计算出当前的时间。也可把时钟作为定时闹钟,先确定一个定时时间,只要把当前的日历时钟时间与定时的时间相加就得到唤醒时间,处理程序每隔一段时间(例如1秒钟)把日历时钟时间与唤醒时间比较,当日历时钟时间>=唤醒时间,就表示定时的时间到了,起到闹钟的作用。
(4)输入/输出中断事件的处理
I/O中断通常包括:I/O正常结束和I/O错误,不同的情况系统采用不同的处理方法,详见第五章的介绍。
(5)访管中断事件的处理
这类中断事件表示正在运行的进程要调用操作系统的功能,中断处理程序可设置一张“系统调用程序入口表”,中断处理程序按系统调用类型号查这张入口表,找到相应的系统调用程序的入口地址,把处理转交给实现调用功能的程序执行。
综上所述,在多数情况下,中断处理程序只需作一些保护现场。分析事件性质等原则性的处理,具体的处理可由适当的例行程序来完成。因此,中断处理程序可以创建一些处理事件的进程,具体的处理就由这些进程来实现。
8.给出系统总体上的中断处理过程。
【解析】
CPU每执行完一条指令就去扫描中断寄存器,检查是否有中断发生,若没有中断就继续执行下条指令;若有中断发生就转去执行相应的中断处理程序。中断处理过程可粗略的分为以下四个过程:
(1)保护当前正在运行程序的现场。
(2)分析是何种中断,以便转去执行相应的中断处理程序。
(3)执行相应的中断处理程序。
(4)恢复被中断程序的现场。
9.进程控制块(PCB)中应该包括哪些内容,其作用是什么?
【解析】
进程控制块是用以记录进程有关信息的一块主存,其中登记着诸如:进程标识、进程状态、优先级、中断现场保护区、所占资源等信息。它是由系统为每个进程分别建立的,并且在进程结束其生命期时由系统将相应的PCB撤消,PCB是进程存在的标识。
10.进程在系统中有哪几种基本状态,状态如何发生变化?
【解析】
通常一个进程至少有三种不同的状态:运行状态、就绪状态、等待状态。
(1)运行状态(Running):当一个进程正在处理机上运行时,称其处于运行状态。
(2)就绪状态(Ready):当一个进程具备了运行条件,一旦获得处理机即可运行,称此进程处于就绪状态。
(3)等待状态(Blocked):当一个进程由于等待某事件的发生(如I/O完成)而不能运行时,称此进程处于等待状态。
当一个进程被建立时,通常处于就绪状态,三种状态的转换过程可以由下图描述。
11.进程具有哪些基本特征?
【解析】
(1)动态性:进程包含了程序及相应的数据集合,执行过程中其状态处于不断地变化。
(2)并发性:系统中各进程交替占用CPU,它们是并发执行的。
(3)异步性:各进程都以不可预知的速度向前推进。
六、综合应用题
1.某系统中进程有如下的状态变化图:
请回答下列问题:
(1)该系统采用了怎样的进程调度算法?说明理由。
(2)把图中发生①-④的状态变化原因填入下表中。
变化变化原因
①
②
③
④
【参考答案】
(1)该系统采用的是“时间片轮转调度算法”。
该调度算法让就绪进程按就绪的先后次序排成队列,每次总是选择就绪队列中的第一个进程占用处理器,但规定只能使用一个“时间片”。如果一个时间片用完,进程工作尚未结束,则它也必须让出处理器而被重新排到就绪队列的末尾,等待再次运行,当再次轮到运行时,重新开始使用一个新的时间片。这样,就绪队列中的进程就依次轮流地占用处理器运行。
(2)
变化变化原因