4059056 发表于 2014-04-21 10:49

请教内核线程

从网上找到这么一句话“内核线程就是内核的分身,一个分身可以处理一件特定事情。”,不知道对不对?

求解释。

humjb_1983 发表于 2014-04-21 11:39

呵呵,说法有点怪,没必要这么理解吧~

asuka2001 发表于 2014-04-21 11:49

本帖最后由 asuka2001 于 2014-04-21 11:51 编辑

回复 1# 4059056

我更倾向于将内核想象成一个大的库函数。利用到这个库函数的执行流有:

1. 硬件中断

2. 用户进程/内核进程

3. 内核的启动流程(也可以认为是库函数的装载)

这样看来,首先是库函数装载初始化,然后供应用户和硬件调用。

硬件从下往上,进程从上往下,共同使用该库函数!

humjb_1983 发表于 2014-04-21 12:26

asuka2001 发表于 2014-04-21 11:49 static/image/common/back.gif
回复 1# 4059056

我更倾向于将内核想象成一个大的库函数。利用到这个库函数的执行流有:

这个理解层次又不一样了~

4059056 发表于 2014-04-21 12:50

你如何理解内核线程?回复 2# humjb_1983


   

4059056 发表于 2014-04-21 12:52

还没达到你这层次,一时半会,还理解不了。{:3_182:} 回复 3# asuka2001


   

bensenq 发表于 2014-04-21 12:56

如果把整个内核看成一个超级进程的话,那么任务内核线程就可以认为是“他”的分身喽。这里的“他”是不是可以理解为“idle”进程?

另外,这个“分身”可以从几个方面来理解:

1. 权限都是一样的;
2. 地址空间也当然是一样的;
3. 调度的方式也是一样的;

wait_rabbit 发表于 2014-04-21 13:16

内核线程就是一些特定功能的函数。

asuka2001 发表于 2014-04-21 13:56

回复 1# 4059056

因为内核是库函数,属于被动的接收请求,完成返回!

所以内核希望主动干点什么事,满足自己的要求,就得自己开启一个执行流,这就是内核线程!

进程的服务对象是用户,内核线程的服务对象是内核自己本身!

因为内核线程只对内核服务,所以才只运行于内核空间中。

humjb_1983 发表于 2014-04-21 15:04

4059056 发表于 2014-04-21 12:50 static/image/common/back.gif
你如何理解内核线程?回复 2# humjb_1983
呵呵,没有特别的理解,个人站的角度不一样,理解也不一样,并不一定适合你,这个并不重要,关键是要弄清概念和原理,清楚后你也会有自己的理解的。
页: [1] 2
查看完整版本: 请教内核线程