2024年5月10日发(作者:)
第2章 进程和线程的管理习题及解答
第2章 进程和线程的管理习题及解答
例题解析
例2.2.1 试说明进程和程序之间的区别和联系。
解 进程和程序是既有区别又有联系的两个概念。
(1) 进程是动态的,程序是静态的。程序是一组有序的指令
集合,是一个静态的概念;进程则是程序及其数据在计算机上的一
次执行,是一个动态的集合。离开了程序,进程就失去了存在的意
义,但同一程序在计算机上的每次运行将构成不同的进程。程序可
看作是电影的胶片,进程可以看作电影院放电影的过程。
(2)
(3)
(4)
例2.2.2 举例说明多道程序系统失去了封闭性和再现性。
解 例如,有两个循环程序A和B,共享一个变量N。程序A每
执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要
执行print(N)操作,然后再将N的值置成“0”。程序A和B在多
道程序系统中同时运行。假定某时刻变量N的值为n,可能出现下
述三种情况:
(1)
(2)
(3)
N:=N+1 在print(N)和N:=0之前,此时得到N值变
N:=N+1 在print(N)和N:=0之后,此时得到N值变
N:=N+1 在print(N)之后和N:=0之前,此时得到N
一个进程可以执行多个程序,如同一个电影院的一场电
一个程序可被多个进程执行,如同多个影院同时利用一
程序可以长期保存,进程只能存在于一段时间。程序是
影可放映多部影片。
个电影的胶片放映同一部电影。
永久存在的,而进程有从被创建到消亡的生命周期。
化过程为n+1、n+1、0;
化过程为n 、 0 、1;
第2章 进程和线程的管理习题及解答
值变化过程为n、n+1、0。
所以,在A、B程序多次执行过程中,虽然其每次执行时的环境
和初始条件都相同,但每次得到的结果却不一定相同。
例2.2.3 为什么将进程划分成执行、就绪和阻塞三个基本状态?
解 根据多道程序执行的特点,进程的运行是走走停停的。因此
进程的初级状态应该是执行和等待状态。处于执行状态的进程占用
处理机执行程序,处于等待状态的进程正在等待处理机或者等待其
它某种事件的发生。但是,当处理机空闲时,并不是所有处于等待
状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,
它也不能执行,因为它的执行的条件没有得到满足。因此,将等待
状态的进程分成两部分,一部分是放在处理机上就能立即执行,这
就是就绪的进程;另一部分是仍需等某种事件发生的进程,即使放
在处理机上也不能执行的进程,这就是阻塞进程。
例2.2.4 进程的挂起状态与进程的阻塞状态和就绪状态有何
异同?
解 相同点是它们都没有占用处理机。不同点是挂起状态的进程
是处于一种静止状态,不会参与对资源的竞争,在解除挂起之前,
进程不会有新的资源要求,也不会有占用处理机的机会;阻塞状态
和就绪状态的进程均处于活动状态,它们都有获得处理机的机会,
都可能有新的资源要求。
例 2.2.5 两个并发进程P1和P2的程序代码在下面给出。其
中,A、B、C、D和E均为原语。
P1: begin P2: begin


发布评论