Chinaunix
标题:
Linux idle进程
[打印本页]
作者:
ahutwgs
时间:
2014-03-17 19:07
标题:
Linux idle进程
Linux中idle进程是
只有核心级线程
还是
既有核心级线程也有用户级线程
?
作者:
yangPSO
时间:
2014-03-17 22:00
内核线程,每个CPU一个
作者:
humjb_1983
时间:
2014-03-18 08:30
内核线程,pid==0,可以理解为kernel自己~
作者:
ahutwgs
时间:
2014-03-18 10:38
本帖最后由 ahutwgs 于 2014-03-18 10:39 编辑
我也是这样认为,只有核心级线程,关键是为什么,首先,idle程序设计的目的是什么? 我认为在Linux中,CPU不能空闲,必须执行程序,
idle为了方便任务的调度
,没有必要用户用户级线程,只要有核心级线程就可以了,实现任务的调度。不知道这样理解,是不是精确的
作者:
ahutwgs
时间:
2014-03-18 16:16
pid == 0 的进程应该是init进程吧?
回复
3#
humjb_1983
作者:
ahutwgs
时间:
2014-03-18 20:55
确实是0
1是init
作者:
humjb_1983
时间:
2014-03-19 08:31
ahutwgs 发表于 2014-03-18 10:38
我也是这样认为,只有核心级线程,关键是为什么,首先,idle程序设计的目的是什么? 我认为在Linux中,CPU不 ...
idle肯定需要是内核线程,CPU也可以空闲,通常idle时,会执行halt或根据PM的策略使CPU进入各种空闲状态。
作者:
wth0722
时间:
2014-03-19 22:24
pid=0 是 swapper task 這個就是idle用的
作者:
ahutwgs
时间:
2014-03-22 11:48
这个我已经知道了,谢谢
回复
8#
wth0722
作者:
ahutwgs
时间:
2014-03-22 11:51
当没有TASK_RUNING的进程的时候,就会调用idle进程,所以CPU是不会空闲的,因为空闲的时候就执行idle进程,前面一个同志说到idle可以理解为内核本身,这个说法很精辟,我很同意这个说法。
回复
7#
humjb_1983
作者:
studying_linux
时间:
2014-03-24 21:01
回复
10#
ahutwgs
不知道linux中是否引入了tickless,我了解得其他嵌入式os里是引入了tickless的实现,即CPU在idle时不应该空转,而是应该进入C0状态睡眠.
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2