日期:2014-05-16  浏览次数:20597 次

linux进程管理(1)---进程描述符

    linux支持多进程特性,可以最大化的使用cpu资源;用户可以在同一个cpu上运行多个用户程序。多进程的原理是:时钟中断触发进程调度程序,调度程序分时运行多个进程。这就要求每个进程能够保留现场信息(cpu现场、系统资源、调度信息等)。

    linux使用进程描述符记录现场信息,然后基于进程描述符管理进程,包括进程的创建、调度、消亡等操作。

    本系列文章将详细讲述进程管理相关的知识,内核版本为3.10,发行版为ubuntu12.04。


一、目的

    在介绍进程管理之前,先介绍进程描述符的概念及现场信息,并阐述这些信息的具体含义。


二、进程描述符

    进程不仅仅是运行着的程序,还包括拥有的系统资源、当前cpu现场、调度信息、进程间关系等重要信息,记录这些现场信息的结构就是进程描述符task_struct(可以在include/linux/sched.h中找到定义)。

    每个进程都有一个进程描述符,记录以下重要信息:进程标识符、进程当前状态、栈地址空间、内存地址空间、文件系统、打开的文件、信号量等。