磁盘调度算法

1,假设磁头当前位于第105道,正在向磁道序号增加的方向移动,现有一个磁道访问请求序列为:35,45,12,68,100,180,170,195,试用先来先服务调度算法给出响应序列并计算移道总次数。(需给出每次移动的磁道数)

解析:先来先服务(FCFS)调度算法就是说 根据进程请求访问磁盘的先后次序进行调度。此算法的有优点是公平、简单,且每个进程的请求都能依次的得到处理,不会出现某一进程的请求长期得不到满足的情况。但此算法由于未对寻道进行优化,导致平均寻道时间可能较长。故FCFS算法仅适用于请求磁盘I/O的进程数目较少的场合。
说白了就是按顺序访问就可以了
移动距离(磁道数):上一个从磁道号与下一个磁道号之间的磁道数
移道总次数:所有的移动距离(磁道数)之和
平均寻道长度:移道总次数/寻道次数

从105号磁道开始

被访问的下一个磁道号移动距离(磁道数)
3570
4510
1233
6856
10032
18080
17010
19525
移道总次数:316
平均寻道长度:39.5

2,假设磁头当前位于第105道,正在向磁道序号增加的方向移动,现有一个磁道访问请求序列为:35,45,12,68,100,180,170,195,试用最短距离优先调度算法给出响应序列并计算移道总次数。

解析:最短寻道时间优先(SSTF)调度算法就是说 要求访问的磁道与当前磁头所在的磁道距离最近,使得每次寻道时间最短,但这种算法不能保证平均寻道时间最短。
说白了就是左右比,哪个最近优先访问哪个
移道总次数:所有的移动距离(磁道数)之和
平均寻道长度:移道总次数/寻道次数

比如这里是从105开始的,100和170离105最近的是100,故先访问100号磁道。
从105号磁道开始

被访问的下一个磁道号移动距离(磁道数)
1005
6832
4523
3510
1223
170158
18010
19515
移道总次数:276
平均寻道长度:34.5

3,假设磁头当前位于第105道,正在向磁道序号增加的方向移动,现有一个磁道访问请求序列为:35,45,12,68,100,180,170,195,试用扫描调度算法给出响应序列并计算移道总次数。

解析:扫描(SCAN)算法就是说 每次选择访问的磁道在当前位置内为距离最近者。这里的当前位置为磁头,做为参考。这样,避免了出现"饥饿"现象。由于这种算法中磁头移动的规律颇似电梯的运行,因而又称为电梯调度算法。
说白了就是按顺序将磁道号排序,然后从磁头开始进行向增加方向访问,到头之后,再以当前位置开始向减少的方向访问
移道总次数:所有的移动距离(磁道数)之和
平均寻道长度:移道总次数/寻道次数

比如这里是从105开始的,从增加方向开始,也就是从170开始,到195为顶,再从105为当前位置向下访问,即访问100磁道号。
从105道磁头开始(向磁道号增加方向访问)

被访问的下一个磁道号移动距离(磁道数)
17065
18010
19515
10095
6832
4523
3510
1223
移道总次数:273
平均寻道长度:34.125

在这里插入图片描述

4,假设磁头当前位于第105道,正在向磁道序号增加的方向移动,现有一个磁道访问请求序列为:35,45,12,68,100,180,170,195,试用循环扫描调度算法给出响应序列并计算移道总次数。

解析:循环扫描(CSCAN)算法就是说 规定磁头单项移动。
说白了就是按顺序将磁道号排序,然后从磁头开始进行向增加方向访问,到头之后,再从最小磁道号开始按增加方向访问
移道总次数:所有的移动距离(磁道数)之和
平均寻道长度:移道总次数/寻道次数

比如这里是从105开始的,从增加方向开始,也就是从170开始,到195为顶,再从12最小的磁道号开始向增加方向访问。
从105道磁头开始(向磁道号增加方向访问)

被访问的下一个磁道号移动距离(磁道数)
17065
18010
19515
12183
3523
4510
6823
10032
移道总次数:361
平均寻道长度:45.125

在这里插入图片描述

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

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

相关文章

C# Using用法三则

(1)引用命名空间 using作为引入命名空间指令的用法准则为: using Namespace; 在.NET程序中,最多见的代码莫过于在程序文件的开头引入System命名空间,其原由在于System命名空间中封装了许多最基本最常用的操作&#xff…

iOS开发 工程

