5,优先级倒挂是怎么回事?有什么样的危害?
①:优先级倒挂的解释:
所指的是一个低优先级任务持有一个被高优先级认为所需要的共享资源。这样的情况下,
高优先级的任务因缺乏资源,一直处于受阻状态,直到低优先级任务释放资源为止。
这样就造成优先级的倒挂。
危害是:低优先级一直不释放资源,则会导致系统故障。
①:优先级倒挂的解释:
所指的是一个低优先级任务持有一个被高优先级认为所需要的共享资源。这样的情况下,
高优先级的任务因缺乏资源,一直处于受阻状态,直到低优先级任务释放资源为止。
这样就造成优先级的倒挂。
危害是:低优先级一直不释放资源,则会导致系统故障。
6,请分析讨论解决优先级倒挂的三种办法,那种优势更加明显?
①:使用中断禁止
这个策略当中有两个优先级,一个是可抢占式优先级和中断禁止优先级。
可抢占式优先级为一般进程运行时的优先级。
中断禁止优先级是运行在临界区的进程的优先级。
因为不存在第三种优先级,所以,优先级无法倒挂。
②:优先级上限
共享的操作系统代码有其自身的高优先级,一个程序如果进入操作系统代码保护的临界区,
将获得该临界区所具有的高优先级,如果此时其他访问操作系统代码的进程优先级都低于
操作系统代码的优先级,则优先级倒挂则不会发生。
③:优先级继承
当一个高优先级进程等待一个低优先级进程释放所持有的资源时,低优先级进程将暂时获得
高优先级进程的优先级别,这样能防止一个中间优先级的进程抢占低优先级进程而延长资源占用的时间。
在释放共享的资源后,低优先级进程回到原来的优先级别。