操作系统-预习笔记-Chap02-0201

Chap02 进程管理

操作系统的特性之一是并发和共享,即在系统中同时存在几个相互独立的程序,这些程序在系统中既交叉地运行,又要共享系统中的资源,这就会引起一系列的问题,包括:对资源的竞争、运行程序之间的通信、程序之间的合作与协同等。

2.1前趋图和程序执行

前趋图:前趋图是一个有向无循环图,用于描述进程之间执行的前后关系。在前趋图中不存在循环
操作系统-预习笔记-Chap02-0201
前趋关系:
P1->P2, P1->P3, P1->P4, P2->P5, P3->P5, P4->P6,
P4->P7, P5->P8, P6->P8, P7->P9, P8->P9

在单道系统中,系统会对用户作业进行处理:首先输入用户的程序和数据【INPUT】,然后进行计算【CACULATE】, 最后打印计算结构【PRINT】。即每道作业都有三个顺序执行的操作 I:输入操作 C:计算操作 P:输出操作

程序的顺序执行:一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种程序执行的方式就成为程序的顺序执行。

特征:顺序性(处理机的操作沿革按照程序所规定的顺序执行);
封闭性(程序一旦开始执行,其计算结果不受外界因素的影响);
可再现性(程序执行的结果与它的执行速度无关,而只与初始条件有关);

程序的并发执行:在系统中有N个作业,每个作业都有三个顺序操作,输入数据、处理、输出,即 Ii,Ci,Pi;其中Ii,Ci,Pi的执行必须按照Ii,Ci,Pi的顺序,但是C1和I2,P1和I3,I3和C2是可以同时执行的。

操作系统-预习笔记-Chap02-0201
操作系统-预习笔记-Chap02-0201
特征:
间断性(在多道程序设计的环境下,程序的并发执行,以及为完成一项任务而相互合作,这些程序之间要共享系统的资源,形成了相互制约的关系。相互制约导致并发程序具有“执行-暂停-执行”这种间断性的活动规律);
失去封闭性(程序在并发执行时,改变,程序运行失去封闭性。一程序的运行受到其他程序的影响);
不可再现性(程序在并发执行时,多次运行初始条件相同的同一程序会得出不同的运行结果)

2.2进程的描述

2.2.1 进程的特征和定义

在多道程序设计的环境下,为了描述程序在计算机系统内的执行情况,必须引入新的概念——进程。

关于进程的定义有很多:

程序关于某个数据集合的一次执行过程; 行为的一个规则叫做程序,程序在处理机上执行所发生的活动称为进程;
进程是这样的的计算部分,他是可以和其他计算机并行的一个计算;
进程是一个程序与其他数据一道通过处理机的执行所发生的的活动;
进程是执行中的程序

进程的特征:
1)结构特征
进程控制块PCB + 程序 + 数据 = 进程实体;
2)动态性——最基本特征
进程实体的一次执行过程,有声明周期;
3)并发性
4)独立性
4)异步性
进程按照各自独立的、不可预知的速度向前推进

2.2.2 进程的三种基本状态

进程的三种基本状态有:
就绪状态 Ready
(进程已获得除CPU以外的所有必须资源,一旦得到CPU的控制权,立即可以运行);
运行状态 Running
(进程已获得运行所必须的资源,它的程序正在处理机上执行);
阻塞状态 Blocked
(正在执行的进程由于发生某事件而暂时无法执行时,便放弃处理机而处于暂停状态,称该进程处于阻塞状态或等待状态)
操作系统-预习笔记-Chap02-0201
关于对进程的三种基本状态以及各状态之间的转换关系的描述

进程调度程序会按照在就绪队列中进程的优先级选择优先级高的进程先放到CPU上执行并分配给这个进程一个时间片,在进程获得CPU的使用权的这段时间片中,进程可能会完成自身所要执行的任务后释放资源;也可能在分配的时间片用完后还没有完成,就会返回就绪队列中重新排队;还有可能遇到不可知的原因,进程中断,从而进入阻塞队列,此时进程发送的I\O请求如果得到回应,即除了CPU以外的进程所必须的所有资源都得到了,就会从阻塞态进入到就绪态。

2.2.3 挂起状态

关于对挂起状态的描述:

由于I\O的速度慢于CPU的运算速度,经常出现CPU等待I\O的情况。这时OS需要将主存中的进程对换至外存。在进程行为模式中需要增加一个新的挂起状态。当内存中所有进程阻塞时,OS可将一进程置为挂起状态并交换到外存,再调入另一个进程执行。

引起挂起状态的原因:
1)终端用户的请求;2)父进程请求;3)负荷调节的需要;4)操作系统的需要。
操作系统-预习笔记-Chap02-0201
引入挂起状态后,增加了挂起状态到非挂起状态的转换