网络 *** 作系统题目进程资源分配

网络 *** 作系统题目进程资源分配,第1张

其实这种题就是 *** 作系统里面有关死锁的问题:运用银行家算法和安全算法

就可以啦

1.

分配需要 剩余

P1 3 0 1 1 1 1 0 0

P2 0 1 0 0 0 1 1 2

P3 1 1 1 0 3 1 0 0

P4 1 1 0 1 0 0 1 0

P5 0 0 0 0 2 1 1 0

现在剩余 1 0 2 0 我们就在这个五个进程中找满足: 需要资源<=剩余资源

只有P4进程满足,把资源分给P4进程,让其运行完成,P4进程结束后释放

资源,则剩余资源=1 0 2 0 + 1 1 0 1= 2 1 2 1.

接下来用:需要资源<=剩余资源 ,可以找到P1满足(第二种情况P5也满足)

依次类推,则可以找到一个安全序列:P4 P1 P5 P3 P2(这里的安全序列有

很多中情况)

2.

当P2请求一个(0 0 1 0)资源时:请求资源(0 0 1 0)<剩余资源(1 0 2 0)

请求资源(0 0 1 0)<需要资源,所以系统可以分配 但还要用安全算法进行

检查是否会该时刻系统是否安全,即用(1)题中的步骤检查,

这时分配图如下:

分配需要 剩余

P1 3 0 1 1 1 1 0 0

P2 (0 1 1 0) (0 1 0 2)

P3 1 1 1 0 3 1 0 0

P4 1 1 0 1 0 0 1 0

P5 0 0 0 0 2 1 1 0

括号中为变化部分,剩余资源为 1 0 1 0 运用满足条件:需要资源<=剩余资源

根据上述步骤可以找到一个安全序列:P4 P1 P5 P3 P2 (安全序列不唯一)

所以P2发出的请求 系统可以满足

3.

这个小问就不用说了吧 都是一样的

假设系统中进程的三态模型如下图所示,图中的a和b处应分别填写 (26) ,图中的c和d处应分别填写 (27) 。

(26)A.时间片到、作业调度程序调度 B.执行了P *** 作、时间片到

C.时间片到、进程调度程序调度 D.时间片到、执行了P *** 作

(27)A.I/O完成、执行了P *** 作 B.执行了P *** 作、I/O完成

C.时间片到、执行了V *** 作 D.执行了V *** 作、I/O完成

试题(26)、(27)分析

本题考查 *** 作系统进程管理方面的基础知识。进程具有三种基本状态:运行态、就绪态和阻塞态。处于这三种状态的进程在一定条件下,其状态可以转换。当CPU空闲时,系统将选择处于就绪态的一个进程进入运行态;而当CPU的一个时间片用完时,当前处于运行态的进程就进入了就绪态;进程从运行到阻塞状态通常是由于进程释放CPU,等待系统分配资源或等待某些事件的发生,例如,执行了P *** 作系统暂时不能满足其对某资源的请求,或等待用户的输入信息等;当进程等待的事件发生时,进程从阻塞到就绪状态,如I/O完成。

参考答案

(26)C (27)B

首先看P1,P1申请资源1,但资源1只有1个,且被P2占用,所以P1被阻塞,无法删除P1的边;       

接着看P2,P2申请资源4,同理,资源4只有一个且被P3占用,所以P2的边也不能删除;

最后P3,P3申请资源3和2,资源3有2个,其中一个被P2占用,剩余一个空闲资源,可被P3申请,但资源2中,一个被P1占用,另一个被P3占用,无空闲资源,所以P3也被阻塞。无法删除P3的边。

三个结点经分析后都不能化简为孤立结点,所以形成死锁。

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

死锁的规范定义:集合中的每一个进程都在等待只能由本集合中的其他进程才能引发的事件,那么该组进程是死锁的。

一种情形,此时执行程序中两个或多个线程发生永久堵塞(等待),每个线程都在等待被其他线程占用并堵塞了的资源。例如,如果线程A锁住了记录1并等待记录2,而线程B锁住了记录2并等待记录1,这样两个线程就发生了死锁现象。

在两个或多个任务中,如果每个任务锁定了其他任务试图锁定的资源,此时会造成这些任务永久阻塞,从而出现死锁。例如:事务A获取了行1的共享锁。事务B获取了行2的共享锁。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6070371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存