📜  操作系统关键部分问题

📅  最后修改于: 2020-12-14 03:36:17             🧑  作者: Mango

临界区问题

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

关键部分不能同时由多个进程执行;操作系统在允许和禁止进程进入关键部分方面面临困难。

关键部分问题用于设计一组协议,这些协议可以确保进程之间的竞争条件永远不会出现。

为了使协作过程同步,我们的主要任务是解决关键部分问题。我们需要提供一种可以满足以下条件的解决方案。

同步机制的要求

  • 互斥
  • 我们的解决方案必须提供互斥。通过互斥,我们的意思是,如果一个进程在关键部分内执行,则另一进程一定不能进入关键部分。

    关键部分os关键部分1

  • 进展
  • 进度意味着如果一个进程不需要执行到关键部分,那么它就不应停止其他进程进入关键部分。

次要的

  • 有限的等待
  • 我们应该能够预测进入关键部分的每个过程的等待时间。这个过程一定不能无休止地等待着进入关键部分。

  • 建筑中立
  • 我们的机制必须是架构自然的。这意味着,如果我们的解决方案在一种架构上运行良好,那么它也应该在另一种架构上运行。