2014年(124)
分类: 嵌入式
2014-08-13 20:28:55
进程的概念:进程是一个独立的可调度的任务。是一个程序一次执行的过程。
程序是静态的,是保存在磁盘上的指令的有序集合,没有执行的概念。进程是动态的
,他是程序执行的过程,包括创建、调度、消亡,是程序执行的各种资源的总和,是资源管理的最小单位。
进程包括:正文段+用户数据段+系统数据段(进程控制块PCB)。
进程的分类:
1.交互进程:由shell控制运行的,可以在前台,也可以在后台运行的。
-ps -ef | grep a.out
./a.out & 后台运行
2.批处理进程:
不属于某个终端,它被提交到一个队列中以便顺序执行
3.守护进程:
在后台运行,在linux启动时开始执行,在系统关闭时候才结束
进程的状态:
运行态: 正在运行或者准备运行的状态(就差CPU分配时间片)
等待态:又称睡眠态,(不占CPU,CPU不处理,等待着资源),分为可中断与不可中断状态,等待不可中断是杀不死的状态。
停止态:GDB可以设置断点,kill -20 ,ctrl +Z,可以使进程停止。
死亡态:又称僵尸态,一个已经终止的进程,但还是在进程向量数组中占有一个task_struct结构。
fork()函数创建子进程
父进程先结束则1号进程收养子进程
子进程先结束,父进程未结束,则子进程变成了僵尸进程,必须利用wait()接收僵尸进程。