试题详情
- 简答题一个操作系统有20个进程,竞争使用30个同类资源,申请方式是逐个进行,一旦某个进程获得了它的全部资源,就马上归还所有的资源,每个进程最多使用30,最少使用一个资源。20个进程需要的资源总数小于50。如果仅考虑这类资源,系统会产生死锁吗?请说明理由。
-
设max(i)表示第i个进程的最大资源需求量,
need(i)表示第i个进程还需要的资源量,
alloc(i)表示第i个进程已分配的资源量。
由题中所给条件可知:
max(1)+…+max(20)=(need(1)+…need(20))+(alloc(1)+…+alloc(20))<50
如果在这个系统中发生了死锁,那么一方面30个资源R应该全部分配出去,即(反证法)alloc(1)+…+alloc(20)=30
另一方面所有进程将陷入无限等待状态。
由上述两式可得:need(1)+…+need(20)<20(关键)
上式表示死锁发生后,20个进程还需要的资源量之和小于20,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。 关注下方微信公众号,在线模考后查看
热门试题
- 文件的逻辑组织有几种形式?
- 业的生存期共经历4个状态,分别是提交、(
- 操作系统的基本职能是()。
- 进程和程序是两个截然不同的概念。
- 在页式存储管理方案中,为了提高内存的利用
- 在页式存储管理系统中,整个系统的页表个数
- 工业过程控制系统中运行的操作系统最好是(
- 进程调度根据一定的调度算法,从()队列中
- 文件系统中,允许当某个用户打开一个共享文
- 在实时系统中,一旦有处理请求和要求处理的
- Linux系统中,进程调度的方式和策略是
- 设备控制器包括()。
- 操作系统中有一组常称为特殊系统调用的程序
- 虚拟存储器实际上是一种设计技巧,使主存物
- 进程是程序的执行过程,可以处于不同的状态
- 假定在某移动臂磁盘上,刚刚处理了访问75
- 用户编制的程序与实际使用的物理设备无关是
- 在操作系统中,作业处于()状态时,已处于
- 系统产生死锁的根本原因是资源有限且操作不
- 有三个用户进程A、B和C,在运行过程中