操作系统 不需忙等待的同步机制
我们到目前为止看到的所有解决方案都是为了提供忙等待的互斥。然而,忙等待并不是资源的最佳分配方式,因为它会让CPU一直保持繁忙状态,不停地检查while循环的条件,尽管进程正在等待临界区变得可用。
所有带有忙等待的同步机制也都存在优先级反转问题。每当具有较高优先级的进程必须在临界区之外等待时,总会有可能发生自旋锁,因为机制旨在在临界区中执行较低优先级的进程。
然而,这些问题需要一个不带忙等待和优先级反转的合适解决方案。
我们到目前为止看到的所有解决方案都是为了提供忙等待的互斥。然而,忙等待并不是资源的最佳分配方式,因为它会让CPU一直保持繁忙状态,不停地检查while循环的条件,尽管进程正在等待临界区变得可用。
所有带有忙等待的同步机制也都存在优先级反转问题。每当具有较高优先级的进程必须在临界区之外等待时,总会有可能发生自旋锁,因为机制旨在在临界区中执行较低优先级的进程。
然而,这些问题需要一个不带忙等待和优先级反转的合适解决方案。