操作系统-调度算法

2023-05-16

1:先来先服务调度算法【FCFS】
(1):按照作业提交,或进程变为就绪状态的先后次序分派CPU
(2):新作业只有当当期那作业或进程执行完成或阻塞才获得CPU运行
(3):被唤醒的作业或进程不立即恢复执行,通常等到当前作业或进程让出CPU(默认非抢占方式)
(4):有利于CPU繁忙型的作业,而不利于I/O繁忙的作业(进程)
在这里插入图片描述
2:短作业【进程】优先调度SJF(非抢占)/SPF(抢占)
(1)平均周转时间、平均带权周转时间都有明显改善。SJF/SPF调度算法能有效的降低作业的平均等待时间,提高系统吞吐量。
(2)未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)的及时处理、对长作业的不利、作业(进程)的长短含主观因素,不一定能真正做到短作业优先。
在这里插入图片描述
3、高优先权优先调度算法HPF
(1)两种方式:非抢占式优先权算法、抢占式优先权算法(关键点:新作业产生时)
(2)类型:静态优先权:创建进程时确定,整个运行期间保持不变。动态优先权:创建进程时赋予的优先权可随进程的推进或随其等待时间的增加而改变。
(3)高响应比优先调度算法HRRN
HRRN为每个作业引入动态优先权,使作业的优先级随着等待时间的增加而以速率a提高:优先权 =(等待时间+要求服务时间)/要求服务时间= 响应时间 / 要求服务时间。
什么时候计算各进程的响应比优先权?(作业完成时、新作业产生时(抢占、非抢占)、时间片完成时、进程阻塞时)
4、基于时间片的轮转调度算法RR
(1)时间片轮转算法
过程:
1、排成一个队列。
2、每次调度时将CPU分派给队首进程。
3、时间片结束时,发生时钟中断。
4、暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前就绪的队首进程。
说明:
1、进程阻塞情况发生时,未用完时间片也要出让CPU。
2、能够及时响应,但没有考虑作业长短等问题。
3、系统的处理能力和系统的负载状态影响时间片长度。
(2)多级反馈队列算法FB
过程:
1、准备调度:先将它放入第一个队列的末尾,按FCFS原则排队等待调度。
2、IF时间片内完成,便可准备撤离系统。
3、IF时间片内未能完成,调度程序便将该进程转入第二队列的末尾等待再次被调度执行。
4、当第一队列中的进程都执行完,系统再按FCFS原则调度第二队列。在第二队列的稍放长些的时间片内仍未完成,再依次将它放入第三队列。
5、依次降到第n队列后,在第n队列中便采取按时间片轮转的方式运行。
说明:
1、设置多个就绪队列,各队列有不同的优先级,优先级从第一个队列依次降低。
2、赋予各队列进程执行时间片大小不同, 优先权越高,时间片越短。
3、仅当优先权高的队列(如第一队列)空闲时,调度程序才调度第二队列中的进程运行。
4、高优先级抢占时,被抢占的进程放回原就绪队列末尾。
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

