五、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速度,用来暂存从磁盘中读出的一系列盘块中的信息的方 法是磁盘高速缓存

操作系统原理之I/O设备管理(第六章上半部分下)的更多相关文章

  1. “全栈2019”Java第十六章:下划线在数字中的意义

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

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

    一.I/O系统的组成 I/O系统不仅包括各种I/O设备,还包括与设备相连的设备控制器,有些系统还配备了专⻔⽤ 于输⼊/输出控制的专⽤计算机,即通道.此外,I/O系统要通过总线与CPU.内存相连. I/ ...

  3. Intel汇编语言程序设计学习-第六章 条件处理-下

    6.6  应用:有限状态机 这个东西说了半天,感觉就是把逻辑弄得跟有向图一样,没看出来什么高端的东西,下面就整理下书上说的概念: 有限状态机(FSM,Finite-State Machine)是依据输 ...

  4. 操作系统原理2——OS结构

    操作系统原理2——OS结构   计算机系统是由硬件系统和软件系统两部分组成, 操作系统是软件系统的一个组成部分,它是直接在硬件系统的基础上工作的,所以在研究操作系统之前,先必须对计算机系统的结构有一个 ...

  5. 网络操作系统 第六章 Window Server 2008 活动目录

    本章小结 在企业网络中,活动目录是必不可少的,它将网络中各种对象组织起来进行管理,方便了网络对象的查找,增强了网络的安全性,为用户的物流管理提供了极大的便利,本章首先介绍了活动目录的基本概念,然后通过 ...

  6. Linux操作系统原理

    Linux操作系统原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.计算机经历的四个时代 1.第一代: 真空管计算机,输入和输出:穿孔卡片,对计算机操作起来非常不便,做一件事 ...

  7. [CSAPP笔记][第六章存储器层次结构]

    第六章 存储器层次结构 在简单模型中,存储器系统是一个线性的字节数组,CPU能够在一个常数访问每个存储器位置. 虽然是一个行之有效的模型,但没有反应现代系统实际工作方式. 实际上,存储器系统(memo ...

  8. 第六章P2P技术及应用

    第六章P2P技术及应用 P2P技术在我们日常生活中非常实用,例如我们常用的QQ.PPLive.BitTorrent就是基于P2P技术研发.下面将本章中的重点内容进行归纳. 文章中的Why表示产生的背景 ...

  9. 精通Web Analytics 2.0 (8) 第六章:使用定性数据解答”为什么“的谜团

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第六章:使用定性数据解答"为什么"的谜团 当我走进一家超市,我不希望员工会认出我或重新为我布置商店. 然而, ...

随机推荐

  1. JAVA MQ API方式通信采用Binding MQ Server方式

    package com.mqapi;   /**  * @modified by actorai E-mail:actorai@163.com  * @version 创建时间:2010-9-15 * ...

  2. 『开发技术』GPU训练加速原理(附KerasGPU训练技巧)

    0.深入理解GPU训练加速原理 我们都知道用GPU可以加速神经神经网络训练(相较于CPU),具体的速度对比可以参看我之前写的速度对比博文: [深度应用]·主流深度学习硬件速度对比(CPU,GPU,TP ...

  3. maven的不同版本下载及环境配置

    Maven不同版本下载及环境配置 Maven下载 去到官网 https://maven.apache.org/ 会发现是最新版本,但是一般下载的话,都会下载比最新的版本要低两到三个小版本的,这里就下载 ...

  4. linux100day(day3)--常用文本处理命令和vim文本编辑器

    今天,来介绍几个常用文本处理命令和vim文本编辑器 day3--常用文本处理命令和vim文本编辑器 col,用于过滤控制字符,-b过滤掉所有控制字符,这个命令并不常用,但可以使用man 命令名| co ...

  5. .NETCore C# 中级篇2-4 一文带你完全弄懂正则表达式

    .NETCoreCSharp 中级篇2-4 本节内容为正则表达式的使用 简介 有的时候,你是否有过这种需求:判断一个Ip地址.邮箱.密码规则是否合法.如果让你使用if一类的传统方法进行处理,你肯定会被 ...

  6. 从0到1发布一个npm包

    从0到1发布一个npm包 author: @TiffanysBear 最近在项目业务中有遇到一些问题,一些通用的方法或者封装的模块在PC.WAP甚至是APP中都需要使用,但是对于业务的PC.WAP.A ...

  7. 【已解决】Https请求—未能创建 SSL/TLS 安全通道

    在做项目的微信推送消息功能时,由于微信并发量大,导致其它第三方接口调用时直接挂掉报错. 问题: 测试工程师做压测,100个线程同时调用微信和XX站的接口,日志报XX站的“请求被中止: 未能创建 SSL ...

  8. Yarn上常驻Spark-Streaming程序调优

    对于长时间运行的Spark Streaming作业,一旦提交到YARN群集便需要永久运行,直到有意停止.任何中断都会引起严重的处理延迟,并可能导致数据丢失或重复.YARN和Apache Spark都不 ...

  9. 优化Recorder H5录音:可边录边转码上传服务器,支持微信提供Android IOS Hybrid App源码

    Recorder H5 GitHub开源库随着支持功能的增多,音频转码处理效率渐渐的跟不上需求了,近期抽时间对音频转码部分进行了升级优化,以支持更多实用的功能. 另外IOS的Hybrid App也完成 ...

  10. ubuntu安装后的基本配置及常用软件的安装

    文章作者:foochane  原文链接:https://foochane.cn/article/2019061501.html 内容简介 当前Ubuntu版本:ubuntu 18.04,具体操作如下: ...