1、程序(顺序程序)
是指令或语句序列,体现某种算法,所有程序是顺序的
是机器代码指令和数据的集合,存储在磁盘上的一个可执行映像
顺序环境:计算机系统中只有一个程序在运行,独占系统中的所有资源,执行不受外界影响
特征(1) 程序执行的顺序性
(2) 程序执行的封闭性:独占资源,执行过程不受影响
(3) 程序结果的可再现性:程序运行结果与执行速度无关,只要初始状态相同,结果应相同
2、程序并发执行
在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,且次序不是事先确定的。并发执行的两个程序的执行在时间上是重叠的 (宏观上同时运行,微观上交替地间断运行)
特征(1) 程序结果不可再现性:程序执行结果与其执行的相对速度有关,是不确定的
如: 程序A和B都访问一个公共变量 int N = 1;
程序A N:=N+1; (可分解为3个指令 A<- N; A<- A+1; N<- A;)
程序B N:=N+1;(B<- N; B<- B+1; N<- B;)
(2)并发环境下,程序的执行是间断性的:执行 --- 停 --- 执行
(3) 程序的并发执行提高系统资源的利用率,增强系统的处理呢能力。
与顺序程序比较,有了新特性:失去了程序的封闭性
程序和机器执行程序的活动不再一一对应
并发程序间相互制约
程序并发执行和资源共享(系统中硬件和软件不再为单个用户程序所独占,而由几个用户程序共同使用)是现代操作系统的基本特性
3、进程的引入
程序”不能如实反映程序并发执行过程中的特征
(1) 进程定义:程序的一次执行,该程序可与其它程序并发执行。
或 可并发执行的程序在一个数据集合上的执行过程
(2) 进程的组成(实体):程序 --- 描述进程要完成的功能
数据集 --- 包括程序在执行时所需要的数据和工作区
进程控制块PCB --- 描述进程当前状态的数据结构(体现进程的动态特性)
--- 进程创建时产生,进程撤销时收回
PCB包括:进程标识名或标识数(外部标识或内部标识)、位置信息、状态信息、进程的优先级
现场保护区、资源清单、队列指针或链数字、进程同步和通信等其他信息。
系统在内存为PCB开辟专区,用来存放各进程的PCB,常驻内存
(3)进程的状态:就绪、运行、阻塞
就绪 --> 运行:时间一到,调度程序选择一个新的进程运行
运行 --> 就绪:运行进程用完了时间片
运行进程被中断,因为一高优先级进程处于就绪状态
运行 --> 阻塞: 当一进程所需的资源必须等待时 --- OS尚未完成服务
--- 对一资源的访问尚不能进行
--- 初始化I/O 且必须等待结果
--- 等待某一进程提供输入
阻塞 --> 就绪:当所等待的事件发生时