等待队列是再start_kernel 中初始化的吗
时间: 2024-04-04 08:33:26 浏览: 51
linux-kernel-boot-thread.zip_kernel thread
是的,等待队列是在 start_kernel() 函数中被初始化的。start_kernel() 函数是内核启动过程中的入口函数,它负责初始化内核的各种子系统和数据结构,然后启动系统初始化进程(即 systemd)。
在 start_kernel() 函数中,会调用 kernel_init() 函数来初始化内核的各种子系统和数据结构。kernel_init() 函数中会调用一系列的子函数来完成内核的初始化过程,其中就包括等待队列的初始化。
具体来说,等待队列是由宏定义 INIT_WAITQUEUE_HEAD(name) 在代码中定义和初始化的。当内核启动时,系统会创建一个名为 init的进程,这个进程会在 kernel_init() 函数中被创建。在这个进程被创建之前,等待队列已经被初始化了。
因此,等待队列是在 start_kernel() 函数中被初始化的。
阅读全文