在我参加本学期的操作系统主题中,我们被问到了这个问题
可用于保护关键部分的技术是什么?
我尝试在网上搜索但找不到任何东西
有人可以简单地解释关键部分以及保护它们的技术吗?
答案 0 :(得分:0)
a)流程必须首先声明其进入的意图 提升旗帜的关键部分。
b)接下来,输入关键部分 离开时,旗帜降下来了。
c)如果在举起旗帜后暂停该过程 但在能够进入临界区之前 另一个进程将看到凸起的标志而不是 进入,直到旗帜降下。
答案 1 :(得分:0)
首先,关键部分仅适用于并行执行,它是一段代码,在给定时间不能由多个线程/进程执行。 当两个或多个线程或进程想要一次写入同一位置时,会发生这种情况, 这可能会导致数据状态不正确或deadlock。
即使如此无辜的代码片段i += 1
也必须在并行世界中得到保护 - 你必须记住,操作系统可以随时暂停执行线程或进程。
使用semaphores可以限制对资源的访问。