计算机操作系统笔记——处理器调度
处理器调度可以分为三个级别:高级调度、中级调度和低级调度。
低级调度是各类操作系统必须具有的功能;在纯粹的分时或实时操作系统中,通常不需要配备高级调度;在分时系统或具有虚拟存储器的操作系统中,为了提高内存利用率和作业吞吐量,专门引进了中级调度。高级调度发生在新进程的创建中,它决定一个进程能否被创建,或者是创建后能否被置成就绪状态,以参与竞争处理器资源获得运行;中级调度反映到进程状态上就是挂起和解除挂起,它根据系统的当前负荷情况决定停留在主存中进程数;低级调度则是决定哪一个就绪进程或线程占有CPU 运行。
高级调度
高级调度(High Level Scheduling):又称作业调度、长程调度(Long-termScheduling)在多道批处理操作系统中,作业是用户要求计算机系统完成的一项相对独立的工作,新提交的作业被输入到磁盘,并保存在一个批处理后备作业队列中。高级调度将按照系统预定的调度策略决定把后备队列作业中的部分满足其资源要求的作业调入主存,为它们创建进程,分配所需资源,为作业做好运行前的准备工作并启动它们运行,当作业完成后还为它做好善后工作。在批处理操作系统中,作业首先进入系
统在辅存上的后备作业队列等候调度,因此,作业调度是必须的,它执行的频率较低,并和到达系统的作业的数量与速率有关。
中级调度
中级调度(Medium Level Scheduling):又称平衡负载调度,中程调度(Medium-term Scheduling)。它决定主存储器中所能容纳的进程数,这些进程将允许参与竞争处理器和有关资源,而有些暂时不能运行的进程被调出主存,这时这个进程处于挂起状态,当进程具备了运行条件,且主存又有空闲区域时,再由中级调度决定把一部分这样的进程重新调回主存工作。中级调度根据存储资源量和进程的当前状态来决定辅存和主存中的进程的对换,它所使用的方法是通过把一些进程换出主存,从而,使之进入“挂起”状态,不参与低级调度,起到短期平滑和调整系统负荷的作用。
低级调度
低级调度(Low Level Scheduling):又称进程调度(或线程调度)、短程调度(Short_term Scheduling)。它的主要功能是按照某种原则决定就绪队列中的哪个进程或内核级线程能获得处理器,并将处理器出让给它进行工作。低级调度中执行分配CPU 的程序称分派程序(dispatcher),它是操作系统最为核心的部分,执行十分频繁,低级调度策略优劣直接影响到整个系统的性能,因而,这部分代码要求精心设计,并常驻内存工作。有两类低级调度方式:
第一类称剥夺方式:当一个进程或线程正在处理器上执行,若有另一个更高优先级或紧迫的进程或线程产生,则立即暂停正在执行的进程或线程,把处理器分配给这个更高优先级或紧迫的进程或线程使用。第二类称非剥夺方式:一旦某个进程或线程开始执行后便不再出让处理器,除非该进程或线程运行结束或发生了某个事件不能继续执行。
批处理作业的管理与调度
作业(JOB)是用户提交给操作系统计算的一个独立任务。一般每个作业必须经过若干个相对独立又相互关联的顺序加工步骤才能得到结果,其中,每一个加工步骤称一个作业步(Job Step),例如,一个作业可分成“编译”、“连结装配”和“运行”三个作业步,往往上一个作业步的输出是下一个作业步的输入。作业由用户组织,作业步由用户指定,一个作业从提交给系统,直到运行结束获得结果,要经过提交、收容、执行和完成四个阶段。
批处理作业的管理
多道批处理操作系统具有独立的作业管理模块,为了有效管理作业,必须像进程管理一样为每一个作业建立作业控制块JCB(Job Control Block)。JCB 通常是在批作业进入系统时,由Spooling 系统建立的,它是作业存在于系统的标志,作业撤离时,JCB 也被撤销。JCB 的主要内容从用户作业说明书中获得,包括:作业情况(用户名、作业名、语言名等),资源需求(估计CPU 运行时间、最迟截止期、主存量、设备类型/台数、文件数和数据量、函数库/实用程序等),资源使用情况(进入系统时间、开始运行时间、己运行时间等),作业控制(优先数、联机/脱机控制、操作顺序、出错
处理等),作业类型(CPU 繁忙型、I/O 繁忙型、批量型、终端型)等信息。当一个作业被操作系统接受,就必须创建一个作业控制块,并且这个作业在它的
整个生命周期中将顺序地处于以下四个状态:
? 输入状态:此时作业的信息正在从输入设备上预输入。
? 后备状态:此时作业预输入结束但尚未被选中执行。
? 执行状态:作业已经被选中并构成进程去竞争处理器资源以获得运行。
? 完成状态:作业已经运行结束,甚至己经撤离,但正在等待缓输出运算结果。
多道批处理操作系统的处理器调度至少应该包括作业调度和低级调度两个层次。作业调度属于高级调度层次,处于后备状态的作业在系统资源满足的前提下可以被选中,从而,进入主存计算。只有处于执行状态的作业才真正构成进程获得运行和计算的机会。作业调度选中了一个作业且把它装入主存储器时就为该作业创建一个用户进程。这些进程将在低级调度的控制下占有处理器运行。为充分利用处理器,往往可以把多个作业同时装入主存储器,这样就会同时有多个用户进程,这些进程都要竞争处理器。所以,进入计算机系统的作业只有经过两级调度后才能占用处理器。第一级是作业调度,使作业进入主存储器,同时生成相应于作业的进程;第二级是低级调度,使进程占用处理器。
作业调度算法
1、先来先服务算法
2、最短作业优先算法
3、响应比最高者优先(HRRF)算法
4、优先数法
5、分类调度算法
6、用磁带与不用磁带的作业搭配
低级调度
低级调度负责动态地把处理器分配给进程或内核级线程。操作系统中实现低级调度的程序称为低级调度程序,或分派程序(dispatcher)。低级调度的主要功能是:
? 记录进程(内核级线程)的状态。这个信息一般记录在一个进程(内核级线程)的进程控制块(线程控制块)内。
? 决定某个进程(内核级线程)什么时候获得处理器,以及占用多长时间。
? 把处理器分配给进程(内核级线程)。即进行进程(内核级线程)上下文切换,把选中进程(内核级线程)的进程控制块(线程控制块)内有关现场的信息如程序状态字、通用寄存器等内容送入处理器相应的寄存器中,从而,让它占用处理器运行。
? 收回处理器。将处理器有关寄存器内容送入该进程(内核级线程)的进程控制块(线程控制块)内的相应单元,从而,使该进程让出处理器。
低级调度算法
1、先来先服务算法
2、时间片轮转调度
3、优先数调度
4、多级反馈队列调度
5、保证调度算法
6、×××调度算法
实时调度
实时系统是那些时间因素非常关键的系统。例如,计算机的一个或多个外设发出信号,计算机必须在一段固定时间内做出适当的反应。一个实例是,计算机用CD-ROM放VCD 时,从驱动器中获得的二进制数据必须在很短时间内转化成视频和音频信号,如果转换的时间太长,图像显示和声音都会失真。其他的实时系统还包括监控系统、自动驾驶系统、安全控制系统等等,在这些系统中,迟到的响应即使正确,也和没有响应一样糟糕。
实时系统通常分为硬实时(hard real time)系统和软实时(soft real time)系统。前者意味着存在必须满足的时间限制;后者意味着偶尔超过时间限制是可以容忍的。这两种系统中,实时性的获得是通过将程序分成很多进程,而每个进程的行为都预先可知,这些进程处理周期通常都很短,当检测到一个外部事件时,调度程序按满足它们最后期限的方式调度这些进程。
实时调度算法
1)单比率调度算法
2)限期调度算法
3)最少裕度法
转载于:https://blog.51cto.com/seasky09/1273071
计算机操作系统笔记——处理器调度相关推荐
- 计算机操作系统笔记第八章磁盘存储器的管理
适用计算机操作系统(OS)(第四版) 自己的学习笔记,PPT及图片来源网络及自己老师,侵删. 三硬一软一接口--2硬 计算机操作系统第八章 第八章磁盘存储器的管理 8.1 外存的组织方式 8.1.1 ...
- 计算机操作系统笔记(一) 南京大学慕课版
一.计算机系统概览 计算机系统的组成:硬件子系统和软件子系统 硬件子系统:电,磁,光,机械与原理构成的各种物理部件的有机组合,是系统工作的载体,包含CPU,主存储器,I/O控制系统,外围设备: 软件子 ...
- 计算机操作系统pv实验,计算机操作系统笔记--信号量与PV 操作
同步和同步机制 一个进程在某一特殊点上被迫停止执行直到接收到一个对应的特殊变量值,通过特殊变量这一设施,任何复杂的进程交互要求可得到满足,这种特殊变量就是信号量(semaphore).在操作系统中,信 ...
- 用户可以使用三种方式使用计算机,计算机操作系统期末复习笔记
学长学姐精心编纂的计算机操作系统笔记,欢迎大家学习复习~~ 第一章 1. OS作为用户与计算机硬件系统之间的接口: 含义是:OS处于用户和计算机硬件系统之间,用户通过OS来使用计算机系统. 用户可以通 ...
- 操作系统 计算机操作系统教程笔记
进程是操作系统对一个正在运行的程序的一种抽象.在一个系统上可以同时运行多个进程,而每个进程都好像在独占地使用硬件.而并发运行,则是说一个进程的指令和另一个进程的指令是交错执行的. 在大多数系统中,需要 ...
- 计算机操作系统 (第四版汤小丹老师) 复习笔记第一章
教材为西安电子科技大学 汤小丹老师 第四版 1.1操作系统目标和作用 1.目标 目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重.通常在计算机硬件上配置的OS,其目标有以下几点: 方便性 便 ...
- 计算机操作系统 | 3.1_1~3.1_4 内存及内存管理 | 参考自王道考研 | 无知的我费曼笔记(图文排版无水印)
为了深入计算机底层,无知的我正在参考<王道考研>学习计算机操作系统. 笔记特点是 我重新整理了涉及资料的一些语言描述.排版,而使用了自己比较容易理解的描述.同样是回答了一些常见关键问题 文 ...
- 《计算机操作系统》重点知识笔记整理(一)
<计算机操作系统>重点知识总结1(1-4章)
- 计算机操作系统原理复习笔记——考试版
计算机操作系统 文章目录 计算机操作系统 第一章 绪论 1.1 操作系统与计算机体系结构的关系 1.2 操作系统的形成与发展 1.3 操作系统的定义 1.4 操作系统的资源管理功能 1.5 操作系统的 ...
最新文章
- Xbox One 游戏欣赏: Xbox Fitness 太极拳游戏
- 【单词】常见单词含义的辨异(emulator/simulator、hardware/firmware)
- HDU4302(map的用法)
- JSP2.0中的表达式语言(EL表达式)
- Markdown入门教程
- websocket java 例子_java 实现websocket的两种方式实例详解
- windows下编译lua5.2
- 十个多线程并发编程面试题(附答案)
- 机房收费系统合作版(一):开始团队合作之旅
- Matlab光滑曲线多项式拟合与样条曲线拟合的两个案例
- 极简主义shiny app
- 适合 Go 新手学习的开源项目——在 GitHub 学编程
- linux 查看安装软件
- Windows11企业版22000.1精简版(附下载链接)
- 获取文件夹下所有tif图片,并将16位图转为8位图
- linear regression and logistic regression
- 仿酒仙网的一款jQuery侧栏弹出导航栏特效
- 在Linux(Ubuntu)下安装Arial、Times New Roman等字体
- curses函数说明
- (二)链表学习之模块化处理
热门文章
- (拿来主义-8) Spring Boot属性配置文件详解(三)
- 一、cocos2dx概念简介
- PMCAFF产品众测 | 对话随手攒CEO聊聊这款产品的设计、推广和改进(活动已结束)
- 途家网获3亿美元融资,PMCAFF放送100元途家优惠券(途家内部员工专用)
- [Unity3D] Input按键系统
- ElasticSearch入门系列(三)文档,索引,搜索和聚合
- 数据结构学习笔记(2)
- TipsDBConfigListener
- windows下磁盘IO性能数据评测
- MS CRM 2011插件调试工具