Linux 内核调度程序是 init 进程的一部分吗?我的理解是,它是内部管理的内核线程的一部分,top 或 ps 对用户不可见。请纠正我的理解。
是否可以通过任何内核调试器查看标准内核线程,了解标准线程如何占用 cpu 事件?
-卡特里
最佳答案
内核线程可以通过“top”和“ps”看到,并且可以通过具有零 VM 大小来区分(它们没有用户空间,因此没有用户空间内存映射)。
这些是由 kernel_thread(或其 friend )创建的。一些设施为每个 CPU 创建一个线程并将其绑定(bind)到一个 CPU,因此您会在 PS 列表中看到类似 aio/0 aio/1 的内容。
还有一些工作是通过几个延迟执行机制完成的,并被归因于其他任务,通常称为“events/0”(每个 CPU 一个)。 “真正”花在中断上的时间在任何地方都没有计算在内(它只是以当时该 CPU 上发生的任何任务为代价)。
关于Linux 内核线程 - 调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2430943/