操作系统-调度算法 的相关文章

  • window系统消失的c盘,实际占用与显示占用相差好多G

    问题 C盘一直显示的红色提醒 我c盘实际占用的空间只有33 1GB 而我的c盘总共大小是59 9GB 显示的剩余大小是1 35GB 也就是说我占用了58 11 和c盘的总文件大小相差了25GB 那么消失的25GB去了哪里 我百度过这个问题
  • fork之后子进程到底复制了父进程什么

    fork之后子进程到底复制了父进程什么 发表于2015 4 3 9 54 08 2161人阅读 分类 操作系统 include
  • 终端连接控制(stty的编写)

    终端连接控制 stty的编写 一 背景 文件与目录在之前已经学习过了 文件中包含着数据 这些数据可以被读出 写入 也可以用以操作 但文件不仅仅是计算机唯一的数据来源 计算机的数据还可以来自于许多的外部设备 比如扫描仪 照相机 鼠标等输入设备
  • texlive支持中文的简单方法

    1 确保tex文件的编码方式是UTF 8 2 在文档开始处添加一行命令即可 即 usepackage UTF8 ctex 如下所示 documentclass article usepackage UTF8 ctex begin artic
  • Tomcat7安装及配置教程

    Apache Tomcat7 0安装及配置教程 Apache Tomcat7 0官方网站链接 http tomcat apache org apache tomcat 7 0 73 windows x64 先解压下载的压缩包 然后在bin目
  • 小白学协程笔记2-c语言实现协程-2021-2-10

    文章目录 前言 一 c语言中协程切换方式 二 使用setjmp 和 longjmp实现协程切换 1 setjmp和longjmp函数简介 2 协程实现 三 使用switch case实现协程切换 1 switch case小技巧 2 协程实
  • Linux系统的安装(在VM虚拟机上安装CentOS 7)

    工具准备 物理计算机一台 配置要求 操作系统 win10 64位 大家基本上都是 硬盘可用容量 20G以上 内存容量 4G以上 虚拟机安装包 VMware workstation full 12 5 下载链接 点我下载 提取码 9gha C
  • CentOS 7 关闭网络限制

    1 安装CentOS 7 3操作系统mini版本即可 2 设置关闭Selinux 编辑 etc selinux config vi etc selinux config SELINUX disabled 重启机器 查看selinux状态 s
  • mapengpeng1999@163.com 操作系统4~处理机调度

    处理机调度 1 三级调度体系 1 处理机调度主要是对处理机运行时间进行分配 即 按照一定算法或策略 将处理机运行时间分配给各个并发进程 同时尽量提高处理机的使用效率 2 现代操作系统中 按调度所实现的功能分3种类型 高级调度 中级调度和低级
  • gpuz怎么看显存颗粒

    gpuz可以帮助一些用户查看电脑的一切显卡参数 对于想要了解显卡的网友来说使用起来是非常方便的 不过有些网友是刚开始使用 还不知道gpuz怎么看显存颗粒 下面小编就教下大家gpuz查看显存颗粒的方法 首先 显存颗粒是显存的物理存储组成单元
  • JSON.stringify()

    JSON stringify 将一个JavaScript值 对象或者数组 转换为一个 JSON字符串 如果指定了replacer是一个函数 则可以选择性的替换值 或者如果指定了replacer是一个数组 可选择性的仅包含数组指定的属性 语法
  • Linux系统编程:多线程交替打印ABC

    引言 分享关于线程的一道测试题 因为网上基本都是Java的解决方法 决定自己写一篇来记录一下线程的学习 问题描述 编写一个至少具有三个线程的程序 称之为线程 A B 和 C 其中线程 A 输出字符 A 线程 B 输出字符 B 线程 C 输出
  • InfoQ视频直播分享报名:前贝尔实验室、Oracle架构师为你在线揭秘分布式平台内核...

    报名方式 关注InfoQ微信公众号 ID infoqchina 回复 InfoQ 即可观看在线直播技术分享 分享地点 u0026amp 时间 InfoQ直播微课堂将在熊猫 TV 网站播出 看腻了卖肉的女主播 来看看QCon 的明星讲师如何
  • LWIP在STM32上的移植

    本文做记录摘抄 加上自己的体会 文章标题 STM32使用LWIP实现DHCP客户端 http www cnblogs com dengxiaojun p 4379545 html 该文章介绍了几点 LWIP源码的内容 关键点 1 inclu
  • 深入ftrace kprobe原理解析

    Linux krpobe调试技术是内核开发者专门为了编译跟踪内核函数执行状态所涉及的一种轻量级内核调试技术 利用kprobe技术 内核开发人员可以在内核的绝大多数指定函数中动态插入探测点来收集所需的调试状态信息而基本不影响内核原有的执行流程
  • Linux系统如何看目录属于哪个磁盘分区

    Linux是先有目录 再有磁盘分区 df h 目录 例如 没有挂载磁盘的目录 显示在系统盘 root iZ2ze57v3n0zma46zqiq8nZ sh 1 5 5 df h alidata Filesystem Size Used Av
  • 使用inet_ntop转换IPv6地址时在macOS和linux上的行为不一样

    下面这段python代码在macOS和linux时运行的结果是不同的 import socket ip socket inet pton socket AF INET6 1 2 3 0 5 6 7 8 print socket inet n
  • Anaconda 安装 Python 库(MySQLdb)的方法-(转)

    安装python库的过程中 最重要的地方就是版本需要兼容 其中操作系统为64位 Python为2 X 64位 下载安装文件的时候也要注意版本匹配 其中文件名中包含的cp27表示CPython 2 7版本 cp34表示CPython 3 4
  • 磁盘调度算法笔记和练习题

    磁盘调度算法 先来先服务FCFS 最短寻道时间优先SSTF 扫描调度SCAN 练习题 先来先服务FCFS 最短寻道时间优先SSTF 扫描调度SCAN 它是一次只响应一个方向上的请求 这个方向上的请求都响应完了 再掉头处理另一个方向上的 有点
  • 【操作系统xv6】学习记录4-一级页表与二级页表

    占位

