Linux kernel 多核系统上的Linux调度程序操作

Linux kernel 多核系统上的Linux调度程序操作,linux-kernel,kernel,Linux Kernel,Kernel,内核中的Linux调度程序能否在多个内核上同时运行?或者只有一个调度器在需要时在每个处理器上运行?操作系统通常在特定处理器上运行,默认为core-0。但是,内核或调度器可以启动内核线程来处理操作系统操作,从调度器的角度来看,每个CPU都是一个单独的数据结构(即,运行队列)。只有一个调度器,但它不是一个进程 调度程序是一段在所有CPU/内核上运行的代码。问这样一个问题的目的是什么:也许这会提供更多的信息。找到答案。每个处理器独立运行一个schedule()函数。不过,每个核心都和其他核心交换数据。

内核中的Linux调度程序能否在多个内核上同时运行?或者只有一个调度器在需要时在每个处理器上运行?

操作系统通常在特定处理器上运行,默认为core-0。但是,内核或调度器可以启动内核线程来处理操作系统操作,从调度器的角度来看,每个CPU都是一个单独的数据结构(即,运行队列)。只有一个调度器,但它不是一个进程

调度程序是一段在所有CPU/内核上运行的代码。问这样一个问题的目的是什么:也许这会提供更多的信息。找到答案。每个处理器独立运行一个schedule()函数。不过,每个核心都和其他核心交换数据。我正在尝试从调度程序内部停用任务。我需要知道,如果我在一个处理器上的调度程序上下文中,调度程序是否也可以在另一个处理器上运行,并更改在该处理器上运行的任务的状态?我确信它可以。这就是为什么有一个自旋锁来保护调度程序结构。