Linux内核线程调度程序

Linux内核线程调度程序,linux,linux-kernel,kernel,Linux,Linux Kernel,Kernel,Linux内核调度器是init进程的一部分吗?我的理解是,它是内核线程的一部分,由top或ps内部管理,用户不可见。请纠正我的理解 是否可以通过任何内核调试器查看标准内核线程,以查看标准线程如何占用cpu活动 -Kartlee内核线程可以通过“top”和“ps”看到,并且可以通过具有零VM大小来区分(它们没有用户空间,因此没有用户空间内存映射) 这些是由内核线程(或其朋友)创建的。有些工具为每个CPU创建一个线程,并将其绑定到CPU,因此在PS列表中可以看到类似aio/0AIO/1的内容 另外,

Linux内核调度器是init进程的一部分吗?我的理解是,它是内核线程的一部分,由top或ps内部管理,用户不可见。请纠正我的理解

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


-Kartlee

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

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

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

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

->不,调度程序是一个子系统,初始化进程只是进程,但特殊,由调度程序调度

2) 我的理解是,它是内核线程的一部分,由top或ps内部管理,用户不可见。请纠正我的理解

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

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


->对!

还值得指出的是,包括调度程序在内的绝大多数内核代码都是在正常进程的上下文中执行的。通过这种方式,大量内核有点像一个库,而不是一个独立的进程。pid 0属于schedular,而pid 1用于init进程。