无法理解抢占式内核

EI-*_*-01 5 operating-system

抢占式内核如何导致竞争条件?如果一个进程被抢占,即没有被踢出它的临界区。根据我的理解,竞争条件是多个进程尝试同时访问和操作资源。我很难理解这个概念

War*_*Dew 4

抢占式内核可以随时启动和停止线程。这意味着不通过锁和关键部分仔细协调其访问的线程最终会陷入竞争条件。

多线程的另一种形式是协作多线程,其中线程只能在它们明确提供让出处理器的点处停止。这有助于防止竞争条件,因为线程不会在处理过程中随机意外点被中断。

协作多线程的缺点是,不让出的线程会占用处理器,这就是为什么大多数现代操作系统使用抢占式多线程而不是协作多线程。