《操作系统原理》算法总结

一、进程调度算法

先来先服务调度算法(FCFS)

每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。特点:利于长进程,而不利于短进程。

短进程优先调度算法(SPF)

它是从就绪队列中选择一个估计运行时间最短的进程,将处理器分配给该进程,使之占有处理器并执行,直到该进程完成或因发生事件而阻塞,然后退出处理器,再重新调度。

时间片轮转调度算法 

系统将所有的就绪进程按进入就绪队列的先后次序排列。每次调度时把CPU分配给队首进程,让其执行一个时间片,当时间片用完,由计时器发出时钟中断,调度程序则暂停该进程的执行,使其退出处理器,并将它送到就绪队列的末尾,等待下一轮调度执行。

优先数调度算法 

它是从就绪队列中选择一个优先权最高的进程,让其获得处理器并执行。

响应比高者优先调度算法

它是从就绪队列中选择一个响应比最高的进程,让其获得处理器执行,直到该进程完成或因等待事件而退出处理器为止。

特点:既照顾了短进程,又考虑了进程到达的先后次序,也不会使长进程长期得不到服务,因此是一个比较全面考虑的算法,但每次进行调度时,都需要对各个进程计算响应比。所以系统开销很大,比较复杂。

多级队列调度算法 基本概念

进程周转时间(Ti)=完成时间(Tei)-提交时间(Tsi)

进程平均周转时间(T)=周转时间 / 作业个数

进程带权周转时间(Wi)=周转时间 / 运行时间

响应比=(等待时间+运行时间)/ 运行时间

二、存储器连续分配方式中分区分配算法

首次适应分配算法(FF)

对空闲分区表记录的要求是按地址递增的顺序排列的,每次分配时,总是从第1条记录开始顺序查找空闲分区表,找到第一个能满足作业长度要求的空闲区,分割这个空闲区,一部分分配给作业,另一部分仍为空闲区。

循环首次适应算法

每次分配均从上次分配的位置之后开始查找。

最佳适应分配算法(BF)

是按作业要求从所有的空闲分区中挑选一个能满足作业要求的最小空闲区,这样可保证不去分割一个更大的区域,使装入大作业时比较容易得到满足。为实现这种算法,把空闲区按长度递增次序登记在空闲区表中,分配时,顺序查找。

三、页面置换算法

最佳置换算法(OPT)

选择以后永不使用或在最长时间内不再被访问的内存页面予以淘汰。

先进先出置换算法(FIFO)

选择最先进入内存的页面予以淘汰。

最近最久未使用算法(LRU)

选择在最近一段时间内最久没有使用过的页,把它淘汰。

最少使用算法(LFU)

选择到当前时间为止被访问次数最少的页转换。

四、磁盘调度

先来先服务(FCFS)

是按请求访问者的先后次序启动磁盘驱动器,而不考虑它们要访问的物理位置。

最短寻道时间优先(SSTF)

让离当前磁道最近的请求访问者启动磁盘驱动器,即是让查找时间最短的那个作业先执行,而不考虑请求访问者到来的先后次序,这样就克服了先来先服务调度算法中磁臂移动过大的问题

扫描算法(SCAN)或电梯调度算法

总是从磁臂当前位置开始,沿磁臂的移动方向去选择离当前磁臂最近的那个柱面的访问者。如果沿磁臂的方向无请求访问时,就改变磁臂的移动方向。在这种调度方法下磁臂的移动类似于电梯的调度,所以它也称为电梯调度算法。

循环扫描算法(CSCAN)

循环扫描调度算法是在扫描算法的基础上改进的。磁臂改为单项移动,由外向里。当前位置开始沿磁臂的移动方向去选择离当前磁臂最近的哪个柱面的访问者。如果沿磁臂的方向无请求访问时,再回到最外,访问柱面号最小的作业请求。

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

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

相关文章

String 类 经典例题题集

一、把字符串转换成整数 (atoi) 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格检查下一个字符…

中国企业走向世界,新加坡共和理工学院师生首站到访开源网安交流

近年来,中国企业在众多领域突飞猛进,不断追赶国际头部企业技术水平,甚至在某些领域已经达到国际领先水平,国内企业的最佳实践逐渐成为了全球精英学习研究的对象。 3月4日,由新加坡五所国立理工学院之一的新加坡共和理工…

Docker 干货系列 (持续更新)

dive 直接用本地镜像名称来启动,不需要走 hub dive.sh IMAGE_NAME"${1}" TMP_FILE/tmp/dive-tmp-image.tar docker save "$IMAGE_NAME" > $TMP_FILE && dive $TMP_FILE --sourcedocker-archive && rm $TMP_FILE示例&#…

Pytorch_1_基本语法

