通过学习自考的操作系统概论了解到,每个我们每天用的程序的一些进程等等都是需要资源来给完成的,一个程序需要的资源是固定的,但是我们的电脑并不是一次只执行一个,可能会有多个,这个就涉及到资源分配的问题了。
首先了解一下死锁的概念:多个程序竞争共享资源且分配资源的顺序不当,而引起进程不能向前推进的僵死状态称为死锁。
这次这个资源分配的内容只要是根据每年的真题来做基础的,
下面这个是第一问的答案
首先可以肯定的是这个资源的分配根据你还剩余的资源,能不能让一个进行先执行完释放资源,这个题里面的p0只需要一个资源,现在我们手中有两个,那么p0的进程是可以被释放的,当p0的进程被释放后我们手里剩余的一个资源加上p0释放的资源一共是有5个资源的,而根据上图我们算出的其它进程需要的资源都是5,那么我们手中的资源刚好可以分配给其中任意一个让其完成进行的执行释放资源,所以只要第一个执行的是p0进行,那么就不会出现死锁的情况。
可以根据这个方法把第二问完成,通过最大资源数减去已分配资源数就是每个进程还需要的资源了,然后进行一个排序,看看手中剩余的资源是否可以让其中一个进程完成,通俗的讲就是,剩余的资源能不能先释放一个进程然后被释放的进程资源数和你剩余资源数能不能把下一个进程释放的过程。