[理工] User thread 以及 kernel thread的观念

楼主: a7879210 (宇哦)   2021-06-18 16:14:44
各位好 最近在阅读OS此小节时
翻过恐龙原文书以及补习班笔记都看不太懂这两个的定义
我自己是这样理解
user thread就是user由user-level的thread library呼叫一些api创建出来,os不知道这
些user thread的存在,但os知道由os管理的kernel thread的存在,所以user thread如
果要在CPU上执行或是要呼叫system call请求OS提供服务,必须mapping到os所管理的ker
nel thread才能让os知道,以便提供服务以及资源分配还有在CPU上执行
以上是我从user thread以及kernel thread对于multiprocessor架构上的效率优劣猜想出
来的,不知道我下面画的图又对应到CPU这样子对不对?
https://i.imgur.com/oQeefhM.jpg
所以CPU真正执行的thread其实是以kernel thread为最小单位
想请问我这样理解是否有错…谢谢各位
作者: kyuudonut (善良老百姓)   2021-06-18 18:29:00
你理解到这样就差不多了,别太钻牛角尖,Linux 也不是长这样 (′・_・`)所以你网络上找到的资料只会越查越乱考试就多做考古题,多看补习班解答或是版友拟答,揣摩自己答案是什么; 考试嘛 (′_ゝ`)如果对现代系统有兴趣,可以去找一下 Linux process 跟Scheduler 的东西来看
作者: plsmaop (plsmaop)   2021-06-18 22:37:00
Linux 最小执行单位是 task,process 跟Thread 都是 task
楼主: a7879210 (宇哦)   2021-06-18 23:36:00
好的 了解 感谢各位!

Links booklink

Contact Us: admin [ a t ] ucptt.com