我的GIS/CS学习笔记:https://github.com/yunwei37/ZJU-CS-GIS-ClassNotes
<一个浙江大学本科生的计算机、地理信息科学知识库 >
第四章 进程描述
本章将对进程进行全面的描述。
进程定义:所谓进程是由正文段(Text)、用户数据段(User Segment)以及系统数据段(System Segment)共同组成的一个执行环境。它代表程序的执行过程,是一个动态的实体。
程序定义:程序只是一个普通文件,是一个机器代码指令和数据的集合。程序是一个静态的实体。
进程实体由 3 个独立的部分组成:
- 正文段(Text):存放被执行的机器指令。
- 用户数据段(User Segment):存放进程在执行时直接进行操作的所有数据
- 系统数据段(System Segment):该段有效地存放程序运行的环境
Linux 中的进程概述
Linux 中的每个进程由一个 task_struct 数据结构来描述,任务(Task)和进程(Process)是两个相同的术语,task_struct 其实就是通常所说的“进程控制块”即 PCB。
- Linux 支持多处理机(SMP)
- Linux 也支持两种进程:普通进程和实时进程
task_struct 数据结构按其功能可做如下划分:
- 进程状态(State);
- 进程调度信息(Scheduling Information);
- 各种标识符(Identifiers);
- 进程通信有关信息(IPC,Inter_Process Communication);
- 时间和定时器信息(Times and Timers);
- 进程链接信息(Links);
- 文件系统信息(File System);
- 虚拟内存信息(Virtual Memory);
- 页面管理信息(page);
- 对称多处理器(SMP)信息;
- 和处理器相关的环境(上下文)信息(Processor Specific Context)
- 其他
task_struct 结构描述
进程执行时,它会根据具体情况改变状态;
- 可运行状态:要么正在运行、要么正准备运行。
- 等待状态:可中断的等待状态和不可中断的等待状态。
- 暂停状态
- 僵死状态
进程调度信息:调度程序利用这部分信息决定系统中哪个进程最应该运行
标识符(Identifiers):每个进程有进程标识符、用户标识符、组标识符
进程通信有关信息(IPC,Inter_Process Communication)
进程链接信息(Links):程序创建的进程具有父/子关系。
时间和定时器信息(Times and Timers):实时定时器、虚拟定时器和概况定时器
虚拟内存信息(Virtual Memory)
页面管理信息:当物理