二、操作系统 ☞ 进程管理
2019-07-14 10:33发布
生成海报
1、进程:是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。(动态的、过程性的概念,以便使多道程序并发执行,实现操作系统的并发性和共享性)
进程数据块(Process Control Block,PCB),来描述进程的基本情况和运行状态,进而控制、管理进程。 PCB是进程存在的唯一标志!(PCB是有效地)
2、进程的特征:动态性(最基本的特征)、并发性、独立性、异步性、结构性
结构性(进程的组织):程序段+数据段+进程控制段
3、进程的状态与转换:
运行状态:进程正在处理机上运行
就绪状态:进程已处于准备运行的状态(获得除处理机之外的一切资源)有处理机就可
阻塞状态:进程正在等待某一件事而暂停运行(如等待某资源)有处理机也不行
创建状态:进程正在被创建,且未被转到就绪状态
结束状态:正在从系统中消失
4、进程控制:一般把进程控制用的程序段称为原语,原语的特点是执行期间不允许中断
创建进程过程: 为新进程分配一个唯一的进程标识号,并申请一个空白的PCB,为进程分配资源
5、进程调度:调度是指决定资源分配给哪个进程的行为
6、进程通信:(进程间的信息交互)
共享存储、消息传递、管道通信(所谓管道,就是一个共享文件)
管道机制需提供以下三方面的协调能力:互斥、同步和确定对方的存在
管道读数据是一次性的操作,数据一旦被读取,它就从管道中被抛弃
7、线程(为了减小程序在并发时所付出的时空开销,提高操作系统的并发性能)
程序执行的最小单元,多个线程可以并发。基本不拥有任何系统资源,因此这些线程之间的同步和通信非常容易实现。
8、处理机调度:操作系统设计的核心问题
(为什么?因为在多道程序系统中,进程的数量往往多于处理机的个数,进程争用处理机的情况在所难免)
8、调度层次:
作业调度(使作业获得竞争处理机的权利)
中级调度(将外部等待状态的进程调入内存)
进程调度(选取一进程,将处理机分配给他、最基本的一种调度,不可或缺)
高级 -》 中级 -》 低级
9、进程调度方式:
非剥夺调度方式:指当一个进程正在处理机上执行时,即使有某个更加紧迫的进程需要处理,仍然让这个正在处理的进程继续执行。
剥夺调度方式:指当一个进程正在处理机上执行时,若有某个更加紧迫的进程需要处理,立即暂停正在处理的进程,将处理机分配给更加重要紧迫的进程。
10、调度基本准则:(考虑特性)
CPU利用率(使CPU保持“忙”状态)
系统吞吐量(单位时间内CPU完成作业的数量)
周转时间(从作业提交到作业完成所经历的时间)
等待时间(进程处于等待处理机状态时间之和)
响应时间(从用户提交请求到系统首次发生响应所用的时间)
11、典型的调度算法
先来先服务调度算法(最简单的调度算法,可以用于作业调度、也可以用于进程调度)
不可剥夺算法,对长作业有利、对短作业无利
短作业优先调度算法(对长作业不利)
优先级调度算法(优先级用于描述作业运行的紧迫程度,可以用于作业调度、也可以用于进程调度)
高响应比优先调度算法(主要用于作业调度)
响应比是考虑作业的等待时间和估计的运行时间
响应比 = (等待时间+要求服务时间)/ 要求服务时间
时间片轮转调度算法(主要用于分时系统)先来先服务仅运行一个时间片,循环运行
多级反馈队列调度算法(集合了前几种算法的优点)
设置多个就绪队列、赋予每个队列时间片不同
12、作业与进程
作业是从用户角度出发:由用户提交以用户任务为单位
进程是从操作系统出发:由系统生成,是操作系统的资源分配和独立运行的基本单位
13、进程同步:(使用一些机制,让进程有次序进行,比如加法在乘法之后进行)
临界资源:一次仅允许一个进程使用的资源称为临界资源
同步:直接制约关系,源于他们的相互合作
互斥:间接制约关系(加锁的方法、软件标注法、硬件指令法)
14、信号量(P操作 访问临界资源 加锁、V操作 访问结束 解锁)
正在使用时占用资源P操作,使用结束时释放资源V操作
PV操作是一种低级进程通信原语,原语不可被中断执行
15、经典生产者与消费者问题(同步)
一组生产者进程和一组消费者进程共享一个初始为空、大小为n的缓冲区,
只有缓冲区未满时,生产者才能把消息放入缓冲区,否则必须等待;
只有缓冲区不空时,消费者才能从中取出消息,否则必须等待。
16、死锁:指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。
17、银行家算法:著名的死锁避免问题。
操作系统看成是银行家,操作系统管理的资源看成相当于银行家管理的资金,进程请求分配资源,相当于是贷款。
当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源满足则可按需分配资源,否则推迟分配;
如果进程在执行过程中继续申请资源,先测试该进程已申请的资源数+本次申请的资源数是否超过了它的最大需求量,超过则拒绝分配,没有超过且系统内有相应量的资源则分配,如果系统内的资源不够也要推迟分配。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