+ -
当前位置:首页 → 问答吧 → 讨论一个名词--“抢占”

讨论一个名词--“抢占”

时间:2010-09-15

来源:互联网

本帖最后由 omycle 于 2010-09-15 16:48 编辑

学习内核也有一段时间了,但对于抢占一直含含糊糊,这两天学习关于抢占和并发,较真的想了想抢占,还真没有弄清楚它的具体意思。

抢占:在单处理器下,抢占的时机仅仅是在中断产生(包括硬件中断,还有软中断)?
         如何禁止抢占?有几种方法?


         在多处理器下,如何能禁止抢占?

希望这个帖子能起到抛砖引玉的作用。毕竟在内核中并发和抢占,是比较重要的概念。

作者: omycle   发布时间: 2010-09-15

我这样认为的:linux kernel是优先级抢占的。抢占时机有应该是高优先级的任务可以抢占低优先级的任务。中断发生时,会禁止抢占并关中断。

看了内核代码,禁止抢占有个函数:preempt_disable()。
中断相关的有:local_irq_disable()等等相关的函数。

多处理器应该就是使用:spin_lock()禁止多个CPU的抢占。

作者: cindylzh   发布时间: 2010-09-28

热门下载

更多