一.概念
广义上, 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
狭义上, 进程是正在运行的程序的实例。
二.进程的创建
有下面四种方式创建进程:
1.系统初始化;
2.执行了正在运行的进程所调用的进程创建系统调用;
3.用户请求创建一个新的进程;
4.一个批处理作业的初始化。
三.进程的终止
进程的终止通常由下列条件引起:
1.正常退出(自愿的)
2.出错退出(自愿的)
3.严重错误(非自愿)
4.被其他进程杀死(非自愿)
四.进程的状态
1.运行态:该时刻进程实际占用CPU。
2.就绪态:可运行,但因为其他进程正在运行而暂时停止。
3.阻塞态:除非某种外部事件发生,否则进程不能运行。
五.进程表
为了实现进程模型,操作系统维护着一张表格(一个结构数组),即进程表(process table),也成为进程控制块(PCB)。每个进程占用一个进程表项。该表项包含了进程状态的重要信息,包括程序计数器,堆栈指针,内存分配状态,所打开文件的状态,账号和调度信息,以及其他在进程由运行态转换到就绪态或阻塞态时必须保存的信息,从而保证该进程随后能再次启动,就像从未被中断过一样。
一个典型的进程表项包含的字段如下图所示
六.其他
1.守护进程
停留在后台处理诸如电子邮件,Web页面,新闻,打印之类活动的进程成为守护进程(daemon)。
2.进程与程序区别
1)程序是永存的;进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的;
2)进程是程序的一次运行活动,属于一种动态的概念。 程序是一组有序的静态指令,是一种静态的概念;
3)进程具有并发性,而程序没有;
4)进程和程序不是一一对应的: 一个程序可对应多个进程即多个进程可执行同一程序; 一个进程可以执行一个或几个程序
版权所有,欢迎转载,转载请注明出处,谢谢