操作系统(Operating System)知识点复习——第九章 单处理器调度

本文主要是介绍操作系统(Operating System)知识点复习——第九章 单处理器调度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

0.前言

1.调度的类型

2.调度算法Scheduling Algorithms

2.1 短程调度准则

①User-oriented(面向用户) && Performance-related(性能相关)

②User-oriented(面向用户) && other

③System-oriented(面向系统) && Performance-related(性能相关)

④System-oriented(面向系统) && other

2.2 The Use of Priorities

2.3 调度算法

①First-Come-First-Served(FCFS)先来先服务

②Round-Robin(RR轮转)

③Shortest Process Next(SPN)最短进程优先

④Shortest Remaining Time(SRT)最短剩余时间

⑤Highest Response Ratio Next(HRRN)最高响应比优先

⑥Feedback多级反馈列表

2.4 公平共享调度


0.前言

本系列文章旨在记录操作系统的知识点,可用于期末复习,笔者理解尚浅,文中不正之处静待批正。加粗高亮部分为重点。

1.调度的类型

目的:处理器分配

  • Response time (响应时间)--弹窗速度
  • Throughput (吞吐率)--单位时间完成工作量
  • Processor efficiency (处理器效率)

调度的时机:

  1. Nonpreemptive非抢占式--主动放弃CPU
    1. 线程终止(正常终止,异常终止)
    2. 线程阻塞
  2. Preemptive抢占式
    1. 线程时间片用完了
    2. 中断服务完成
    3. 新线程到达

调度分类:

  • 长程调度(Long-term scheduling):决定哪些程序可以进入系统进行处理(控制并发度),发生时机在进程终止或CPU空闲率超过某个值时会增加新进程
  • 中程调度(Medium-term scheduling):决定增加在内存中的进程数(管理并发度降低抖动)
  • 短程调度(Short-term scheduling)(dispatcher):决定哪一个进程执行(执行最频繁)
  • I/O调度(I/O scheduling)

调度与进程状态转换:

调度的层次:

2.调度算法Scheduling Algorithms

2.1 短程调度准则
①User-oriented(面向用户) && Performance-related(性能相关)

用户能感知到的系统行为

  • Turnaround time周转时间:从作业提交给系统开始到作业完成为止
  • Response Time响应时间:从提交到首次相应所用的时间
  • Deadlines终止时间

②User-oriented(面向用户) && other

predictability可预测性

③System-oriented(面向系统) && Performance-related(性能相关)
  • Processor utilization处理器的使用效率
  • Throughput吞吐量:单位时间完成进程数

④System-oriented(面向系统) && other
  • Fairness公平性:无进程饥饿
  • Enforcing priorities强制优先级:倾向于高优先级进程
  • Balancing resources(also for medium-term and long-term ): 保持资源繁忙

2.2 The Use of Priorities

往往选择高优先级进程,用多个就绪队列表示进程的等级,低级进程可能饥饿

2.3 调度算法

相关术语:

  • Response time响应时间
  • 服务时间Ts:进程单独执行需要的时间
  • Throughput吞吐量
  • Turnaround time(周转时间或驻留时间)Tr:Tr=完成时间-到达时间
  • Normalized turnaround time(归一化周转时间)=Tr/Ts
  • Selection function选择函数:确定在就绪进程中选择哪一个进程在下一次执行
  • Decision mode决策模式:选择函数被执行瞬间的处理方式(抢占式与非抢占式)

①First-Come-First-Served(FCFS)先来先服务

原理:选择最先到达就绪队列中的进程

调度时机:进程结束时切换

决策模式:非抢占式

  • 优点:公平,简单,不会产生饥饿,适合处理器密集型进程CPU-bound process(I/O要等CPU)
  • 缺点:不宜处理短进程

②Round-Robin(RR轮转)

原理:按到达就绪队列的顺序,轮流执行一个时间片(选择下一个进程基于FCFS),若未执行完,则剥夺,重新加入

调度时机:时间片用完了或进程结束

决策模式:抢占式

  • 优点:公平,无饥饿
  • 缺点:有开销,对I/O-bound process不友好
  • 抢占时间片略大于一次典型交互时间最好

Virtual Round-Robin Scheduler(VRR,虚拟轮转法,添加虚拟辅助队列)

③Shortest Process Next(SPN)最短进程优先

原理:选择服务时间最短的进程(需预知服务时间)

调度时机:进程结束时

决策模式:非抢占式

  • 优点:最短平均等待时间,最短平均周转时间
  • 缺点:对长进程不利,会产生饥饿

④Shortest Remaining Time(SRT)最短剩余时间

原理:选择进程剩余时间最短的(需预知服务时间,若剩余时间相同,遵循FCFS)

调度时机:新进程到达时或进程结束

决策模式:抢占式

  • 优点:高吞吐量
  • 缺点:可能发生饥饿

⑤Highest Response Ratio Next(HRRN)最高响应比优先

原理:选取响应比最高的(需预知服务时间)

调度时机:进程结束

决策模型:非抢占式

  • 优点:高吞吐量,无饥饿

⑥Feedback多级反馈列表

原理:有多个调度队列运行一次降级一次(不需要知道服务时间)

调度时机:时间片用完进程结束

决策模式:抢占式(采用时间片分配,优先级从高到底,时间片从小到大)

  • 缺点:调度复杂,开销大,可能饥饿

(i表示第几个进程到达,从0开始)

总结:

2.4 公平共享调度
  • 用户的应用程序以进程集(process sets)的形式运行
  • 用户更关注应用程序的性能
  • 需要根据进程集做出调度决策

这篇关于操作系统(Operating System)知识点复习——第九章 单处理器调度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933654

相关文章

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

Partical System

创建"粒子系统物体"(点击菜单GameObject -> Create Other -> Particle System) 添加"粒子系统组件"(点击Component -> Effects  ->Particle System) 粒子系统检视面板  点击粒子系统检视面板的右上角的"+"来增加新的模块。(Show All Modules:显示全部) 初始化模块: •

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

C++语法知识点合集:11.模板

文章目录 一、非类型模板参数1.非类型模板参数的基本形式2.指针作为非类型模板参数3.引用作为非类型模板参数4.非类型模板参数的限制和陷阱:5.几个问题 二、模板的特化1.概念2.函数模板特化3.类模板特化(1)全特化(2)偏特化(3)类模板特化应用示例 三、模板分离编译1.概念2.模板的分离编译 模版总结 一、非类型模板参数 模板参数分类类型形参与非类型形参 非类型模板

枚举相关知识点

1.是用户定义的数据类型,为一组相关的常量赋予有意义的名字。 2.enum常量本身带有类型信息,即Weekday.SUN类型是Weekday,编译器会自动检查出类型错误,在编译期间可检查错误。 3.enum定义的枚举类有什么特点。         a.定义的enum类型总是继承自java.lang.Enum,且不能被继承,因为enum被编译器编译为final修饰的类。         b.只能定义

小技巧绕过Sina Visitor System(新浪访客系统)

0x00 前言 一直以来,爬虫与反爬虫技术都时刻进行着博弈,而新浪微博作为一个数据大户更是在反爬虫上不遗余力。常规手段如验证码、封IP等等相信很多人都见识过…… 当然确实有需要的话可以通过新浪开放平台提供的API进行数据采集,但是普通开发者的权限比较低,限制也比较多。所以如果只是做一些简单的功能还是爬虫比较方便~ 应该是今年的早些时候,新浪引入了一个Sina Visitor Syst