内核线程、用户进程、用户线程

内核线程、用户进程、用户线程

从kernel创建init 进程之后,内核就不再主动占有cpu了。只有当进程主动要求和中断到来时,内核才动一动,很快又把cpu还给合适的进程。
Linux上进程分3种,内核线程、用户进程、用户线程。


内核线程
内核线程拥有进程描述符、PID、进程正文段、核心堆栈;
因为内核线程不访问用户空间,只操作内核空间内存,而所有内核线程的内核空间都是一样的。这样就省下了一个mm域的内存。


用户进程
拥有进程描述符、PID、进程正文段、核心堆栈 、用户空间的数据段和堆栈


用户线程
拥有进程描述符、PID、进程正文段、核心堆栈,同父进程共享用户空间的数据段和堆栈;
用户线程也可以通过exec函数族拥有自己的用户空间的数据段和堆栈,成为用户进程。

原文地址:https://www.cnblogs.com/liulipeng/p/3336493.html