【操作系统】调度算法

周转时间=完成时间-到达时间

带权周转时间=周转时间/运行时间

等待时间=周转时间-运行时间

响应比=(等待时间+要求服务时间)/   要求服务时间

先来先服务(FCFS)

       按到达时间顺序。

       非抢占式算法。

       优点:公平、算法实现简单;

       缺点:对长作业有利,对短作业不利(在排长作业后的带权周转时间大)。

       不会导致饥饿(进程/作业长期得不到服务)。

短作业优先(SJF)/短进程优先(SPF)

       选当前已经到达且运行时间最短的作业;

       SJF、SPF非抢占式,最短剩余时间优先(SRTN)抢占式。

       优点:"最短的"平均等待时间、平均周转时间;

       缺点:对短作业有利,对长作业不利。

       可能导致饥饿。

高响应比优先(HRRN)

       计算作业/进程的响应比,选择响应比最高的作业/进程。

       非抢占式

       避免了长作业饥饿

时间片轮转(RR)

       轮流执行一个时间片

       用于进程调度

       抢占式(时钟中断)

       优点:公平,响应快,适用于分时操作系统;

       缺点:不区分任务紧急程度,时间片太大——FCFS,时间片太小——进程切换开销大。

      不会导致饥饿。

优先级调度算法

      每个进程都有自己的优先级,先运行优先级高的。

      抢占式、非抢占式都有。

      静态优先级:创建进程时确定,之后一只不变

      动态优先级:创建进程时有初始值,之后根据情况动态的调整。

      通常:

              系统进程优先级>用户进程

               前台进程>后台进程

               操作系统更偏好I/O型进程

       灵活,会发生饥饿。

多级反馈队列调度算法

       多级就绪队列,各级队列优先级从高到低,时间片从小到大,逐级分配时间片,新进程先进入第一级队列FCFS,时间片用完还未结束到下一级,最下一级放末尾。

       抢占式。

       有FCFS、RR、SPF的优点,不必实现估计进程的运行时间(避免用户作假),可灵活地调整对各类进程的偏好程度(CPU密集型、I/O密集型)

多级队列调度算法

      系统中按进程类型设置多个队列,进程创建成功后插入某个队列,如:

40a8ac3d6c0146cbbeb2b33503175305.png

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/186158.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20套面向对象程序设计选题Java Swing(含教程) (三) 持续更新 建议收藏

20套面向对象程序设计选题Java Swing(含教程) (一) 20套面向对象程序设计选题Java Swing(含教程) (二) 9.交通罚单管理系统 点击查看项目演示及教程视频 源码下载 【功能描述】 ​系统有管理员、交警、驾驶员三个角色; 用户登录后可修改密码​; 管…

HackTheBox-Starting Point--Tier 2---Markup

文章目录 一 Markup测试过程1.1 打点1.2 权限获取1.3 权限升级 二 题目 一 Markup测试过程 1.1 打点 1.端口扫描 nmap -A -Pn -sC 10.129.95.1922.访问web网站,登录口爆破发现存在弱口令admin:password 3.抓包,发现请求体是XML格式 4.尝试使…

深度学习实战60-基于深度学习模型搭建人脸识别系统,用最简单的方式实现人脸识别。

大家好,我是微学AI,今天给大家介绍一下深度学习实战60-基于深度学习模型搭建人脸识别系统,用最简单的方式实现人脸识别。本项目是一个基于人脸识别技术的应用项目。它旨在构建一个可靠、高效的人脸识别系统,以应用于安全、身份验证和人员管理等领域。项目的核心原理包括人脸…

C/C++算法-----------------------双指针详解技巧及例题

双指针 基本介绍降低时间复杂度降低时间复杂度例题 验证回文串判断是否为环反转链表总结 基本介绍 双指针(two poinnters)实际上是一种算法编程里的一种思想,它更像是一种编程思想,提供看非常高的算法效率,一般来说双…

Pytorch D2L Subplots方法对画图、图片处理

问题代码 def show_images(imgs, num_rows, num_cols, titlesNone, scale1.5): #save """绘制图像列表""" figsize (num_cols * scale, num_rows * scale) _, axes d2l.plt.subplots(num_rows, num_cols, figsizefigsize) axes axes.flatten…

WebGoat通关攻略之 SQL Injection (intro)

SQL Injection (intro) 1. What is SQL? 本题练习SQL查询语句,就是写一句SQL获取叫Bob Franco所在的department SELECT department FROM employees WHERE first_name Bob AND last_name Franco成功通关! 2. Data Manipulation Language (DML) 本题…

PS 吸管工具基本使用方法

这里 我们先打开PS软件 我们 在左侧 导航来中 找到 有吸管工具的这一组工具 这边 我们先选择这个 吸管工具 选择之后呢 左上角 属性配置 第一个是 取样大小 这个 我们之前学魔棒工具时 是有接触过的 这里 我们选择 取样点 然后 后面一个是样本 这个 用的最多的是 所有图层 …

猫罐头哪个牌子好?分享十款猫罐头品牌排行榜!

选择适合的猫罐头非常重要,好的猫罐头应该提供丰富的营养、适量的水分、口感良好,并且易于消化吸收。然而,如果选择不当,可能无法达到期望的效果,甚至可能对猫咪产生负面影响。 作为一位经营猫咖5年的老板,…

Flink(六)【DataFrame 转换算子(下)】

前言 今天学习剩下的转换算子。 1、物理分区算子 常见的物理分区策略有随机分配(Random)、轮询分配(Round-Robin)、重缩放(Rescale)和广播(Broadcast),下边我们分别来做…

IDEA远程一键部署SpringBoot到Docker

IDEA是Java开发利器,Spring Boot是Java生态中最流行的微服务框架,docker是时下最火的容器技术,那么它们结合在一起会产生什么化学反应呢? 一、开发前准备 1. Docker安装 可以参考:https://docs.docker.com/install/ 2…

【Vue全家桶 合集 关注收藏】

【Vue全家桶】全面了解学习并实践总结Vue必备知识点 写在前面 🤗 这里是SuperYi Vue全家桶合集站! 🌻 人海茫茫,感谢这一秒你看到这里。希望我的文章对你的有所帮助! 🌟 愿你在未来的日子,保持…

CentOs 7 PHP安装和配置

目录 1 安装epel源 2 安装REMI源 3 安装yum源管理工具 4 安装PHP7.3 5 启动php服务 6 设置PHP 6.1 查找安装包 6.2 查找PHP安装位置 6.3 查找php配置文件位置 6.4 配置PHP 6.5 设置快捷命令 6.6 查看php版本 6.7 更新php 1 安装epel源 yum -y install epel-release 2 安…