进程管理概述

2.1前趋图和程序执行

2.1.1.前趋图

是指一个有向无循环图,用于描述进程间运行的先后顺序
初始结点:没有直接前趋的节点
终止结点:没有直接后继的结点

2.1.2程序顺序执行

特征:
1.顺序性: 处理机严格按照程序规定的顺序执行
2.封闭性:程序在运行的环境是封闭的,独占全机的资源
3.可在现行: 只要程序的资源和环境一样,无论是一次性执行完还是间断性执行,运行结果都一样

2.1.3 程序的并发执行

只有程序见不存在前趋关系,才可以并发执行

特征:

1.间断性: 程序在并发执行时,由于共享资源,以及为了完成一个任务而工作,相互之间形成了制约关系 ,导致程序间断的执行
2.失去了封闭性: 进程之间共享资源,资源的状态也将于程序来改变,导致了环境必然受其他程序的影响,失去了封闭性
3.不可再现性:程序在并发执行时失去了封闭性,其结果将与并发程序运行速度有关,将导致其结果的不可再现性

2.2进程的描述

2.2.1进程的定义和特征
进程的定义

由程序段和数据段以及PCB(进程控制块)组成的进程实体简称为进程
1.进程是程序的一次执行
2.进程是一个程序及其数据在处理机上顺序运行的一次过程
3.他是系统进行资源分配和调度的独立单位

进程的特征

1.动态性:进程的实质程序的执行过程
2.并发性:多个进程同存于内存中,且在一段时间内同时运行
3.独立性: 进行实体是一个能独立运行,独立获得资源,独立接受调度的基本单位
4.异步性: 进程按异步的方式进行

2.2.2 进程的基本状态及转换

1.就绪状态: 进程已处于准备运行的状态,等着处理机分配cpu 。如果仅从中有许多进程,通常将它们按一定策略排成一个队列,称为就绪队列
2.执行状态: 进程以获得cpu,正在运行,运行的进程数取决于处理机的个数
3.阻塞状态:正在执行的程序由于发生的某事件暂时无法继续执行的状态(如请求I/O设备,申请缓存等) 处于阻塞状态的程序也排成一个队列,通常根据阻塞原因不同分为多个队列
状态之间的转换
在这里插入图片描述(图片来源于网络)
就绪—执行:当程序获得cpu
执行—阻塞:因发生某事件(如访问某临界资源)导致程序受阻时
阻塞—就绪:请求事件成功

创建状态和终止状态

创建状态:进程被创建但尚未完成的状态,进程不能被调度
终止状态:当进程运行结束或被终结,进程进入终止状态

2.2.4 进程的数据结构

1.资源信息表

:系统中,对于每一个进程和资源都设置了一个数据结构,用于表征其实体
os数据结构:内存表
设备表
文件表
进程表(PCB)

2.进程控制块PCB

PCB:是系统中用于描述进程当前情况和管理进程运行的全部信息
PCB作用
:使一个多道程序环境下不能独立运行的程序,成为能独立运行的基本单位
1.作为独立运行的基本单位的标识。系统通过PCB感知进程的存在
2.能实现间断行运行的方式:PCB中存储了cpu所需的信息
3.提供进程管理的信息
4.提供进程调度所需的信息
5.实现与其他进程的同步通信
PCB的组成
1.进程标识符:用于唯一地标识一个进程
.外部标识符: 进程的名字
内部标识符:进程的序号(pid)
2.处理机状态(处理机的上下文):是由处理机的各种寄存器中的内存组成的
3.进程调度信息:
进程状态
进程优先级
进程调度所需的信息
事件( 阻塞原因)
4.进程控制信息:
程序和数据的地址
进程同步和通信机制
资源清单
链接地址

2.3进程的控制

进程控制是进程管理中的基本功能,主要有:创建新进程,终止已完成的进程,将因发生异常情况而无法继续执行的程序置于阻塞状态
进程控制一般有os中的内核来实现

2.3.1操作系统的内核

内核:包含与硬件紧密相连的模块,各种常用设备的驱动程序,以及运行频率较高的模块(时钟模块,进程调度等)
处理机的状态
系统态(管态)也称为内核态
用户态:也成为目态,具有较低特权的执行状态

os两大功能
1.支撑功能

中断处理
时钟管理
原语操作:原语是指有若干条指令造成的,用于完成一定功能的一个过程
(原子操作)

2.资源管理功能

进程控制
存储器管理
设备管理

2.3.2进程的创建

1.进程的层次
通常把创建进程的进程成、称为父进程,被创建的进程称为子进程
UNIX:进程与子孙进程共同组成一个进程家族(组)
Windows:所有进程有同等地位
2.进程的创建
1.申请空白PCB
2.为新进程分配所需要的资源
3.初始化进程控制块
4.如果进程就绪队列能过接纳新进程,便将新进程插入就绪队列

2.3.3进程的终止
1.引起进程终止的事件

正常结束(进程的任务完成)
异常结束(越界,保护,非法指令等)
外界干预(进程响应外界请求而终止运行)

2.进程的终止过程

1根据被终止进程的标识符,从PCB集合检索出该进程的PCB,从中读取该进程的状态
2.若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标识为真
3.若该进程由子孙进程。则子孙进程也应终止
4.将被终止进程所拥有的资源归还给父进程或系统
5.将被终止的PCB从所在队列中移除,等待其他程序来搜素信息
2.3.4进程的阻塞和唤醒
在这里插入图片描述

引起阻塞的事件

1.像系统请求共享资源失败
2.等待某种操作的完成
3.新数据尚未到达
4.等待新任务的到达
进程阻塞的过程
阻塞是进程的主动行为,当发生上述事件正在执行进程调用block原语将自己阻塞,并更改PCB中的相应信息
进程的唤醒
当被阻塞进程所请求的事件发生时,则有相关进程调用唤醒原语wakeup。将等待该事件的进程唤醒
进程的挂起和激活
挂起原语Suspend:处于挂起状态的进程不接受调度,进程存放在外存中
激活原语Active:将进程从挂起变为激活,将进程调入内存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值