Linux 内核线程 - 调度程序

标签 linux linux-kernel kernel

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/

相关文章:

linux - 使用控制台的 Symfony 缓存权限

linux - PulseAudio 蓝牙音箱在 Raspberry Pi 上崩溃

linux - 选择 Linux I/O 调度程序

c - 核心。如何获取获得CPU时间片的进程名和pid

io - 飞思卡尔处理器中焊盘控制功能的解释?

c - fdtable的open_fds字段的含义

linux - 理解 sendfile() 和 splice()

linux - 使用源文件运行 gdb

linux - 将模块添加到 angstrom 内核

c - 如何在编译模块时集成 Module.symvers