死锁
死锁是指每台计算机都在等待分配给另一个进程的资源的情况。在这种情况下,仅当所需资源由等待释放其他资源的另一个进程占用时,才会执行相关进程。在死锁发生之前阻止它至关重要。资源调度程序可以检测到死锁发生,这有助于操作系统持续跟踪所有已分配给不同进程的资源。如果同时出现以下四种情形,就会发生死锁:
•无抢占式操作 - 资源只能由占用它的进程在完成其任务后自行释放。
•互斥 - 一种特殊类型的二进制信号量,用于控制对共享资源的访问。它支持将当前优先级较高的任务保持处于阻塞状态尽可能短的时间。
•占用并等待 - 在此情形下,必须停止进程,不能让进程占用一个或多个资源,同时等待一个或多个其他资源。
•循环等待 - 它强制对所有资源类型进行总排序。循环等待还会要求每个进程都以枚举的递增顺序请求资源。
处理死锁有三种方法:
•请勿让系统进入死锁状态。
•让死锁发生,然后在死锁发生后执行抢占式操作来处理它。
•如果发生死锁,请重新启动系统。