操作系统原理之I/O设备管理(第六章下半部分)

五、I/O软件原理

输入输出软件的总体目标是将软件组织成一种层次结构

  • 低层软件用来屏蔽硬件的具体细节
  • 高层软件则主要是为用户提供一个简洁、规范的界面

设备管理的4个层次:

  • 用户层软件 -》向系统发出I/O请求,显示I/O操作的结果,提供⽤户与设备的接⼝
  • 与设备无关的软件层-》完成设备命名、设备分配、设备独⽴性和缓冲管理等功能
  • 设备驱动程序-》与硬件关系最密切,包括设备服务程序和中断处理程序
  • 中断处理程序(底层)-》

 

设备管理软件的功能:

(1)实现I/O设备的独⽴性
(2)错误处理
(3)异步传输
(4)缓冲管理
(5)设备的分配和释放
(6)实现I/O控制⽅式

中断处理程序

  中断处理程序的作⽤:I/O中断处理程序的作⽤是将发出I/O请求⽽被阻塞的进程唤醒

设备驱动程序:

 

 

 与硬件⽆关的I/O软件:

与设备⽆关的I/O软件的功能如下:

(1)设备命名

(2)设备保护

(3)提供独⽴于设备的块⼤⼩

(4)为块设备和字符设备提供必要的缓冲技术

(5)块设备的存储分配

(6)分配和释放独⽴设备

(7)错误处理

六、 磁盘管理

  • 磁盘存储器容量⼤,存取速度快,⽽且可以实现随机存取,是存放⼤量程序和数据的理想设备;
  • 磁盘管理的重要⽬标是提⾼磁盘空间利⽤率和磁盘访问速度

磁盘结构:

  ⼀个物理记录存储在⼀个扇区上,磁盘存储的物理记录数⽬是由扇区数、磁道数及 磁盘⾯数决定的。

 

 

 

 

 磁盘类型:

  • 固定头磁盘 在每条磁道上都有读/写磁头                       
  • 活动头磁盘 (移动头):每⼀个盘⾯仅配有⼀个磁头

 磁盘访问时间:

 

 

 磁盘调度

  磁盘调度的一个重要目标是使磁盘的平均寻道时间最少

 磁盘调度算法

  • 先来先服务 (First Come First Served, FCFS)
    • 最简单的磁盘调度算法 根据进程请求访问磁盘的先后顺序进⾏调度
    • 优点:公平、简单,且每个进程的请求都能依次得到处理,不会出现某⼀ 进程的请求⻓期得不到满⾜的情况
    • 缺点:平均寻道时间较⻓
    •  
  • 最短寻道时间优先 (Shortest Seek Time First, SSTF)
    • 该算法选择的进程:其要求访问的磁道与当前磁头所在的磁道距离最近, 以使每次的寻道时间最短。
    • 优点:每次的寻道时间最短,较之FCFS有更好的寻道性能
    • 缺点:可能导致某个进程发⽣“饥饿”现象
    •  
  • 扫描算法 (SCAN)

    不仅考虑到要访问的磁道与当前磁道的距离,更优先考虑磁头当前的移动⽅向。

    优点:有较好的寻道性能,防⽌“饥饿”现象
    缺点:有时候进程请求被⼤⼤推迟

  • 循环扫描算法 (CSCAN)

    在扫描算法的基础上,规定磁头是单向移动的。将最⼩磁道号紧接着最⼤磁道号构成循环,进⾏循环扫描。

  • NStepSCAN和FSCAN调度算法

    

 

 

    这两种算法可以避免磁臂粘着

  

 

 

 

计算题

假设磁盘有1000个磁道,若磁盘请求是一些随机请求,它们按照到达的次序分别处于 811、 348、153、968、407、580、233、679、801、121磁道。当前磁头在656号 磁道上,并且读写磁头正在向磁道号增加的方向移动。

要求: 1.给出用FCFS算法进行磁盘调度时满足请求的次序,并计算出它们的平均寻道长度。

 

 2.给出用SSTF算法进行磁盘调度时满足请求的次序,并计算出它们的平均寻道长度。

 

 

假设磁盘有1000个磁道,若磁盘请求是一些随机请求,它们按照到达的次序分别处于150、 160、 184、90、58、55、39、38、18磁道。当前磁头100号磁道上,并且读写磁头正在向磁道号增 加的方向移动。

要求: 1.给出用SCAN算法进行磁盘调度时满足请求的次序,并计算出它们的平均寻道长度。

 

 2.给出用CSCAN算法进行磁盘调度时满足请求的次序,并计算出它们的平均寻道长度。

 

 

提⾼磁盘I/O速度的⽅法

 

 为了提高磁盘I/O速度,用来暂存从磁盘中读出的一系列盘块中的信息的方 法是磁盘高速缓存

 

转载于:https://www.cnblogs.com/jalja/p/11537890.html

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

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

相关文章

切换Debug/Release编译模式和Archive的作用

在学这个之前,以为很难,也起不到什么作用,但是等真正运用到工程里面,才发现,这个能帮你省下很多工作量。 1,Debug和Release版本区别? 进行iOS开发,在Xcode调试程序时&am…

AFNetworking 对数据进行https ssl加密

参考来源:http://www.cnblogs.com/jys509/p/5001566.html 现在在工作中的工作需求:https请求验证证书一般来讲如果app用了web service , 我们需要防止数据嗅探来保证数据安全.通常的做法是用ssl来连接以防止数据抓包和嗅探其实这么做的话还是不够的 。…

数据库系统原理(第一章概述)

