程序与进程
一、程序
1、定义:存放在磁盘上的指令和数据的有序集合(文件)。
2、特点:程序时静态的。
二、进程
1、定义:执行一个程序所分配的资源的总称,进程是程序的一次执行过程。
2、特点:进程是动态的,包括创建、调度、执行和消亡。
三、程序与进程
四、进程内容
1、正文段,也就是代码(程序的一部分)
2、用户数据段(程序的另一部分)
3、系统数据段(进程特有的部分)
3.1 进程控制块(pcb) 包括:进程标识PID(一个正整数)、进程用户、进程状态与优先级、文件描述符表。
3.2 CPU寄存器的值,如PC寄存器值等
3.3 堆栈,如存放程序局部变量的栈。
五、进程类型
1、交互进程
在shell下启动,可以通过终端(如显示器、鼠标和键盘)和用户交互。可以在前端运行,也可以在后台运行。
2、批处理进程
和终端关系不大,被提交到一个作业队列中以便顺序执行。系统管理员使用的比较多,程序开发人员使用的比较少。
3、守护进程
和终端无关,一直在后台运行,如服务器上的程序。
六、进程状态
1、运行态:包括(进程)正在运行态;(进程)可运行态(就绪态)。
2、阻塞态/睡眠态/等待态:进程在等待一个事件的发生或某种系统资源。等待态又可分为可中断等待态和不可中断等待态。
3、停止态:进程被中止,收到信号后可继续运行。
4、僵尸态/死亡态:已终止的进程,其他资源都被释放,但进程控制块(pcb)没有被释放。要尽量避免这种状态的出现。