定义
程序的概念
指令序列
进程的概念
PCB、程序段、数据段三部分构成了进程实体/进程映像,PCB是操作系统在内存中查找各程序的存放位置的依据
程序与进程的区别
- 进程动态,而程序静态
- 进程具有独立性,可并发执行,程序不可并发执行
- 进程异步进行,互相制约
- 组成不同,进程包含PCB、程序段和数据段,程序则包含数据和指令代码
- 程序是一个包含指令和数据的静态实体,不占用系统资源
- 一个程序可以启动多个进程来共同完成
- 进程不能脱离程序,而程序规定了相应进程需要完成的动作
进程的定义
进程实体即为进程,创建进程就是创建PCB,撤销进程就是撤销PCB,PCB是进程存在的唯一标志
- 进程是程序一次执行过程
- 进程是一个程序及其数据在处理机顺序上执行时发生的活动
- 进程是具有独立功能的程序在数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位
- 进程实体是静态的,进程是动态的,但不做额外区分
特征
- 动态性:程序的一次执行过程,动态产生、变化和消亡
- 并发性:内存中会同时存在多个进程,各进程可以并发执行
- 独立性:进程是能独立运行、获取资源、接受调度的基本单位
- 异步性:各进程按各自独立的、不可预知的速度向前推进,操作系统提供进程同步机制解决异步问题
- 结构性:每个进程结构都是PCB、数据段和程序段
组成
PCB、数据段、程序段
数据段
程序运行时使用、产生的运算数据都存在此
程序段
程序代码存在于此
PCB
系统通过PCB来管理进程,因此其中包含各种信息,用于描述进程当前情况以及控制进程运行的全部信息
PCB使得一个程序成为可并发执行的进程,当OS要调度某进程时,会根据其PCB查询其状态和优先级,调度到某进程后,根据状态信息设置进程恢复运行的现场,并根据PCB中的程序和数据的内存始址找到程序和数据
可见系统通过PCB感知进程的存在
PCB常包含:
- 进程描述信息:进程标识符PID(唯一),用户标识符UID
- 进程控制和管理信息:进程当前状态、进程优先级、代码运行入口地址、程序外存地址等
- 资源分配清单:程序段指针、数据段指针、键盘、鼠标、堆栈段指针、文件描述符等等
- 处理机相关信息:各种寄存器值,当进程状态切换,需要保留处理机信息,方便继续执行
组织方式
分为链接方式和索引方式
链接方式
按照进程状态分为多个队列,系统持有队列指针
索引方式
按照进程状态分为多个表,系统持有各个索引表的指针