gpt4 book ai didi

linux - Linux内核空间中的进程

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:10:08 29 4
gpt4 key购买 nike

在用户空间我们可以通过执行程序或者在程序内部调用fork来创建进程,内核会为每个用户空间进程创建进程描述符(task_struct)。

在内核空间中有没有进程的概念,如果有进程是如何创建的?

根据我的理解,内核线程将使用 kernel_thread() 等在内核空间中创建,kernel_thread() 在内部调用 do_fork(),所以内核线程也表示使用 task_struct

如果用户空间进程和内核空间线程都使用task_struct表示,那么调度器将如何调度用户空间进程和内核空间线程?

最佳答案

是的,它们都是通过task_struct处理的。

关键内核线程具有 RT(“实时”)调度程序类,其优先级高于通常用于用户空间线程的 CFS 调度程序。 .只需检查您的 ps:

# ps ax --format uname,pid,ppid,tty,cmd,cls,pri,rtprio | egrep '(FF|RR)'

(内核线程显示在方括号中)

但是,如您所见,许多内核线程都有 TS 调度程序。我不认为有理由让所有内核线程实时。例如,您可以将 VLC 播放器显示的情感场景推迟回写到磁盘。

关于linux - Linux内核空间中的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28135246/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com