n个进程共享m个资源得死锁问题证明
n个进程共享M个资源,每个进程一次只能申请/释放一个资源,每个进程最多需要M个资源,所有进程总共的资源需求少于M+N个,证明该系统此时不会产生死锁。 答:设max (i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知: max(1)+┅+max(n)=(need(1)+┅+need(n))+((alloc(1)+┅+alloc(n))<m+n 如果在这个系统中发生了死锁,那么一方面m个资源应该全部分配出去, alloc(1)+ ┅+alloc(n)=m 另一方面所有进程将陷入无限等待状态。可以推出 need(1)+ ┅+need(n)<n 上式表示死锁发生后,n个进程还需要的资源量之和小于n, 这意味着此刻至少存在一个进程i,need(i)=0 ,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。
去看了,很不错!!!
回复删除顶了!
没有演示或者图片呀...
回复删除我要向你学习....
演示网址:
回复删除http://202.196.187.76/Webstudent/s301/blog.aspx
真的非常不错,我仍然在初学的迷茫状态中,其实1年前就开始关注.NET了,以前仅仅改改ASP的代码,现在不知道如何继续下去,很摸不着头脑,很想上什么辅导班能有时间真正做点这个方面的东西,望指教!
回复删除学习.net最重要的是做项目,仅仅是做一些小练习是远远不够的。你有ASP的基础,这样学习.net会很快,可是从ASP的思维模式,向.net模式转变也需要一个过程,做项目可以很快转变。另外:看别人的代码也很重要。
回复删除恭喜恭喜啊,呵呵,下载下来了,向你学习!
回复删除