1 进程的基本概念
关于程序执行顺序
(1) 顺序性 处理机的操作严格按程序规定顺序执行
(2) 封闭性 程序一旦开始执行,其计算结果不受外界因素影响。
(3) 可再现性 程序执行只要初始条件一样,不论如何停顿,重复执行多少次结果都一样。
并发提高效率 但 并发也带来问题
多个程序如果无序并发,得到的只能是混乱的执行结果, 多道程序运行,走走停停的可能顺序有很多种,符合前趋图的关系才是合理并发。
并发程序执行时的特征
不可再现结果的并发无意义
多道并发应是“有控制的并发” 1.要“能控制”, 2. 要“合理控制”
进程的定义
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
结构性特征,进程的根本——PCB 动态性 进程实质上是进程实体的一次有生命期的执行过程。程序只是静态的一组有序指令。 进程最基本特征 并发性 多个进程实体同存于内存中,在一段时间内同时运行。 有PCB的程序才能并发。 独立性 异步性
区别进程与程序
动与静: 进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。 永久与暂时: 进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存。 结构: 进程的组成包括程序、数据和进程控制块(进程各种控制信息)。 进程与程序的对应关系: 都可1对n。通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
进程执行时的间断性,决定了其具有多种状态。把握各进程所属的状态对进程控制至关重要。与进程执行相关的各种共享资源有:
CPU 存储器 I/O设备 时间片
进程的三种基本状态
(1)就绪状态(Ready) 进程获得除CPU之外的所有必需资源,一旦得到CPU控制权,可立即运行。 (2)运行状态(Running) 进程已获得所有运行必需的资源,正在处理机上执行。 (3)阻塞状态(Blocked) 正在执行的进程由于发生某事件(请求I/O、申请缓冲、时间片到)而暂时无法执行时,便放弃CPU后暂停
各种状态下的进程队列
单处理机系统,执行态的进程只有一个; 就绪态、阻塞态的进程可有多个。
一般讲它们分别排称一个队列,称就绪队列、阻塞队列。 阻塞队列有的会根据不同原因再排成多个队列。
进程实体:代码段+数据段+PCB 进程控制块定义 Process Control Block 存放进程的管理和控制信息的数据结构称为进程控制块。
Pcb的重要性
进程控制块是进程存在的唯一标志: 进程创建时,PCB建立并伴随进程运行的全过程,直到进程撤消而撤消。PCB就象我们的户口。
PCB的组织方式
链接方式 同一状态的PCB,依靠链接指针链接成队列。就绪队列;若干个阻塞队列;空白队列(PCB区的空PCB块)
索引方式 同状态的PCB同样集中记录,但以索引表的方式记录PCB的地址。用专门的单元记录各索引表的首地址。
总结
进程是 进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
程序并发执行与顺序执行相比产生了一些新特征,分别是:
间断性、失去封闭性、不可再现性
进程的基本特征是:动态性、并发性、独立性、异步性、结构性
进程的基本状态有:执行、就绪、阻塞
管理系统所有PCB时,系统的几个关键指针有:执行指针、就绪指针、阻塞指针、空闲指针
当进程执行的时间片用完时,进程从:执行状态变为就绪状态
分配到必要资源并获得处理机时的进程状态是: 执行状态
进程从结构上讲,包括 在一个单处理机中,若有4个用户进程且假定当前时刻有一个进程处于执行状态,则处于就绪状态的进程最多有:3个,最少有0个