
我想了解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如何处理线程和进程调度所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)