一、Pytorch的基本元素操作 1.引入torch from __future__ import print_function import torch 2.创建矩阵 x torch.empty(5,3) print(x) 3.输出结果: tensor([[7.9191e34, 1.1259e24, 1.2359e-42], [4.0824e-40, 1.1379e-35, 2.5353e30], [8.…

金三银四刷完这个笔记,17K不能再少了....

大家好,最近有不少小伙伴在后台留言,得准备面试了,又不知道从何下手!为了帮大家节约时间,特意准备了一份面试相关的资料,内容非常的全面,真的可以好好补一补,希望大家在都能拿到理想…

数学分析(单多变量微积分)复习和学习大纲

前言:开始整理这些资料的时候,已经是本人研一下学期的开学了。然而在遥远的4年前本人因为疫情的原因居家学习的时候,数学分析一度是我的噩梦。但时至今日,越来越发现这些基础的数学问题的重要性。尽管本人就读的本科一再强调其学生…

【HTML】day01

列表 作用&#xff1a;布局内容排序整齐的区域。 列表分类&#xff1a;无序列表、有序链表、定义列表 无序列表 <ul><li>test</li><li>test</li><li>test</li><li><h1>h1</h1></li></ul><!DOCTYPE…

GDOI2024 游记

推荐在 cnblogs 上阅读。 GDOI2024 游记 Day -6 元宵节&#xff0c;得知自己可以参加 GDOI&#xff0c;惊喜坏了。 要知道&#xff0c;我 CSP-S 2&#xff0c;NOIP 没参加。居然去了 GDOI&#xff01; 真的有很多很多想说的话&#xff0c;非常非常感谢教练。但是这里不作抒…

稀碎从零算法笔记Day7-LeetCode:买卖股票的最佳时机

题型&#xff1a;数组、动态规划 链接&#xff1a;121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天…

【嵌入式】嵌入式系统稳定性建设:进程监控的不可或缺之力

嵌入式系统稳定性建设&#xff1a;进程监控的不可或缺之力 1. 简介2. systemd2.1 介绍2.2 示例2.3 优缺点 3. procd3.1 介绍3.2 示例3.3 优缺点 4. busybox4.1 介绍4.2 示例4.3 优缺点 5. setprop5.1 介绍5.2 示例5.3 优缺点 6. 自定义监控进程6.1 介绍6.2 示例6.3 优缺点 7. 结…

深度学习,人工智能总结

1&#xff0c;入门建议少看书&#xff0c;多看 csdn 上帖子总结&#xff08;主要就是 BP 神经网络&#xff0c;CNN &#xff0c;rnn &#xff09;&#xff0c;建立宏观的概念和主要框架&#xff0c;书可以作为进阶补充作为工具书查阅。 2,目前的神经网络还处于前牛顿时代&#…

RT-DETR改进RepVGG结构:简单但功能强大的卷积神经网络架构

💡本篇内容:RT-DETR改进RepVGG结构:简单但功能强大的卷积神经网络架构 💡🚀🚀🚀本博客 改进源代码改进 适用于 RT-DETR 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,RT-DETR专属 应部分读者要求,新增一篇RepVGG 论文理论部分 + 原…

216.组合总和|||

// 定义一个名为Solution的类 class Solution {// 初始化一个用于存储结果的列表&#xff0c;其中每个元素是一个整数列表&#xff0c;表示一组组合List<List<Integer>> result new ArrayList<>();// 初始化一个LinkedList用于存储当前路径上的整数LinkedLi…

架构中的事务处理

事务的ACID中AID是手段&#xff0c;C是目的 原子性&#xff0c;隔离性&#xff0c;持久性是因&#xff0c;是手段&#xff0c;而一致性是由于事务遵照了原子性&#xff0c;隔离性&#xff0c;持久性所呈现的结果。 单数据源的一致性 当服务只使用一个数据源时&#xff0c;通…

Linux 驱动 中断(一)

中断是指计算机运行过程中&#xff0c;出现某些意外情况需主机干预时&#xff0c;机器能自动停止正在运行的程序并转入处理新情况的程序&#xff0c;处理完毕后又返回原被暂停的程序继续运行。 在 Linux 中&#xff0c;中断处理是操作系统与硬件设备之间通信的重要方式之一。Li…

边缘计算网关在机床生产中的应用-天拓四方

随着工业4.0的推进&#xff0c;物联网&#xff08;IoT&#xff09;技术在各个工业领域中的应用日益广泛。特别是在机床行业&#xff0c;物联网技术的引入不仅提高了生产效率&#xff0c;还实现了对机床设备的实时监控和远程维护。在这一背景下&#xff0c;边缘计算网关的角色愈…

android开发实例,retrofit解析

面试官的问题&#xff1a; &#xff08;1&#xff09;问&#xff1a;点击一个图标到这个应用启动的全过程&#xff08;前面是项目经验没啥好说的&#xff09;。 答&#xff1a;点击图标后通过startActivity远程调用到ams中&#xff0c;ams中将新启动的activity以activityrecor…

【丹尼早晚安】打卡第七天,英语学习笔记

成分颜色主语&#xff08;subject&#xff09;橙色谓语&#xff08;predicate&#xff09;蓝色宾语&#xff08;object&#xff09;红色定语&#xff08;attribute&#xff09;紫色状语&#xff08;adverbial&#xff09;棕色补语&#xff08;complement&#xff09;粉色 早上…

2024新版SonarQube+JenKins+Github联动代码扫描(2)-SonarQube代码扫描

文章目录 前言一、docker方式安装sonar二、启动容器三、创建数据库四、启动sonarqube五、访问sonar六、如果访问报错-通过sonar日志定位问题七、修改密码八、汉化&#xff08;看个人选择&#xff09;九、扫描十、我遇到的Sonar报错以及解决办法 总结 前言 这是2024新版SonarQu…

Python算法题集_分割回文串

Python算法题集_分割回文串 题131&#xff1a;分割回文串1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【参数回退回溯单行回文检测】2) 改进版一【参数回退回溯lambda回文检测】3) 改进版二【参数回退回溯函数回文检测】4) 改进版三【堆栈回退…