内核线程和kernel_thread()函数

内核线程(thread)或叫守护进程(daemon),在操作系统中占据相当大的比例。内核线程实际上就是一个共享父进程地址空间的进程,它有自己的系统堆栈。内核线程也可以叫内核任务,它们周期性地执行,例如,磁盘高速缓存的刷新,网络连接的维护,页面的换入换出等等。在Linux中,内核线程与普通进程有一些本质的区别,从以下几个方面可以看出二者之间的差异:

·      内核线程执行的是内核中的函数,而普通进程只有通过系统调用才能执行内核中的函数。

·      内核线程只运行在内核态,而普通进程既可以运行在用户态,也可以运行在内核态。

·     因为内核线程指只运行在内核态,因此,它只能使用大于PAGE_OFFSET()的地址空间。另一方面,不管在用户态还是内核态,普通进程可以使用4GB的地址空间。

内核线程是由kernel_thread( )函数在内核态下创建的,这个函数所包含的代码大部分是内联式汇编语言.

kernel_thread函数简单分析 http://hi.baidu.com/wzt85/blog/item/c1f7b75515bc01c1b645ae17.html

Linux Kernel Threads in Device Drivers http://www.scs.ch/~frey/linux/kernelthreads.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值