死锁——临界资源

临界资源一定是不可剥夺的吗?

不一定。临界资源是在任何时刻只允许一个进程访问的资源。但这个资源是否是“不可剥夺的”取决于系统的策略和设计。

不可剥夺的资源当一个进程获得了某种资源后,直到该进程释放资源之前,其他进程都不能夺走它。例如,某些实时操作系统中,一旦一个任务获得了CPU控制权,就不能被剥夺,直到该任务完成或达到其分配的时间片为止。

可剥夺的资源:如果一个进程正在使用某种资源,操作系统可以中断该进程的执行并将资源分配给另一个进程。这常常是为了满足某些优先级策略或避免死锁。例如,在许多操作系统中,当一个高优先级的进程就绪并请求CPU时,一个正在运行的低优先级进程可能会被剥夺CPU。

对于临界资源的管理,重要的是确保在任何时刻只有一个进程访问它,以避免竞态条件。是否可以剥夺这种资源取决于特定的应用和设计需求。

可剥夺性资源:CPURAM等;

非剥夺性资源打印机、磁带机还没用完,就不能强行抢走资源

临时性资源:通信数据。

系统中配备的非剥夺性资源的数量不能满足诸进程运行的需要时,会使进程因争夺资源而陷入僵局。


死锁的排除方法

死锁——临界资源_第1张图片

死锁——临界资源_第2张图片

死锁——临界资源_第3张图片

死锁——临界资源_第4张图片

死锁——临界资源_第5张图片

你可能感兴趣的:(操作系统,系统架构)