一尘不染

Linux如何处理线程和进程调度

linux

我试图了解Linux如何处理进程调度和线程调度。我读过Linux可以安排进程和线程。

Linux是否具有线程调度程序和进程调度程序?如果是,他们如何合作?


阅读 246

收藏
2020-06-02

共1个答案

一尘不染

Linux内核调度器被实际调度的任务,并且这些要么螺纹或(单线程)工艺。

因此,在调度程序的上下文中, 任务task_struct内核内部)是正在调度的事物,可以是某些 内核线程(
例如kworker或)kswapd,多线程进程的某些 用户线程 (例如firefox)或单线程。由 单线程进程bash标识
的单线程进程 (如)。

一个过程是一个非空有限集(有时是单身)的线程共享相同的虚拟地址空间(和其他东西一样文件描述符工作目录,等等…)。另请参阅凭据(7)功能(7)等…

Linux上的 线程内核线程
(在某种意义上,由内核管理,内核也创建自己的线程),由Linux特定的克隆
syscall(也可用于在Linux上创建进程)创建。将在pthread_create函数可能建于(在Linux上)上述clone内部NPTLGNU库(其中集成NPTL在Linux上)和MUSL-
libc中

2020-06-02