always chase after what I like, but never forget what I dream of."

用户进程和内核进程的对应关系

各个教科书都解释过,用户线程:内核线程:内核进程有n:0:1和n:n:1和m:n:r(m>n>r>1)的关系。

 

用户线程必须与内核线程相关联的原因是:

用户线程本身只是一堆数据用户程序。内核线程是系统中的真正线程,因此对于用户线程来说,用户程序必须让它的调度器采用用户线程,然后在内核线程上运行它。用户线程和内核线程之间的映射不必是一对一(1:1)映射;你可以有多个用户线程共享相同的内核线程(每次只运行其中一个用户线程),并且你可以有一个单独的用户线程在不同的内核线程(1:n)映射之间循环。

 

结论:

如果线程管理调度工作在用户空间完成,则内核线程比用户线程更少甚至没有(只有一个内核进程)。只有一个进程是极端情况,m:n:r是中间情况。

如果在内核空间调度管理,则必须一一映射到内核空间。

 

posted @ 2018-10-10 11:00  zx1116  阅读(2855)  评论(0编辑  收藏  举报

always chase after what I like, but never forget what I dream of."