1、Linux系统中包括以下几种类型的进程
1.1 交互式进程
这类进程经常与用户进行交互,因此要花很多时间等待用户的交互操作。典型的交互式进程有shell命令进程,文本编辑器和图形应用程序运行等。
1.2 批处理进程
这类进程不用与用户进行交互,因此经常在系统后台运行。因为这类进程通常不必很快地响应,因此往往受到调度器的“慢待”。典型的批处理进程包括编译器的编译操作、数据搜索引擎等。
1.3 实时进程
这类进程通常对调度响应时间有很高的要求,一般都不会被低优先级的进程阻塞。
2、Linux下的进程结构
进程不但包括程序的指令和数据,而且包括程序计数器和处理器的所有寄存器及存储临时数据的进程堆栈,因此正在执行的进程包括处理器当前的一切活动。
内核将所有进程存放在双向循环链表(进程链表)中。其中链表的头是init_task描述符。链表的每一项都是类型为task_struct,称为进程描述符的结构,这个结构包含了一个进程相关的所有信息。