第三章 复习题 计算机操作系统概论复习资料习题答案 下载本文

(2)平衡资源使用:尽可能地使系统资源都处于忙碌。

(3)极大的流量:在单位时间内为尽可能多的作业服务,保证计算机系统的吞吐能力。

8. 进程控制块(PCB)中应该包含哪些内容,其作用是什么?

答:进程控制块是用以记录进程有关信息的一个数据集合,其中登记这诸如:进程标识、进程状态、优先级、中断现场、所占资源等信息。它是由系统为每个进程分别建立的,并且在进程结束其生命期时由系统将相应的PCB撤销,PCB是进程存在的标识。

9. 中断装置如何判别是发生了资源性中断还是强迫性中断?

答:处理器执行指令时,根据操作码是否是访管指令,来确定是否有自愿性中断事件发生。若有,则通知中断装置;对于强迫性中断,中断装置只要检查中断寄存器的内容,非0表示有中断事件发生。

10. 进程在系统中有哪几种基本状态?

答:按进程在执行过程中不同时刻的不同情况定义三种基本状态:

(1) 运行状态:当一个进程正在占用处理器运行时,称其处于运行状态; (2) 就绪状态:当一个进程具备了运行条件,一旦获得处理器即可运行时,称此进程处于就绪状态;

(3) 等待状态:当一个进程由于等待某事件的发生而不能运行时,称此进程处于等待状态。

五、综合题

1. 有一多道系统,采用不允许移动的可变分区方式管理主存的用户空间,设用户空间为

100K,使用最先适应分配算法分配主存。作业调度和进程调度均采用先来先服务算法,

今有如表所示的作业队列:

作业名 A B C D 进入输入井时间 10.1时 10.3时 10.5时 10.6时 需计算时间 0.3小时 0.5小时 0.4小时 0.4小时 主存量要求 15K 60K 50K 10K 10.7时 0.2小时 E 20K 假设所有的作业都是计算型的且忽略系统调度时间,请计算作业被装入主存的次序以及每个作业被装入主存时的时间。

作业被装入主存的次序为:A、B、D、E、C。

每个作业被装入主存的时间如表所示:

作业名 装入时间

A 10.1时 B 10.3时 C 10.9时 D 10.6时 E 10.7时

2. 系统有4个资源R1、R2、R3、R4,现有三个进程P1、P2、P3,它们已占用资源和等待

的资源如下表所示:

占用表 等代表

资源 R1 R2 R3 R4 占用进程 P2 P1 P3 P1 进程 P1 P2 P3 等待资源 R1 R2 R3 请问:该系统执行这三个进程时是否会发生死锁?

P1→R1→P2→R2→P1

所以系统执行这三个进程会发生死锁。

3. 设有12个同类资源可供4个进程共享,资源分配情况如表:

进程 P1 P2 P3 P4 已占资源数 2 3 4 1 最大需求数 4 6 7 4 试问:(1) 目前系统是否处于安全状态?为什么?

(2) 如果这4个进程又要求系统分配一个资源时,在什么情况下会引起系统的死锁?为什么?

1)目前系统出于安全状态。因为系统已为4个进程共分配了10个资源,现在还剩余2个资

源,可把这2个资源先满足进程P1的需要,当P1执行结束时可收回4个资源。进程P2、P3、P4都尚需3个资源,故可先满足其中任何一个进程的需求,假定先满足进程P2的需求,那么当进程P2执行结束时可收回进程P2占用的6个资源,加上为进程P2分配时剩余的一个资源,现在系统又剩余资源7个。这7个资源足够分配给进程P3和P4,故系统中每一个进程都能在有限的时间里得到它们所需的全部资源,系统处于安全状态。

(2)如果这4个进程又要求系统分配一个资源时,若系统把剩余的2个资源中的一个资源

分配给了进程P2(或P3、或P4),那么系统中的这4个进程尚需的资源数分别为2个、2个、3个、3个。但系统的剩余资源数为1个,就不能满足任何一个进程的需要,使它们都处于等待资源的状态。由于每个进程得不到自己所需的所有资源而不能执行结

束,也都不归还已占得资源。这样,这4个进程的等待就永远不能结束而形成了死锁。

4. 有5个进程P1、P2、P3、P4、P5,它们同时依次进入就绪队列,他们的优先数和需要的

处理器时间如下表所示:

进程 P1 P2 P3 P4 P5 处理器时间 10 1 2 1 5 优先数 3 1 3 4 2 忽略进行调度等待所花费的时间,请回答下列问题:

(1)写出分别采用“先来先服务”和“非抢占式的优先数”调度算法选中进程执行的次序。

(2)分别计算出上述两种算下的平均等待时间。

答:(1)采用“先来先服务”调度算法时进程调度次序:P1→P2→P3→P4→P5; 采用“非抢占式的优先数”调度算法时进程调度次序:P1→P2→P5→P3→P4 (2)采用先来先服务调度算法时平均等待时间:9.6; 采用非抢占式的优先数调度算法的平均等待时间:11

5. 设系统中有4个进程P1、P2、P3、P4,在某一时刻系统状态如下:

进程 P1 P2 P3 P4 最大需求量 9 5 4 2 已分配资源量 4 1 2 1 剩余资源量 1 系统是否处于安全状态?如是,则给出所有的安全进程执行序列。 答:系统处于安全状态,执行序列为:P4→P3→P2→P1