一直没正儿八经的写过技术文章。今日开个小窗,准备写点东西。。。完了 1、传统的MVC结构需要至少M、V、C三个模块,在实际开发中往往需要添加额外的模块,添加的模块当然也大体上属于这三个模块之内。以下为较为常用的子模块。 (1&a…

C++11 std::shared_ptr的std::move()移动语义底层分析

std::shared_ptr的std::move()移动语义底层分析 执行std::move()之前: 执行std::move()之后: 结论:一个浅拷贝 sizeof(std::shared_ptr) 8字节 pss1 : 0x0028fea8 pss2 : 0x0028fea0 (栈是逆增长的) 观察执行std::m…

一个使用numpy.ones()的矩阵| 使用Python的线性代数

Ones Matrix - When all the entries of a matrix are one, then it is called as ones matrix. It may be of any dimension (MxN). 一个矩阵 -当矩阵的所有条目均为1时,则称为一个矩阵。 它可以是任何尺寸( MxN )。 Properties: 特性: The determina…

python去掉字符串最外侧的引号_疯狂Python讲义第二章读书笔记

本章讲解变量和简单类型2.1 从注释讲起单行注释使用#,#后面的代码被注释掉不会运行,如:# print(123) 注释掉后123不会输出。多行注释使用""" """,三个双引号,双引号中的内容注释掉&…

Xpath[转]

Xpath[转] XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。 XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。 因此,对 XPath 的理解是很多高级 XML 应用的基础。 …

【转】深入分析 ASP.NET Mvc 1.0 – 1. 深入MvcHandler

MvcHandler是一个mvc程序真正开始的地方,因为你可以直接看到并调试它的源码。 MvcHandler的主要代码如下:protected internal virtual void ProcessRequest(HttpContextBase httpContext) {AddVersionHeader(httpContext);// Get the controller typestring control…

C++11 右值引用与常量左值引用保存临时变量(函数返回值)的底层分析

右值引用保存临时变量(函数返回值)的问题 :临时变量是右值 1、普通变量接收函数返回值: 2、右值引用变量接收函数返回值: 3、用const int& 和右值引用是一样的效果,只是const int& 就不可以修改…

JavaScript中的位置协议属性

JavaScript | 位置协议属性 (JavaScript | Location protocol property) A protocol by definition simply implies a set or working rules that must be adhered to. A network protocol thus defines rules for communication between network devices. You must be familia…

axure源文件_Axure教程:实现网易云音乐有声播放效果

为了方便讲解,我们首先在桌面新建一个文件夹,命名为音乐。1、将自己想要演示播放的MP3音乐文件放在这个文件夹里面。2、给播放页添加一个中继器,随便命名,我给它命名为【音乐地址链接器】,用来链接播放本地音乐文件。并…

2012年终总结

工作: 原来的文章也写过,今年年初的时候,因为一些原因,成了另外一家公司的员工,但办公地点还是在原来的公司。 这是一家外包公司,技术实力当然是比较强的,不过自己对于编程方面的兴趣止不住的一…

PYTHON解析PE的模块

RT,从GOOGLE CODE上找的。。虽然拿PYTHON解析PE的意义不大还有点麻烦…… 示例代码: #coding:gbk import sys import pefile #from struct import * import structdef main():pe pefile.PE("ccalc.exe")pe.print_info()if __name__ "__…

ffplay分析(从启动到读取数据线程插入到字幕、音频、视频解码前的队列操作)

《ffplay的数据结构分析》 《ffplay分析(视频解码线程的操作)》 《ffplay分析(音频解码线程的操作)》 《ffplay 分析(音频从Frame(解码后)队列取数据到SDL输出)》 《ffplay分析 (视频从Frame(解…

python3和python2 优势_python3和python2的区别

1.性能Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可以取得很好的优化结果。Py3.1性能比Py2.5慢15%,还有很大的提升空间。2.编码Py3.X源码文件默认使用utf-8编码,这就使得以下代码…

并发进程同步

P是荷兰语Proberen(测试)的首字母。为阻塞原语,负责把当前进程由运行状态转换为阻塞状态,直到另外一个进程唤醒它。也就是不好的一方面。 V是荷兰语Verhogen(增加)的首字母。为唤醒原语,负责把一…

寄存器和pin_16x2 LCD的PIN图和寄存器

寄存器和pinIn these years the LCD is finding widespread use. It has replaced the LEDs or other multi-segment LEDs.This is due to the following reasons: 近年来, LCD正在广泛使用。 它已替换LED或其他多段LED,原因如下: The decli…

【Java IO知识】读取中文乱码问题解决

读取文件主要是要设置读取的输入流如InputStreamReader时要设置读取的解码格式,要和文件本身的编码格式相同,这样读取出来的才不会乱码。 InputStreamReader reader new InputStreamInputReader(input, "编码格式"); ANSI是"gbk" 注:必须是在读取的时候就…

ffplay分析(视频解码线程的操作)

《ffplay的数据结构分析》 《ffplay分析(从启动到读取线程的操作)》 《ffplay分析(音频解码线程的操作)》 《ffplay 分析(音频从Frame(解码后)队列取数据到SDL输出)》 《ffplay分析 (视频从Fram…

【转】.NET深入学习笔记(4):深拷贝与浅拷贝(Deep Copy and Shallow Copy)

今天继续利用准备WSE安全开发文章的空闲时间,完善《.NET深入学习笔记》系列(基本都是.Net重要的知识点,我都做了详细的总结,是什么、为什么、和怎么实现)。想必很多人也接触过这两个概念。做过C的人对深浅拷贝的概念一…

c语言数组-1_C数组-智能问题与解答

c语言数组-1C programming Arrays (One-D Array, Two-D Array) Aptitude Questions and Answers : In this section you will find C Aptitude Questions and Answers on One Dimensional (1D) and Two Dimensional (2D) array. C编程数组(一维数组,二维数组)能力问…