Kindred Asked: 2018-12-06 08:00:01 +0800 CST2018-12-06 08:00:01 +0800 CST 2018-12-06 08:00:01 +0800 CST Linux 中的进程调度器是什么? 772 我阅读了有关进程调度程序的维基百科: 进程调度程序是操作系统的一部分,它决定在某个时间点运行哪个进程。 我真的不明白那是什么意思。Linux 中的进程调度器是什么?它是内核的一部分吗?它究竟是做什么的? linux scheduling 1 个回答 Voted Best Answer Stephen Kitt 2018-12-06T08:57:40+08:002018-12-06T08:57:40+08:00 在 Linux 中,进程调度器是内核的核心部分。它不作为单独的线程或模块存在,它作为函数实现,__schedule(). 进程调度器的工作是决定接下来应该运行哪个进程。系统中的每个处理器都有一个运行队列,它是等待在 CPU 上运行的进程的列表。当它被调用时,调度程序查看这个进程列表,并决定接下来运行哪个进程;这可以是之前运行的进程(或者更确切地说是线程),也可以是另一个进程。内核中的各种其他系统在运行队列中添加和删除任务,或者将它们从一个 CPU 的运行队列移动到另一个。 内核将在多种情况下重新调度进程:每当一个进程被阻塞(被信号量、互斥体等),以及每当请求重新调度并且系统从用户空间转换到内核或返回时。计时器滴答不直接调用调度程序,它请求重新调度。
在 Linux 中,进程调度器是内核的核心部分。它不作为单独的线程或模块存在,它作为函数实现,
__schedule()
.进程调度器的工作是决定接下来应该运行哪个进程。系统中的每个处理器都有一个运行队列,它是等待在 CPU 上运行的进程的列表。当它被调用时,调度程序查看这个进程列表,并决定接下来运行哪个进程;这可以是之前运行的进程(或者更确切地说是线程),也可以是另一个进程。内核中的各种其他系统在运行队列中添加和删除任务,或者将它们从一个 CPU 的运行队列移动到另一个。
内核将在多种情况下重新调度进程:每当一个进程被阻塞(被信号量、互斥体等),以及每当请求重新调度并且系统从用户空间转换到内核或返回时。计时器滴答不直接调用调度程序,它请求重新调度。