请教内核线程
从网上找到这么一句话“内核线程就是内核的分身,一个分身可以处理一件特定事情。”,不知道对不对?求解释。 呵呵,说法有点怪,没必要这么理解吧~ 本帖最后由 asuka2001 于 2014-04-21 11:51 编辑
回复 1# 4059056
我更倾向于将内核想象成一个大的库函数。利用到这个库函数的执行流有:
1. 硬件中断
2. 用户进程/内核进程
3. 内核的启动流程(也可以认为是库函数的装载)
这样看来,首先是库函数装载初始化,然后供应用户和硬件调用。
硬件从下往上,进程从上往下,共同使用该库函数! asuka2001 发表于 2014-04-21 11:49 static/image/common/back.gif
回复 1# 4059056
我更倾向于将内核想象成一个大的库函数。利用到这个库函数的执行流有:
这个理解层次又不一样了~ 你如何理解内核线程?回复 2# humjb_1983
还没达到你这层次,一时半会,还理解不了。{:3_182:} 回复 3# asuka2001
如果把整个内核看成一个超级进程的话,那么任务内核线程就可以认为是“他”的分身喽。这里的“他”是不是可以理解为“idle”进程?
另外,这个“分身”可以从几个方面来理解:
1. 权限都是一样的;
2. 地址空间也当然是一样的;
3. 调度的方式也是一样的; 内核线程就是一些特定功能的函数。 回复 1# 4059056
因为内核是库函数,属于被动的接收请求,完成返回!
所以内核希望主动干点什么事,满足自己的要求,就得自己开启一个执行流,这就是内核线程!
进程的服务对象是用户,内核线程的服务对象是内核自己本身!
因为内核线程只对内核服务,所以才只运行于内核空间中。 4059056 发表于 2014-04-21 12:50 static/image/common/back.gif
你如何理解内核线程?回复 2# humjb_1983
呵呵,没有特别的理解,个人站的角度不一样,理解也不一样,并不一定适合你,这个并不重要,关键是要弄清概念和原理,清楚后你也会有自己的理解的。
页:
[1]
2