LINUX(一)进程

进程是LINUX下的代码执行流。

此篇文章大部分是参考《程序员的自我修养》《深入理解LINUX内核》

1、线程基础

除了进程process之外,线程也是一个十分重要的概念。特比是随着CPU频率增长出现停滞,向多核方向发展。

多线程,作为实现软件并发执行的一个重要方法,也开始扮演越来越重要的角色。

2、内核线程 & 用户线程

为了保护CPU 以及 底层硬件资源,将程序执行的权限划分成权限高的内核态线程 和 访问权限低的用户线程。即内核态程序和用户态程序,在此概念上,将一直处于内核态运行的进程——内核线程kernel thread,而那些大部分时间处于用户态运行,只有当调用系统调用而进入内核态,之后又恢复到用户态运行的进程——用户线程user thread。

    在这里,关于进程的创建、进程切换——进程调用、进程撤销这三个操作的具体细节不深入了。

但搞清楚几个必要的概念。

 

什么是“进程” :其实进程就是程序执行的实例。每一个存在的进程,都与进程描述符task_struct 一 一对应。

同时进程描述符结构体,又包含了许多的字段。比如:进程的基本信息thread_info;进程状态 state;进程标志符process ID ——PID用于标识进程 ;

等等,以上经常需要使用的字段,Linux 内核都定义了许多宏,还有系统调用来提供配套使用。在使用的时,可以随时查阅,不建议死记硬背,也同使用linux内核编程。

LINUX(一)进程_第1张图片

至于多线程又是另外一回事,

你可能感兴趣的:(咸飞的Linux内核心得)