导图社区 第二章 进程管理
操作系统第二章进程管理,思维导图。计算机操作系统—进程管理核心知识点总结快收下吧!进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存,网络资源等。很多人在回答进程的概念的时候,往往只会说它是一个运行的实体,而会忽略掉进程所占据的资源。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
第二章 进程管理
进程与线程
进程
PCB是进程存在的唯一标志
概念:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
进程控制块PCB:为了使并发执行的程序可以独立运行,必须为之配置一个专门的数据结构,PCB
进程映像:程序段+相关数据段+PCB
1.进程映像是静态的,但进程是动态的
特征
动态性 最基本的特征
并发性 最要特征
引入进程的目的:使程序能与其他进程的程序并发执行,以提高资源利用率
独立性
进程实体是一个能独立运行的,独立获得资源和独立接受调度的基本单位
没有建立PCB的进程都不能作为一个独立单位参与运行
异步性
进程按各自独立的,不可预知的速度向前推进
结构性
状态
运行状态:进程在处理机上运行
就绪状态:进程获得了除了处理机之外的一切所需要的资源,一旦得到处理机就可以运行
阻塞状态(等待状态):进程正在等待某件事而暂停运行
创建状态
结束状态
状态转换,图表
进程控制:对系统中的所有进程实施有效管理
进程的创建(创建原语)
会引起新进程的创建的是:终端用户登录系统,作业调度,系统提供服务,用户程序的应用请求
分配一个唯一的标识号,并申请一个空白的PCB
分配资源
初始化PCB
将新进程插入就绪状态
进程的终止(撤销原语)
正常结束:任务完成并退出运行
异常结束:进程在运行的过程中发生了异常事件
例如 保护错,存储区越界,非法指令,特权指令,I/O故障
进程的阻塞和唤醒
Block 原语和Wakeup原语是作用相反的原语,必须要成对的使用
阻塞:系统会自动的执行阻塞原语,是一种主动地行为,被阻塞的进程可以自我调用来实现
唤醒:由一个被唤醒进程相合作或其他进程调用来实现
进程的切换(在内核的支持下是实现):处理机从一个进程的运行转到另一个进程上运行
任何进程都是在操作系统内核的支持下运行的,与内核紧密相连
进程的组织,进程是操作系统的资源分配和独立运行的基本单位
PCB是进程实体的一部分,是进程存在的唯一标志
PCB的组织方式
链接组织
索引组织
程序段:被进程调度程序调度到CPU执行的程序代码段
数据段
进程的通信
共享存储
消息传递
直接通信方式(缓冲队列)
间接通信方式(信箱)
管道通信:连接读进程和写进程来实现他们之间通信的一个共享文件
线程
概念:轻量级的进程,是一个基本CPU执行单元,是程序执行流的最小单位
线程的属性
线程是轻型实体
线程自己不拥有资源,只有一点必不可少的资源
同一个进程中的多个线程可以并发执行,他们共享该进程所拥有的资源
线程是处理机的分配单元
线程也有生命周期,会经历各个状态
线程的实现方式
用户级线程:由应用程序来完成,内核意识不到现成的存在
内核级线程:由内核完成
多线程模型
多对一模型:多个用户级线程映射到一个内核级线程
一对一模型:每个用户级线程映射到一个内核
多对多模型:n个用户级线程映射到m个内核级线程
处理机调度
调度基本概念
概念:对处理机进行分配,从就绪队列中,按照一定的算法,选择进程并将处理机分配给它运行
调度的层次
作业调度(高级调度):内存和辅存之间的调度
中级调度(内存调度):为了要提高内存利用率和系统吞吐量
进程调度(低级调度):频率很高
三级调度:作业调度最少,中级略多,进程调度最多;进程调度最基本,不可或缺
调度时机,切换与过程
调度完成是切换,但要保护现场信息,恢复被调度进程的现场信息
进程的调度方式
非剥夺调度方式:实现简单,适合大多数的批处理系统,不能用于分时和实时系统
剥夺调度方式:把处理机分配给更紧迫的进程
调度的基本原则
CPU利用率
系统的吞吐量:单位时间内CPU完成作业的数量
周转时间:从作业提交到作业完成所经历的时间
完成-提交
平均周转时间
带权周转时间
等待时间
响应时间:从用户提交请求到系统首次产生响应所用的时间
典型的调度算法
先来先服务FCFS
不可剥夺算法,不能作为分时系统和实时系统的朱啊哟调度策略
算法简单
效率低
对长作业有利,对短作业不利
有利于CPU繁忙型作业,不利于I/O繁忙型作业
子主题
短作业优先SJF
选择预估运行时间最短的作业
特点
对长作业不利
没有考虑作业的紧迫程度
SJF平均等待时间,平均周转时间最少
优先级调度算法
优先级是用于描述作业的紧迫程度
静态优先级
动态优先级
非剥夺式优先级调度算法
剥夺式优先级调度算法
高响应比油性调度算法
主要用于作业调度
公式
克服了饥饿状态,也兼顾了长作业
时间片轮转调度算法
主要用于分时系统
总选择就绪队列中第一个进程,但仅能运行一个时间片
多级反馈队列调度算法
时间片和优先级的结合
进程同步
进程同步概念
临界资源:一次仅允许一个进程使用的资源
进入区
临界区:访问临界资源的那段代码
退出区
剩余区
同步:直接制约关系
进程间的制约关系就是他们之间的相互合作
互斥:间接制约关系
同步机制原则
空闲让进
忙则等待
有限等待
让权等待
临界区互斥方法
软件实现
单标志法turn
双标志法先检查flag[i]
双标志法后检查
Peterson 算法
硬件实现
中断屏蔽方法:只适合单CPU
硬件指令方法
TestAndSet指令:原子操作,执行该代码不能被中断
Swap指令:交换两个字节内容
信号量
P操作
V操作
管程
概念:由一组数据预计定义在这组数据之上的对这组数据的操作组成的软件模块
管程的组成
共享结构的数据说明
对该数据进行操作的一组过程
对共享数据设置初始值的语句
死锁
死锁的概念:
多个进程因为竞争资源而造成的一种僵局
原因
系统资源的竞争
只有对不可剥夺的资源竞争会引起死锁
进程推进顺序非法
死锁产生的必要条件
互斥条件
不剥夺条件
请求和保持条件
循环等待条件
死锁的处理策略
预防死锁
破坏互斥条件
破坏不剥夺条件
破坏请求和保持条件
破坏循环等待条件
避免死锁
系统安全状态
银行家算法
死锁的监测及解除
资源分配图
死锁定理
死锁解除
资源剥夺法
撤销进程法
进程回退法
进程通信
定义
进程间的信息交换,其中高级方式是对用户透明
进程通信的类型
共享存储器系统
进程之间需要系统调用,线程之间自然共享,需要同步互斥机制支持
互相通信的进程共享某些数据结构和存储区
消息传递系统
直接通信
间接通信
管道通信
连接一个读进程和一个写进程之间通信的共享文件,属于高级
管道通信机制提供的协调能力
互斥
同步
判断对方是否存在
调度:决定资源分配给哪一个进程,是决策行为;切换是实际分配,是执行行为。So,先有资源的调度,然后才有进程的切换
原语:进程控制用的程序段
就绪状态和等待状态区别:就绪是进程仅缺少处理机;等待是进程需要其他资源或等待某一事件