请问:2.6的内核是抢占式还是非抢占式的?如何更改?

时间:2021-04-07 20:14:22
请问:2.6的内核是抢占式还是非抢占式的?如何更改?

5 个解决方案

#1


在2.6内核中,引入了抢占能力,现在,只要重新调度是安全的(只要没有持有锁,内核就可以进行强占),那么内核就可以在任何时间前抢占正在执行的任务.
为了支持内核抢占所做的地一处 变动就是为每个进程的thread_info因如了preempt_count计数器(使用锁的时候+1,释放锁的时候-1).当值为0 的时候,内核就可以抢占.
如果内核中的进程被阻塞了,或者显示的调用schedule(),内核抢占就会显示的发生.

建议看一下linux内核设计与实现,第二版,将的就是2.6内核,非常不错哦 :)

#2


配置内核时候指定 CONFIG_PREEMPT 可以配置内核抢占。

LKD 第一版就是 2.6 内核了。

#3


我以为还是协同呢,关注一下

#4


mark

#5


可以来这里下载好书:

http://www.elinux.cn

#1


在2.6内核中,引入了抢占能力,现在,只要重新调度是安全的(只要没有持有锁,内核就可以进行强占),那么内核就可以在任何时间前抢占正在执行的任务.
为了支持内核抢占所做的地一处 变动就是为每个进程的thread_info因如了preempt_count计数器(使用锁的时候+1,释放锁的时候-1).当值为0 的时候,内核就可以抢占.
如果内核中的进程被阻塞了,或者显示的调用schedule(),内核抢占就会显示的发生.

建议看一下linux内核设计与实现,第二版,将的就是2.6内核,非常不错哦 :)

#2


配置内核时候指定 CONFIG_PREEMPT 可以配置内核抢占。

LKD 第一版就是 2.6 内核了。

#3


我以为还是协同呢,关注一下

#4


mark

#5


可以来这里下载好书:

http://www.elinux.cn