概述
处理器调度作用
按照某种策略选择就绪的进程执行
调度的基本概念
作业概念及状态
作业:例如:编制一个程序的过程:①编辑②编译③链接④执行。
作业步:作业中相对独立的处理步骤。
作业的组成:由程序、数据和作业说明书组成。
例题: 1.用户在一次计算过程中,或者一次事物处理中,要求计算机完成所作的工作的集合,这是指( 作业 )。 |
作业的状态及其转换
状态 | |
---|---|
后备状态 | 提交过程:通过输入设备将作业输入到外存的过程。进入外存的作业建立JCB,生命周期开始。后备状态:进入内存之前的状态。作业都在后备队列中 |
执行状态 | 进入内存之后直到作业完成 |
完成状态 | 正常终止或出错中途终止。结果直接输出或存入外存 |
例题: 1.当系统响应用户要求,将输入的作业存入到直接存取的外部存储器上,并等待调度执行时,则该作业处于( 后备状态 ) 。 |
分级调度
调度 | |
---|---|
作业调度 | 宏观调度或高级调度 |
交换调度 | 中调度级 |
进程调度 | 微观调度或低级调度 |
线程调度 | 微观调度或低级调度,不是所有系统都具备该功能 |
例题: 1.在一般操作系统中必不可少的调度是( 进程调度 )。 2.操作系统中的作业管理是一种( 宏观的高级管理 )。 3.CPU的调度分为高级、中级、低级三种,其中低级调度是指( 进程 )调度。 4.作业调度程序是从处于( 后备(收容) )状态的作业中选取一个作业并把它装入主存。 |
作业调度的功能与时机
功能:
①记录作业状态
②选中作业(调度算法)
③建立主进程
④分配资源;
⑤撤消作业
作业数确定决定因素:
①系统的规模
②运行速度
时机:
主机上作业数小于支持的系统最大作业数时,同时后备队列中有作业时,启动作业调度。
例题: 1.作业调度程序的工作有( 分配和释放内存 )。 |
进程调度功能与时机
功能:
①进程排队
②选中进程
③进程上下文切换
导致进程调度的基本原因:CPU周期
时机:
①进程完成
②时间片到
③阻塞
④系统调用
⑤高优先级进程到来
调度原则与性能衡量
例题: 1.一个作业从提交给系统到该作业完成的时间间隔称为( 周转时间 )。 |
调度算法
①先来先服务(FCFS)
②短作业优先(SF)
例题: 1.运行时间最短的作业被优先调度,这种作业调度算法是(短作业优先)。 |
③最高响应比优先(HRN)
例题: 1.—作业8:00到达系统,估计运行时间为1小时,若10:O0开始执行该作业,其响应比是( 3 )。 2.—种既有利于短小作业又兼顾到长作业的作业调度算法是(最高响应比优先)。 |
④高优先权优先(HPF)
例题: 1.为了对紧急进程或重要进程进行调度,调度算法应采用( 优先数发 ) 。 |
⑤轮转法(RR)
例题: 1.时间片轮转法进行进程调度是为了(多个终端都能得到系统的及时响应)。 |
⑥多级反馈队列算法(MF)
实时调度算法
实时系统的特点:
1.不仅取决于计算结果的正确性,而且还取决于结果产生的时间。包括:就绪时间、运行时间、开始截止时间、结束截止时间
2.硬实时(不能延迟)、软实时(可以延迟)
3.周期与非周期任务
4.快速的切换机制和外部响应能力、抢占式的调度策略。
①频率单调调度(RMS)算法:频率越低(周期越长)的任务优先级越低
②最早截止优先(EDF)算法:采用抢占式调度,即可用于非周期性任务,也可用于非周期性任务
③最低松弛度优先(LIF)算法:根据松弛度来确定任务的优先级,任务的松弛度越高,为该任务所赋予的优先级就越高,以使之优先执行
例题: 1.在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于(进程调度策略和进程自身) 。 |
多处理及调度
多处理及调度方式 | |
---|---|
非对称多处理及调度方式 | 主机分配各个进程,空闲机向主机发出请求。 特点:简单,主机故障和瓶颈。 |
对称多处理及调度方式 | 自调度:系统种只有—个就绪队列,某一处理机空闲就取—个进程运行。任务分配均衡,同—进程中的多个线程不能保证同时调度,两次调度可能在不同的处理器上,局部数据失效。 组调度:—组相关的线程同时分配到多个处理器上运行。 |
例题: 1.我们如果为每一个作业只建立一个进程,则为了照顾短作业用户,应采用( 短作业优先调度算法 );为了照顾紧急作业用户,应采用( 基于优先权调度算法 );为能实现人机交互作用应采用( 时间片轮转法 );而能使短作业、长作业及交互作业用户都比较满意时,则采用( 多级反馈队列调度算法 )。 |
死锁
定义:是指—组并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源,从而使并发进程不能继续向前推进的状态。
死锁进程:陷入死锁状态的进程称
产生死锁原因:
①系统资源不足
②进程推进顺序不恰当
死锁必要条件:
①互斥条件: 资源只能被—个进程占用。
②不可剥夺: 指已分配给某—进程的资源只能自行释放。
③部分分配条件(请求与保持条件): 指进程已经占用了—部分资源,但又提出新的资源请求。
④环路条件(循环等待条件): 指进程发生死锁时,必然存在—个进程–资源的环形链。
不宜打破的条件:互斥条件,不可剥夺。
可以打破的条件:部分分配,环路等待。
例题: 1.产生系统死锁的原因是由于( 多个进程竞争出现了循环等待 )。 2.计算机系统产生死锁的根本原因是(进程推进顺序不当;资源有限)。 |
解决死锁的方法
死锁预防
①防止“部分分配”条件的出现
一次性分配策略,也称为资源的静态预分配策略。
方法简单,易于实施。
资源浪费,出现申请的资源不会立即使用。
②防止“环路等待”条件的出现
资源顺序使用法:顺序编号,依次申请。
进程申请的顺师序和实际使用的资源的顺序不—致,也可导致资源浪费。
死锁避免
死锁的避免与预防的区别在于:预防是严格的破坏死锁的必要条件之一,使之不在系统中出现。避免是不那么严格地限制必要条件的存在(必要条件存在,系统未必会发生死锁)。
基本思想:找出一个合适的算法,当进程请求资源时,判断分配资源后,系统是否处于安全状态。若处于,则分配资源,否则,进程等待。
方法:
①安全状态
②银行家算法
a.数据结构
b.简记法
c.算法描述(Resource Request:资源请求)
d.安全算法描述
死锁的检测与解除
死锁的预防与避免都可严格地不让系统发生死锁,但是它们都对资源的使用设置了—些限制,增加了系统的额外负担。
基本思想:
资源不足不—定会发生死锁,因此为了提高资源利用率,不加任何限制,而是检测是否发生了死锁,然后采用办法解除。
方法:
资源分配图:
死锁的检测:
充分必要条件:RAG是不可化解的。
化解方法:若能依次找到可以执行的进程,消除与其邻接的弧,直到不存在弧为止,否则不可化解。
解除:
1.撤销所有(或死锁进程)进程及其资源;
2挂起进程
例题: 1.在多进程的并发系统中,肯定不会因竞争(CPU )而产生死锁。 2.通常不采用(从非死锁进程处抢夺资源)方法来解除死锁。 3.避免死锁的一个著名的算法是(银行家算法)。 4.死锁预防是保证系统不进入死锁状态的静态策略,其解决方法是破坏产生死锁的四个必要条件之一。下列方法中,破坏了“循环等待”条件的是(资源有序分配法)。 5.若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许(4)个进程参与竞争,而不会发生死锁。 |
最后
以上就是忧心烤鸡为你收集整理的【学习笔记之操作系统原理篇】处理机调度与死锁处理器调度作用调度的基本概念调度算法多处理及调度的全部内容,希望文章能够帮你解决【学习笔记之操作系统原理篇】处理机调度与死锁处理器调度作用调度的基本概念调度算法多处理及调度所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复