一、数据库基本概念 什么是数据:数据(Data)是描述事物的符号记录,是指利用物理符号记录下来的、 可以鉴别的信息。 数据是信息存在的一种形式,只有通过解释或处理的数据才能成为有用的信息。 什么是数据库:…

实验二:Linux下Xen环境的安装

实验名称: Linux下Xen环境的安装(centOS7) 实验环境: 本次实验基本是在centOS7的环境下完成,系统内核和系统版本如下: 实验要求: 为centOS7的环境下安装Xen的平台,能够正常使用Xen下…

IDEA写vue项目出现红色波浪线警告如何解决??

1.看图 2.希望对大家有帮助,只要修改了这个就可以,如有任何问题都可以留言,谢谢大家 2019-09-1923:54:11 作者:何秀好 转载于:https://www.cnblogs.com/itboxue/p/11553395.html

数据可视化(BI报表的开发)第一天

课程回顾: ​ jQuery事件注册: ​ $(元素).click(function () {}); ​ $(元素).on(‘click’, [后代元素], function () {}); ​ $(元素).one(‘click’, function () {}); ​ 解绑事件:off ​ 自动触发: ​ $(元素).click…

在Block中使用weakSelf与strongSelf的意义

在Block中使用weakSelf与strongSelf的意义 我们都会声明一个弱引用在block中使用, 目的就是防止循环引用, 那么weakSelf与strongSelf一起使用目的是什么呢? 首先先定义2个宏: #define YXWeakSelf(type) __weak typeof(type) weak##type type; #define StrongSelf(type) __…

操作系统原理之操作系统简介(第一章)

一、 什么是操作系统 操作系统:是一种复杂的系统软件,是不同程序代码、数据结构、数据初始化文件的集合,可执行。 操作系统是用户与硬件之间的接口:操作系统与硬件部分相互作用,并且为运行在计算机上的应用程序提供执行…

数据可视化(BI报表的开发)第二天

9、公用面板样式 所有的面板的基础样式是一致的,提前布局好。 面板 .panel :box-sizing,边框图,大小,定位【51 38 20 132】容器 .inner:padding:24,36,定位外部拉宽标…

关于Xcode 7.3 7.3.1 断点 卡死 无限菊花

关于Xcode 7.3 7.3.1 断点 卡死 无限菊花 只要一打断点,就无限卡死,变量区一直菊花在转,只有强制退出Xcode才能重新编译,找了Google和Stack OvewFlowe依然没有解决办法. 删除项目,重新安装Xcode,重新运行程序一切办法都解决不到,百度上说的"build setting中将Enable Clang…

html5+hbuilder+夜神模拟器+webview

HTML5 Plus应用概述 首先新建一个移动App项目,文件-->新建-->移动APP HTML5 Plus移动App,简称5App,是一种基于HTML、JS、CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实现与…

科学计算库学习报告

numpy与matplotlib的学习随笔 我爱代码 import numpy as npimport matplotlib.pyplot as pltimport matplotlibmatplotlib.rcParams[font.family]SimHeimatplotlib.rcParams[font.sans-serif][SimHei]labelsnp.array([第一次,第二次,第三次,第四次,第五次,第六次])nAttr6datanp…

数据库系统原理(第二章关系数据库 )

一、关系数据库概述 20世纪80年代后,在商用数据库管理系统中,( 关系模型 )逐渐取代早 期的网状模型和层次模型,成为主流数据模型 SQL3(SQL-99):1999年 SQL2(SQL-92)&…

iOS NSMutableAttributedString常用方法总结

NSAttributedString 叫做富文本,是一种带有属性的字符串,通过它可以轻松的在一个字符串中表现出多种字体、字号、字体大小等各不相同的风格,还可以对段落进行格式化,一般都是对可变富文本(NSMutableAttributedString&a…

软件开发工具(第1章:绪论)

一、 软件开发工具的由来 计算机语言和软件开发工具的发展和历史 机器语言(第一代语言):难以记忆的、无意义的、二进 制的字符串 汇编语言(第二代语言)针对难以记忆的、无意义的、二进 制的字符串、人们试图用英语中具…

Saiku Table展示数据合并bug修复(二十五)

Saiku Table展示数据合并bug修复 Saiku以table的形式展示数据,如果点击了 非空的字段 按钮,则会自动进行数据合并,为空的数据行以及数据列都会自动隐藏掉。 首先我们应该定位问题: 1.查看接口返回值,会发现接口返回都正…

软件开发工具(第2章:软件开发过程及其组织)

一、软件开发的困难 程序员做好软件工作的关键是什么? 关键是两个转换: 第一个转换是用户对软件功能的理解与程序员对软件功能的理解之间的转换。 (不同⾏业的⼈员对于事物的认识⽅法与描述⽅法是不同的。) 第二个转换要解决的是人…

数据可视化(BI报表的开发)第四天

练习题: 先找出字符串 ‘8587263747153203552943982’ 中出现次数最多的数字及次数,然后去重后并排序(不准使用sort),使得到结果为 ‘0123456789’。 要求1:找到出现最多的数字和出现的次数 // 1、找出出…

网络经济与企业管理(第 1 章:企业管理概论)

一、企业的概念 什么是企业? 1.企业以市场为导向,以价值增值作为经济活动的目的 2.企业是从事商品生产和流通的经济组织 3.企业经营过程中要自主经营、自负盈亏、独立核算和承担风险,具有法人资格的基本经济单位 企业发展的三个时期&#xff…

去死吧!USB转串口!!!

首先,这个题目有两种歧义:1、USB转232串口(严格说就是这种)! 2、USB转USART串口(通常都是这么叫,认为就是这,理论上是错误的,歧义所在)! USB转TTL…