操作系统中的原语的定义:原语是一种特殊的程序段,其执行只能一气呵成,不可被中断。原语是由开/关中断指令实现的。但是如果遇到不可屏蔽的中断的到来,原语不是还是被打断了吗?

原语屏蔽中断的原因不是因为中断的打断,而是为了防止中断引起的任务调度,如时间片轮转引起的任务调度,使用系统调用主动进行任务调度引起的异常中断。不可屏蔽的中断不涉及任务调度。虽然关中断导致本逻辑cpu不再处理中断,因此也就无法调度,但是其它逻辑cpu可正常调度,所以还得加锁控制。即本地关中断+锁实现。

参考:

Linux抢占调度 - 知乎 (zhihu.com)

操作系统中的原语的定义:原语是一种特殊的程序段,其执行只能一气呵成,不可被中断。原语是由开/关中断指令实现的。但是如果遇到不可屏蔽的中断的到来,原语不是还是被打断了吗?_第1张图片

 

 

你可能感兴趣的:(c语言,linux)