?(3)进程P2的请求小于W,标记P2,W=2 2 2 0+2 0 0 1=4 2 2 1 ?(4)进程P1的请求小于W,标记P1,W= 4 2 2 1 +0 0 1 0=4 2 3 1 ?(5)所有的进程都标记了,所以系统不存在死锁
6.10 a.第四个进程到达,最大需求是60,初始要求是25
?b.第四个进程到达,最大需求是60,初始需求是35
6.13
a.三个进程共享四个资源单元
最坏情况是,3个进程各只得到1个资源单元。 这时系统尚存有1个资源单元,因而将不会死 锁。 b.
定义:claim[i]=进程i总共需要的资源数目;
allocation[i]=进程i已经分配的资源数目; deficit[i]=进程i仍然需要的资源数目。 根据题意,我们有下式成立:
在一个死锁的情况下,所有的资源都是被占
有的,所以有下式成立:
并且,此时,每个进程都在等待资源。 从以上两个式子我们可以得出:
也就是说至少有一个进程j,它已经获得了所 有所需要的资源(deficit[j]=0),将完成其工 作并释放所有的资源,剩下的进程将依次完 成工作,因此死锁不会发生。
6.14
安全状态,需要的最小资源数目是3。
依次用P1-P4来表示四个进程。从矩阵可以看 出,四个进程还需要的资源数目为(2,1, 6,5),当有一个可用资源时,P2可以执行 完成,并释放占用资源,可用资源数目为2, 允许P1执行完成,可用资源数目为3,此时, P3需要6个资源,P4需要5个资源,既最小情 况还需要2个额外资源,P4执行完成,释放资 源后,P3再执行完成。 6.17
?如果至少有一个左撇子或右撇子,则当所有哲学家都准备拿起第一根筷子时,必定会有两
个哲学家竞争一根筷子而其中一个得不到处于等待,这样必定有一个哲学家可以获得两根筷子,而不至于发生死锁。
?同样也不会发生饥饿
7.1
重定位 支持模块化程序设计
保护 进程隔离;保护和访问控制 共享 保护和访问控制 逻辑组织 支持模块化程序设计
物理组织 长期存储;自动分配和管理 7.2
分区数目等于主存的字节数除以每个分区的字 节数:
每8位二进制数表示 个分区中的一个分区。 7.3
定义s和h分别为内存中段的数量和空洞的数 量。假定在动态分区的内存中,存储段的创建 和释放以相同的概率发生,那么对于任一分 区,它后面紧挨着的那个部分是一个分区或者 是一个空洞的概率各为0.5。所以,对于有s个 段的内存中,空洞的平均数量为s/2,既空洞 的数量是段数量的一半。 7.5
最佳适配算法在每次分割之后切割下来的剩
余部分总是最小的,这样会在存储器中留下 很多难以利用的小空闲区。最坏适配算法当 有进程调入的时候每次都分配最大的空闲存 储块,这样块中剩余的空闲空间就足够大从 而可以满足另外的请求。缺点是第一次分配 的时候就把最大的空闲区分配了,当有大的 空间分配请求时极易分配失败。 7.6
a.第一个块分配到第二个空闲块,起始地址为80M,第二个块分配到第一个空闲块,起始地址为20M,第三个块分配到第二个空闲块起始地址为120M。