一道操作系统面试题

我同学今天电话面试,面试官问了大概问了一下这道题,系统处于安全状态一定不会发生死锁对吗?对或者不对请举例说明。
如题,我同学同时懵逼了,各位怎么看?
全部评论
这是操作系统概念第七版上的内容
5 回复
分享
发布于 2016-09-04 09:21
我觉得答案是不一定,下面是分析过程。 安全状态的定义是系统能够按某种进程推进顺序为每个进程分配资源,直到满足每个进程对资源的最大需求,使每个进程都可以顺利的完成。只要系统处于安全状态,那么就可以避免进入死锁,但这仅仅是避免进入,并不是一定不会进入,假如进程申请资源时系统没有进行检测就直接分配的话,是有可能进入死锁的。 举个例子: 进程号    最大需求    已分配    还需要 P1            10                5            5 P2            4                  2            2 P3            9                  2            7 此时系统还有3个可用资源的话,安全序列就是P2、P1、P3,照着这个顺序分配就可以避免死锁,但是如果此时P1先发起申请3个资源,并且系统直接分配的话,那么就会进入死锁的僵局。当然了,如果系统在进程申请资源时采用银行家算法就可以保证一定不会进入死锁了,但是问题没说。 总之就是安全序列只是避免进入死锁,并不是一定不会进入。 个人看法,欢迎讨论。
3 回复
分享
发布于 2016-09-04 13:40
联想
校招火热招聘中
官网直投
我觉得不一定吧,不知道回答的对不对,安全状态只是说此时有一个安全序列可以完成资源分配而不发生死锁,但若是出现不按安全序列分配,是不是就可能发生死锁呢,若是多进程中,也有可能产生死锁吧
点赞 回复
分享
发布于 2016-09-04 07:56
蒙得对!要我我也蒙逼!
点赞 回复
分享
发布于 2016-09-04 03:56
对。但说不出例子
点赞 回复
分享
发布于 2016-09-04 08:50
操作系统教程上说过“死锁一定是不安全状态”,那这句话的逆反命题就是“安全状态一定不死锁”。。不知道这样理解对不对
点赞 回复
分享
发布于 2016-09-04 09:19
安全状态不会有死锁啊,书上这么说的
点赞 回复
分享
发布于 2016-09-04 11:45
书上定义的,安全状态是指至少有一个资源分配序列不会导致死锁(即所有进程都能运行直到结束),所以系统处于安全状态一定不会进入死锁
点赞 回复
分享
发布于 2021-01-25 21:33

相关推荐

点赞 10 评论
分享
牛客网
牛客企业服务