Linux内核调度程序是init进程的一部分吗?我的理解是它是内部管理的内核线程的一部分,用户不能通过top或ps看到。请纠正我的理解。
是否可以通过任何内核调试器查看标准内核线程,看看标准线程如何占用cpu活动?
-Kartlee
答案 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活动?
- >是的!