天勤操作系统 第二章:进程管理

基本概念

程序的执行特征
顺序性:处理机的操作严格按照程序规定的顺序执行,即每一操作必须在上一个操作结束之后开始。
封闭性:程序是在封闭的环境下执行的,即程序运行时独占全机资源,资源的状态只有本程序能改变它。
可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停顿地执行,还是停停走走地执行,都将获得相同的结果。

程序并发执行时的特征
1:间断性:程序在并发执行的时候,因为是共享资源,以及完成同一项任务而相互合作,致使在这些并发执行的程序之间形成了相互制约的关系,导致程序执行呈现:执行–暂停–执行
2:失去封闭性:当系统中有多个并发执行的程序时,各个资源是他们所共享的,这些资源的状态也由这些程序所改变,所以摸一个程序的运行环境会受到其他程序的影响。
3:不可再现性

为了使程序能并发执行,且为了对并发执行的程序加以描述和控制,引入了“进程”的概念。

进程控制块:PCB
PCB是进程存在的唯一标志!
在这里插入图片描述
进程描述信息
进程标识符(唯一的,用整数表示)
进程名(基于可执行文件名,用字符串表示,不唯一)
用户标识符
进程组关系(父进程结束,子进程结束)

进程控制信息
当前状态
优先级
代码执行入口地址
程序磁盘地址
运行统计信息(执行时间、页面调度)
进程间同步和通讯信息
进程的队列指针
进程的信息队列指针

所拥有的资源和使用情况
虚拟地址空间情况

CPU现场信息
寄存器值(通用寄存器,PC,PSW,栈指针)
指向该进程页表的指针

进程的特征
1、结构特征
进程实体:进程控制块—程序段—相关数据
2、动态性 进程是程序的一次执行,它有着创建、活动、暂停、终止等过程,具有一定的生命周期,是动态地产生、变化和消亡的。 动态性是进程最基本的特征。
3、并发性:指多个进程实体,同存于内存中,能在一段时间内同时运行,并发性是进程的重要特征,同时也是操作系统的重要特征。
4、独立性
5、异步性:由于进程的相互制约,使进程具有执行的间断性,即进程按各自独立的、 不可预知的速度向前推进。异步性会导致执行结果的不可再现性,为此,在操作系统中必须配置相应的进程同步机制。

进程的定义
从不同的角度,进程可以有不同的定义,比较典型的定义有:
进程是程序的一次执行过程。
进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

在引入进程实体的概念后,我们可以把传统操作系统中的进程定义为:”进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

进程控制

进程的状态及转化

进程的三态模型
执行(running)态:进程占有处理器正在运行的状态。
进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态; 在多处理机系统中,则有多个进程处于执行状态。

就绪(ready)态:进程具备运行条件,等待系统分配处理器以便运行的状态。
当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。

阻塞(block)态:又称等待态,指进程不具备运行条件,正在等待某个时间完成的状态。
也称为等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。

创建
终止
挂起:挂起阻塞 挂起就绪
在这里插入图片描述
引起进程状态转换的具体原因如下:
执行态→阻塞态:等待使用资源;如等待外设传输;等待人工干预。
阻塞态→就绪态:资源得到满足;如外设传输结束;人工干预完成。
执行态→就绪态:运行时间片到;出现有更高优先权进程。
就绪态→执行态:CPU 空闲时选择一个就绪进程。
在这里插入图片描述
进程的创建
1、申请空白PCB
2、为新进程分配资源
3、初始化进程控制块
4、将新进程插入就绪队列

进程的终止
1、根据被终止进程的标识符,从PCB集合中找出该进程的PCB,从中取出该进程的状态
2、若将被终止的进程正处于执行状态,则终止该进程的执行,并将处理机资源分配给其他进程
3、若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防它们成为不可控的进程
4、将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统
5、将被终止的进程的PCB从所在队列(或链表)中移出。

进程的阻塞
1、先用进程标识符找到要被阻塞的进程
2、若该进程处于运行状态,先立即停止执行,将其状态转为阻塞态
3、将本进程插入到阻塞队列,如果系统中设置了因不同时间而阻塞的多个阻塞队列,则插入具有相同事件的阻塞(等待)队列。
4、转调度程序进行重新调度,将处理机分配给另一就绪进程

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

阻塞原语与唤醒原语刚好相反

引起进程创建的事件
用户登录,作业调度,提供服务,应用请求

引起进程终止的事件可以分为三类
1、进程正常结束
2、进程异常结束
3、外界干预

进程切换
1、保存被终端进程的处理机上下文信息
2、更新被终端进程的PCB信息,如进程状态
3、把被中断进程的PCB加入相关队列
4、选择一个新进程并更新其PCB信息,如进程状态。
5、更新被选中进程的存储管理信息
6、恢复被选中进程的处理机上下文信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值