2.1进程的基本概念
1、关于程序执行顺序
1)前趋图
1、前驱图是一个有向无循环图,用于描述进程之间执行的先后顺序
2、前趋图关注的是前趋关系,不能有循环
2)程序顺序执行时的特征
(1)顺序性
处理机的操作严格按程序规定顺序执行
(2)封闭性
程序一旦开始执行,其计算结果不受外界因素影响。
(3)可再现性
程序执行只要初始条件一样,不论如何停顿,重复执行多少次结果都一样。
3)程序的并发执行分析
1、并发不是随意的,多个程序如果无序并发,得到的只能是混乱的执行结果。
2、合理并发是符合前驱图的关系
3、没有任何干预下,会出现结果不可再现的并发,即错误的并发。
两程序对内存空间的使用是互相影响的,没有封闭性。
执行中对内存空间的修改都会影响对方结果,结果不可再现。
4)并发程序执行时的特征
1、间断性:“执行——暂停——执行”
2、结果不确定,程序执行将没有任何意义。
3、多道并发应是“有控制的并发”,不仅要“能控制”,还要能“合理控制”。
2、进程
程序是按事先设计的功能和性能要求执行的指令序列。,由数据段+程序段组成
控制块PCB用于并发时用于程序控制和资源管理的各种信息,与程序一起组成进程实体
1)进程的定义
1、进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
*可并发执行的程序在一个数据集合上的一次执行过程。
*程序的一次执行
*是一个程序与其数据一道通过处理机的执行所发生的活动。
2)进程的特征
①结构性特征,进程的根本——PCB
②动态性(最基本特征)
进程实质上是进程实体的一次有生命期的执行过程。
③并发性
注:有PCB的程序才能并发。
④独立性
⑤异步性
3)进程与程序的比较
动态性 时效性 组成结构 对应关系
进程 动态 临时性 数据、程序、PCB 1对n
程序 静态 永久性 数据段、程序段 1对n
4)进程的基本状态
1、进程执行时的间断性,决定了其具有多种状态。
(1)就绪状态(Ready)
进程获得除CPU之外的所有必需资源,一旦得到CPU控制权,可立即运行。
(2)运行状态(Running)
进程已获得所有运行必需的资源,正在处理机上执行。
(3)阻塞状态(Blocked)
正在执行的进程由于发生某事件(请求I/O、申请缓冲、时间片到)而暂时无法执行时,便放弃CPU后暂停
2、单处理机系统,执行态的进程只有一个,就绪态、阻塞态的进程可有多个。
3、 挂起状态:就绪的、但不会被调度执行
4、OS对进程进行控制和管理围绕PCB进行
1)PCB的重要性:是进程存在的唯一标志
2)进程控制块中的信息:
(1)进程标识符信息
(2)处理机状态信息
(3)进程调度信息
(4)进程控制信息
3)PCB信息的存放
系统运行中有若干个程序的PCB,它们常驻内存的PCB区。
采用的数据结构:PCB结构体,PCB链表或队列。
4)PCB的组织方式
链接方式:同一状态的PCB,依靠链接指针链接成队列。
思考:PCB5对应的进程结束执行,PCB空间会有则样的变化?
先执行指针指向PCB1,就绪指针指向PCB4,然后执行PCB1,释放PCB5,进入空闲队列
索引方式:同状态的PCB同样集中记录,但以索引表的方式记录PCB的地址。