随机推荐

  • linux下shell技巧

    经常看到一些大牛操作linux的时候 xff0c 双手运指如飞 xff0c 指令如流水般输出 xff0c 会不会感到羡慕呢 xff1f 本文就整理了一些linux下shell的技巧 xff0c 保管你学会之后 xff0c shell输出ap
  • Cmake在windows支持预编译头文件(stdafx.h)

    最近一直在研究cmake构建项目 xff0c 之前接触cmake的时候就感觉不太喜欢cmake xff0c 觉得它太乱了 xff0c 产生了太多的中间文件 xff0c 产生的项目文件也不是特别友好 xff0c 在windows下 xff0c
  • 位置控制代码

    Copyright c 2013 2016 PX4 Development Team All rights reserved Redistribution and use in source and binary forms with or
  • 关于微信公众号支付接口开发遇到的奇葩问题,始终返回get_brand_wcpay_request:fail。

    最近公司开发网站针对微信公众号的支付功能 由于公司目前的这个项目网站是使用asp代码开发的 xff0c 但是微信官方给出的demo中是没有asp版本的 xff0c 所以楼主只有下载demo的php版本作为参考写了一个asp版本的代码 阅读官
  • Nacos实战一:架构及部署

    2018年 xff0c 阿里巴巴开源 Nacos xff0c 由此成为继 Eureka Consul Apollo 等服务注册发现 amp 配置的又一开源框架 xff0c 到如今2021年 xff0c Nacos 已经历了 0 01 gt
  • Windows Server搭建Tomcat服务器及Java项目应用

    Windows Server搭建Tomcat服务器及Java项目应用 本文主要介绍使用阿里云Windows Server搭建Tomcat服务器及Java项目应用 xff0c 将文章写下来以后自己也可以及时看看 工具和软件 服务器 xff1a
  • 【Node.js】安装使用nvm管理nodejs版本

    Node js 安装使用nvm管理nodejs版本 本文主要介绍mac linux下如何安装nvm来管理nodejs版本 一 下载nvm安装 方式一 xff1a brew方式 1 xff1a brew list nvm 命令检测是否安装nv
  • Redis设置Key/value的规则定义和注意事项(附工具类)

    Redis设置Key value的规则定义和注意事项 xff08 附工具类 xff09 对于redis的存储key value键值对 xff0c 经过多次踩坑之后 xff0c 我们总结了一套规则 xff1b 这篇文章主要讲解定义key va
  • Linux命令之mkdir

    mkdir命令用于创建目录 xff0c 全拼 xff1a make directory 具体参数 xff1a m 选项自定义目录权限 p 递归建立目录 v 创建文件夹时显示信息
  • 浅析微信支付:支付结果通知

    本文是 浅析微信支付 系列文章的第六篇 xff0c 主要讲解支付成功后 xff0c 微信回调商户支付结果通知的处理 浅析微信支付系列已经更新五篇了哟 xff5e xff0c 没有看过的朋友们可以看一下哦 浅析微信支付 xff1a 统一下单接
  • 浅析微信支付:查询订单和关闭订单

    本文是 浅析微信支付 系列文章的第七篇 xff0c 主要讲解微信商户平台的订单查询和关闭接口的使用 浅析微信支付系列已经更新六篇了哟 xff5e xff0c 没有看过的朋友们可以看一下哦 浅析微信支付 xff1a 支付结果通知 浅析微信支付
  • 超实用!!!使用IDEA插件Alibaba Cloud Toolkit工具一键部署本地应用到ECS服务器

    最近看到阿里云发布了一款名为 Alibaba Cloud Toolkit 的插件 xff0c 可以帮助开发者高效开发并部署适合在云端运行的应用 xff0c 瞬间击中了我的小心脏 xff0c 这个对于个人开发者来说超级棒啊 xff0c 终于不
  • 浅析微信支付:开通社交立减金活动、创建立减金及领取使用的相关文档和源码

    本文是 浅析微信支付 系列文章的第十七篇 xff0c 主要讲解在在微信平台中 xff0c 如何创建优惠券 xff0c 开通社交立减金 xff0c 并为用户配置发送立减金 上篇文章已经为大家讲解了如何在微信公众平台创建优惠券并为用户发券 xf
  • vnc远程屏幕大小设置

    安装软件tigervnc server yum install vnc y 注释 etc sysconfig vncservers VNCSERVERS 61 34 1 root 34 VNCSERVERARGS 1 61 34 geome
  • tx2系统备份与恢复

    tx2系统备份与恢复 tx2系统备份与恢复对我们以后长期开发与产品批量生产是非常有帮助的 xff0c 能快速的对已经开发好的系统进行备份 xff0c 复制 xff0c 节约大量的安装时间 在操作过程在需要手动操作 xff0c 执行命令也不多
  • STM32串口中断的方式发送

    我将其改为真正的中断发送 步骤一 xff1a 初始化GPIO GPIO InitTypeDef GPIO InitStructure GPIO InitStructure GPIO Pin 61 GPIO Pin 10 LED1 PC10
  • OLT光网络小笔记

    OLT上配置 xff1a link aggregation 0 6 1 1 2 1 egress ingress workmode lacp staic 0框6槽1口和1框2槽1口绑定的意思 上联交换机上配置 xff1a int eth t
  • VS2012,VC++无法找到头文件或库函数.无法打开包括文件:“iostream”: No such file or directory

    卸载VS2010后 xff0c 安装VS2012 xff0c 随便创建个VC控制台项目 xff0c 编译提示连 34 iostream 34 和 stdio h 之类的头文件或库文件都无法找到 xff0c 重装VS2012后依然无法编译 x
  • C语言高手进阶的三碟小菜和一盘大餐

    前段时间一直到现在正在看的几本书 xff0c 觉得真心不错 xff0c 给很多朋友都推荐过 xff0c 现在正好赶上这个活动 xff0c 也分享一下 首先说明一下的是 xff0c 这次推荐的书都是进阶用的 xff0c 学完这几本书再辅以在实
  • 操作系统-调度算法

    1 xff1a 先来先服务调度算法 FCFS 1 按照作业提交 xff0c 或进程变为就绪状态的先后次序分派CPU 2 新作业只有当当期那作业或进程执行完成或阻塞才获得CPU运行 3 被唤醒的作业或进程不立即恢复执行 xff0c 通常等到当