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

Linux如何处理线程和进程调度,第1张

概述Linux如何处理线程进程调度

我想了解linux如何处理进程调度和线程调度。 我读过linux可以调度进程和线程。

我的问题是:linux有一个线程调度程序和一个进程调度程序? 如果是,他们如何合作?

linux调度器是否喜欢在fork()之后运行subprocess?

Tickless linux内核是否引入了基准时序变化?

调度algorithm如何确定进程的types(I / O,cpu绑定)

了解windows系统调用调度程序?

CFS中vruntime的概念是什么?

linux内核调度程序实际上是调度任务,而这些是线程或(单线程)进程。

因此,在调度程序的上下文中, 任务 (内核中的task_struct )就是被调度的东西,可以是像kworker或kswapd这样的内核线程 ,也可以是多线程进程的某个用户线程 (如firefox ),或者单线程进程的单线程 (如bash ),用单线程进程标识。

一个进程是一个非空的有限集(有时是一个单一的) 线程共享相同的虚拟地址空间 (和其他东西,如文件描述符 , 工作目录等等)。 另见凭证(7) , 能力(7)等….

linux上的线程是由linux专用克隆系统调用(也可用于在linux上创建进程)创建的内核线程 (由内核管理,也创建自己的线程)。 pthread_create函数可能是在NPTL和Gnu libc (它集成了linux上的NPTL)和musl-libc的内部(在linux上) 构建的 。

linux下的内核线程被实现为共享资源的进程。 调度程序不区分线程和进程

有关详细信息,请参阅此处: http : //www.linuxquestions.org/linux/articles/Technical/linux_coreel_Thread

在liNUX下没有线程的概念,要使liNUX POSIX投诉线程不过是另一个进程。当你试图获得一个进程ID的时候,它会在任何线程下显示领导进程ID。 有关更多详细信息,请参阅本书“了解liNUX内核”。希望

总结

以上是内存溢出为你收集整理的Linux如何处理线程和进程调度全部内容,希望文章能够帮你解决Linux如何处理线程和进程调度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1241297.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存