linux系统编程之进程(一) 进程概述
一、什么是进程
从用户的角度来看进程是程序的一次执行过程。 从操作系统的核心来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位。 进程是资源分配的最小单位。 每一个进程都有自己独立的地址空间与执行状态。 像UNIX这样的多任务操作系统能够让许多程序同时运行,每一个运行着的程序就构成了一个进程。 二、进程数据结构 进程的静态描述:由三部分组成:PCB、有关程序段和该程序段对其进行操作的数据结构集。 进程控制块:用于描述进程情况及控制进程运行所需的全部信息。 代码段:是进程中能被进程调度程序在CPU上执行的程序代码段。 数据段:一个进程的数据段,可以是进程对应的程序加工处理的原始数据,也可以是程序执行后产生的中间或最终数据 堆栈段:程序运行时需要在这里做数据运算,存储临时数据,开辟函数栈等。在Linux下,栈是高地址往低地址增长的。 三、进程与程序 进程是动态的,程序是静态的。 进程的生命周期是相对短暂的,而程序是永久的。 进程数据结构PCB。 一个进程只能对应一个程序,一个程序可以对应多个进程。 四、进程状态变迁 运行状态(TASK_RUNNING) 可中断睡眠状态(TASK_INTERRUPTIBLE) 不可中断睡眠状态(TASK_UNINTERRUPTIBLE) 暂停状态(TASK_STOPPED) 僵死状态(TASK_ZOMBIE)
(编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |