Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我这个学期的操作系统主题中,我们被问到这个问题
可以用来保护关键部分的技术是什么?
我尝试在线搜索但找不到任何东西
谁能简要解释一下关键部分以及保护它们的技术?
首先,临界区仅适用于并行执行,它是一段代码,在给定时间不能由多个线程/进程执行。当两个或多个线程或进程想要一次写入同一位置时会发生这种情况,这可能会导致数据状态不正确或死锁。
即使看起来很无辜的代码i += 1必须在并行世界中受到保护——您必须记住,线程或进程的执行可以随时被操作系统挂起。
i += 1
同步的基本机制是互斥锁和监视器。
使用信号量可以限制对资源的访问。
a) 进程必须首先通过引发标志来声明其进入临界区的意图。
b) 接下来,进入临界区,离开时,标志降低。
c) 如果进程在提升标志之后但在它能够进入临界区之前被挂起,那么其他进程将看到提升的标志并且直到标志被降低才进入。