操作系统(四)------进程的管理

进程的引入

程序的顺序执行及其特征

程序的执行

在未配置OS的系统中,程序是顺序执行的
通常把应用程序分成若干程序段,在各程序之间,按照某种先后顺序执行.

程序顺序执行的特征

1.程序执行的顺序性
2.程序环境的封闭性
3.程序结果的可再现性

程序的并发执行及其特征

并发执行

在多道程序环境下,允许多个程序并发执行
不同程序的输入,输出,处理可以并发执行

特征

1.间断性:多个程序的相互制约,在并发执行,具有“执行-暂停-执行”的间断性
2.失去封闭性:多个程序共享系统资源,其他程序可以改变一个程序环境中资源的状态,失去了封闭性。
3.不可再现性:由于失去封闭性,导致并发执行的程序出现不可再现性

为什么引入进程

1.在多道程序系统中,程序的并发执行失去封闭性,具有不可再现性的特征,这样,程序的并发执行已失去了意义。
2.并发性是OS的基本特征,是提高系统吞吐量、资源利用率的条件,谷引入进程概念

进程的特征与状态

进程的特征

程序相当于火车,进程相当于列车,程序是静止的,列车是运动的
1.结构特征:
进程=程序段+数据段+进程控制块PCB,PCB相当于列车时刻表,是一个大的记录型数据结构,以保留进程现场和进程控制信息
2.动态性:
进程是程序的一次执行过程,由创建而产生,因调度而执行,因阻塞而暂停,因撤销而消亡
3.并发性
由于PCB记录着进程所有的信息,OS可以根据PCB对并发执行的进程进行控制和调度,故多个进程可以在一段时间内同时运行
4.独立性
进程是独立的调度单位,资源分配单位
5异步性
进程按各自独立的,不可预知的速度向前推进

进程的定义

1.进程是程序的一次执行
2.进程是一个程序及其数据在处理机上顺序执行时所发生的活动
3.进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
4.进程的三种基本状态
(1)就绪态
(2)执行态
(3)阻塞态在这里插入图片描述

进程控制块PCB

进程控制块中的作用

1.PCB是重要的数据结构,位于系统区,存放OS所需的,用于描述进程标识、控制信息、调度信息等所需要的全部信息
2.PCB是进程存在的唯一标识,系统根据PCB而感知相应进程的存在,OS是根据PCB来对并发执行的进程进行控制和管理的

PCB里的信息

1.进程标识符
2.处理机状态
3.进程调度信息
4.进程控制信息

PCB的组织方式

1.链接方式:空间利用率高,检索慢
在这里插入图片描述

2.索引方式:建立索引表,以空间换取时间,提高检索速度
在这里插入图片描述

进程控制

进程控制是由操作系统内核中的原语来实现的
原语:由若干条指令构成的“原子操作”,是一个不可分割的基本单位,不允许中断,原子操作在管态下执行,常驻内存。作为一个整体不可分割,要么全都完成,要么全都不做。

进程的创建

1.进程图
进程图是用于描述进程家族关系的有向树,图中的结点代表进程,边代表进程之间的关系。
进程家族的祖先称为树根。
进程树:在这里插入图片描述

2.进程之间的关系的三层含义
1.子进程可继承父进程所拥有的资源
2.子进程撤销时应将其从父进程获得的资源归还给父进程
3.父进程撤销时必须同时撤销其所有子进程
为表示进程间的关系,在PCB中需要设置家族关系表项
3.进程的创建
1.申请空白PCB
2.为新进程分配资源
3.初始化PCB
4.将新进程插入就绪队列
调用者(或父进程)提供一组参数,在新建PCB中,会存放进程的所有调度信息等

进程的终止

1.引起进程终止的事件
1.正常结束
2.异常结束
3.外界干预
2.进程的终止过程
1.根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态
2.若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后,应重新进行调度
3.若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防成为不可控的进程
4.将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统
5.将被 终止进程的PCB,从所在队列(或链表)中移除

进程的创建原语与终止原语是一对相反的操作,标志着程序的一次执行。

进程的阻塞与唤醒

1.进程阻塞过程
进程阻塞是进程自身的一种主动行为
1.进入block过程后,将现行状态由“执行”改为“阻塞”,并将PCB插入阻塞队列
2.调度程序进行重新调度,将处理机分配给另一就绪程序,并进行切换
3.保留被阻塞进程的处理机状态,再按新进程的PCB中的处理机状态设置PCB的环境

2.进程唤醒过程
1.首先把被阻塞的进程从等待该事件的阻塞队列移出
2.将其PCB中的现行状态由阻塞改为就绪
3.然后再将该PCB插入到就绪队列中

进程的挂起与激活

1.挂起的执行过程
首先检查被挂起的进程状态
若处于活动就绪状态,便改为静止就绪
若处于活动阻塞状态,则改为静止阻塞
2.激活过程
激活原语先将进程从外存调入内存,检查该进程的现行状态:
若是静止就绪,便改为活动就绪
若是静止阻塞,便改为活动阻塞

进程互斥

两种形式的制约关系

1.间接相互制约关系,称为进程互斥
2.直接相互制约关系,称为进程同步

临界资源

指在一段时间内,只允许一个进程访问的资源

临界区

临界区:进程中访问临界的一段代码
进入区:在临界区之前,检查可否进入临界区的一段代码。如果可以进入临界区,通常设置相应“正在访问临界区”标志
退出区:用于将“正在访问临界区”标志清除
剩余区:代码剩余部分

同步机制应遵循的规则

空闲则入:其他进程均不处于临界区
忙则等待:已有进程处于其临界区
有权等待:等待进入临界区的进程不能“死等”
让权等待:不能进入临界区的进程,应释放CPU

信号量机制

整型信号量

最初把整型信号量定义为一个整型量,除初始化外,仅能通过两个标准的原子操作wait和signal来访问。P、V操作

记录型信号量

AND型信号量

1.将进程在整个运行过程中需要的所有资源,一次性全部的分配给进程,待进程使用完后再一起释放
2.要么全部分配到进程,要么一个也不分配

信号量集

1.前面讲的信号量操作,每次施以加1、减1操作,当进程一次需要N个某类资源时,便要执行N次wait(S)操作,显然是低效的。
2.有些情况下,当资源低于某个下限值时,便不予分配。
基于以上两点,信号量机制对AND信号量加以扩充,在每次分配前,都必须测试资源数量,看其是否大于其下限值,并可按要求一次性分配多个资源。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值