Linux内核线程 - 调度程序

时间:2010-03-12 06:36:04

标签: linux linux-kernel kernel

Linux内核调度程序是init进程的一部分吗?我的理解是它是内部管理的内核线程的一部分,用户不能通过top或ps看到。请纠正我的理解。

是否可以通过任何内核调试器查看标准内核线程,看看标准线程如何占用cpu活动?

-Kartlee

2 个答案:

答案 0 :(得分:6)

内核线程可以通过“top”和“ps”看到,并且可以通过零VM大小来区分(它们没有用户空间,因此没有用户空间内存映射)。

这些是由kernel_thread(或其朋友)创建的。一些工具为每个CPU创建一个线程并将其绑定到CPU,因此您可以在PS列表中看到类似aio / 0 aio / 1的内容。

此外,一些工作是通过几个延迟执行机制完成的,并归因于其他任务,通常称为“events / 0”(每个CPU一个)。 “真正”在中断中花费的时间不计算在任何地方(它只是以牺牲当时在该CPU上发生的任何任务为代价来运行)。

答案 1 :(得分:1)

1)Linux内核调度程序是否为init进程的一部分?

- >不,调度程序是一个子系统,init进程只是进程而是特殊的,由调度程序调度。

2)我的理解是它是内部管理的内核线程的一部分,用户不能通过top或ps看到。请纠正我的理解。

- >它是一种内核线程,通常不向用户显示。

3)是否可以通过任何内核调试器查看标准内核线程,看看标准线程如何占用cpu活动?

- >是的!