OS 基础教程

进程管理

同步

死锁

内存管理

文件管理

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/os-critical-section-problem.html

临界区问题


临界区是试图访问共享资源的程序的一部分。 该资源可以是计算机中的任何资源,如内存位置,数据结构,CPU或任何IO设备。

临界区不能同时由多个进程执行; 操作系统在允许和禁止进程进入临界区时面临着困难。

临界区问题用于设计一组协议,可以确保进程间的竞争条件永远不会出现。

为了同步协作过程,我们的主要任务是解决临界区问题。 我们需要提供一个解决方案,以满足以下条件。

同步机制的要求

1. 相互排斥
我们的解决方案必须提供相互排斥。 通过相互排斥,如果一个进程在临界区内执行,那么另一个进程不能进入临界区。

2. 进程
进程意味着如果一个进程不需要执行到临界区,那么它不应该阻止其他进程进入临界区。

次要

1. 有界等待
我们应该能够预测每个流程进入临界区的等待时间。 这个进程不能无休止地等待进入临界区。

2. 架构中立

我们的机制必须是架构中立的。 这意味着如果解决方案在一个架构上运行良好,那么它也应该在其他架构上运行。