开发同一作业中不同作业步之间的并发,作业机制已经不能满足需要,因而引入了进程机制。
进程的特点:
动态性:可动态创建,结束,也可是被调度进程 并发性:可以被独立调度,占用处理机运行 独立性:尽量把并发事务安排到不同的进程 制约性:因访问共享数据或进程间同步而产生制约. 与程序的区别:进程是程序的执行过程,程序是静态的,进程是动态的。一个进程至少是一个可执行程序,同一个程序可以由多个进程分别执行。
3.2 进程控制块的作用是什么?PCB中应包括哪些信息?
答:进程控制块的作用是:进程控制块用于保存每个进程和资源的相关信息,包括进程标识、空间、运行状态、资源等信息。以便于操作系统管理和控制进程和资源。
PCB中应包括:1、进程标识信息:本进程的标识、父进程的标识、进程所属用户的标识。2、处理机状态信息。保存进程的运行现场信息,包括用户可用寄存器的信息;控制和状态寄存器的信息;栈指针。
3.4 为什么进程状态会发生变化?何时变化?(P54)
答:进程在它的生存周期中,由于系统中各进程并发运行及相互制约的结果,使得它的状态不断发生变化。 状态变化的时机:
6 / 34
空→创建:当一个新进程被产生来执行一个程序时。 创建→就绪:当进程被创建完成,初始化后,一切就绪准备运行时。
就绪→运行:当处于就绪状态的进程被进程调度程序选中后。
运行→结束:当进程指示它已经完成或者因错流产时。 运行→就绪:处于运行状态的进程在其运行过程中,分给它的处理机时间片用完而让出处理机;或者在可剥夺的操作系统中,当有更高优先级的进程就绪时。
运行→阻塞:当进程请求某样东西且必须等待时。 阻塞→就绪:当进程要等待事件到来时。 3.5 进程创建的主要工作是什么?(P54)
答:进程创建时的主要工作如下:
1、接收进程运行现场初始值,初始优先级,初始执行程序描述,其它资源等参数。
2、请求分配进程描述块PCB空间,得到一个内部数字进程标识。
3、用从父进程传来的参数初始化PCB表。
4、产生描述进程空间的数据结构,用初始执行文件初始化进程空间,建立程序段,数据段、栈段等。
5、用进程运行现场初始值设置处理机现场保护区。造一个进程运行栈帧。
7 / 34
6、置好父进程等关系域。 7、将进程置成就绪状态。
8、将PCB表挂入就绪队列,等待时机被调度运行。 3.7 详细说明几个引起进程调度的原因。(P62)
答:1、进程主动放弃处理机时:
正在执行的进程执行完毕。操作系统在处理进程结束系
统调用后应请求重新调度。
正在执行的进程发出I/O请求,当操作系统代其启动外
设I/O后,在I/O请求没有完成前要将进程变成阻塞状态,应该请求重新调度。
正在执行的进程要等待其它进程或系统发出的事件时。
如等待另一个进程通讯数据,这时操作系统应将现运行进程挂到等待队列,并且请求重新调度。
正在执行的进程得不到所要的系统资源,如要求进入临
界区,但没有得到锁时,这时等锁的进程应自动放弃处理机或者阻塞到等锁队列上,并且请求重新调度。
2、为了支持可剥夺的进程调度方式,在以下情况发生
时,因为新就绪的进程可能会按某种调度原则剥夺正运行的进程,因此也应该申请进行进程调度:
当中断处理程序处理完中断,如I/O中断、通讯中断,
引起某个阻塞进程变成就绪状态时,应该请求重新调度。
当进程释放资源,走出临界区,引起其他等待该资源进
8 / 34
程从阻塞状态进入就绪状态时,应该请求重新调度。
当进程发系统调用,引起某个事件发生,导致等待事件
的进程就绪时。
其它任何原因引起有进程从其它状态变成就绪状态,如
进程被中调选中时。
3、为了支持可剥夺调度,即使没有新就绪进程,为了让
所有就绪进程轮流占用处理机,可在下述情况下申请进行进程调度:
当时钟中断发生,时钟中断处理程序调用有关时间片的
处理程序,发现正运行进程时间片到,应请求重新调度。以便让其他进程占用处理机。
在按进程优先级进行进程调度的操作系统中,任何原因
引起进程的优先级发生变化时,应请求重新调度。如进程通过系统调用自愿改变优先级时或者系统处理时钟中断时,根据各进程等待处理机的时间长短而调整进程的优先级。
3.8 什么时候进行进程调度最为合适?请说明理由。(P63)
答:进程调度的时机:
当发生引起调度条件,且当前进程无法继续运行下去时(如发生各种进程放弃处理机的条件)可以马上进行调度与切换。
当中断处理结束或自陷处理结束返回被中断进程的用户态程序执行前,若请求调度标志置上,即可马上进行进程调度与切换。如果操作系统支持这种情况下运行调度程序,即实现了剥夺
9 / 34
方式的调度。
3.10 对于三类进程(I/O为主、CPU为主和I/O与CPU均衡),应如何赋予它们的运行优先级并说明理由。(P67)
答:对于这三类进程,赋予的优先级由高到低分别为:I/O为主、I/O与CPU均衡、CPU为主。
理由:为了充分利用外部设备,以及对终端交互用户及时地予以响应,通常将I/O型进程列为最高优先级队列。
3.11 假设在单处理机上有五个进程(1、2、3、4、5)争夺运行,其运行时间分别为10,1,2,1,5秒,其优先级分别为3,1,3,4,2,这些进程几乎同时到达,但在就绪队列中的次序依次为1,2,3,4,5,试回答:
①给出这些进程分别适用轮转法、SPF和非剥夺优先级调度法调度时的运行进度表,其中,轮转法中的时间片取值为2。
②在上述各算法的调度下每个进程的周转时间和等待时间为多少?
③具有最短平均等待时间的算法是哪个? 答:轮转法:
时间2 1 2 1 2 2 2 2 1 2 2 片 进程 1 2 3 4 5 1 5 1 5 1 1 进程的周转时间:进程1:19,进程2:3,进程3:5,进程4:6,进程5:15
10 / 34

