第六章、输入输出系统

简介:

第六章、输入输出系统

    • I/O系统的概念:指用于实现数据输入、输出以及数据存储的系统。
    • 假脱机(SPooling)系统
      • 假脱机技术是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”,核心思想史以联机的方式得到脱机的效果。
      • 通过假脱机技术,可以将一台物理I/O设备虚拟为多台逻辑I/O设备,这样也就允许多个用户共享一台物理I/O设备。
      • 脱机技术:利用专门的外围控制机,先将低速I/O设备的数据传到高速磁盘上,或者相反。这样当处理机需要输入数据时,便可以直接从磁盘中读取数据,极大地地逃了输入速度。反之,在处理机需要输出数据时,也可以以很快的速度把数据先输出到磁盘上,处理机便可以去做自己的事情。这样就能实现以前的脱机输入和输出功能。此时外围操作与CPU对数据的处理同时进行,我们把这种联机情况下实现同时外围操作的技术称为SPOOLing技术,或者称为假脱机技术。
      • 该系统组成:
        • 输入井和输出井
        • 输入缓冲区和输出缓冲区
        • 输入进程和输出进程
        • 井管理程序
    • 直接内存访问(DMA)
    • 磁盘调度算法
      • 先来先服务(FCFS)
        根据进程请求访问磁盘的先后顺序进行调度。
        • 例子:从100号磁道开始
  • 被访问的下一个磁道号
  • 移动距离
  • 55
  • 45
  • 54
  • 3
  • 39
  • 19
  • 18
  • 21
  • 90
  • 72
  • 160
  • 70
  • 150
  • 110
  • 38
  • 112
  • 184
  • 146
    • 平均寻道长度:55.3
    • 最短寻道时间优先(SSTF)
      • 概念:该算法选择这样的进程,其要求访问的磁道与当前磁头所在磁道距离最近,以使得每次寻道时间最短,但不保证平均寻道时间最短。
      • 例子:(从100号磁道开始)
  • 下个磁道号
  • 移动距离
  • 90
  • 10
  • 58
  • 32
  • 55
  • 3
  • 39
  • 16
  • 38
  • 1
  • 18
  • 1
  • 150
  • 132
  • 160
  • 10
  • 184
  • 24
    • 平均寻道长度:27.5
    • 扫描(SCAN)算法(电梯调度)
      • 基于优先级调度算法,自里向外,自外向里。
      • 例子:(从100号磁道开始,向磁道号增加的方向访问)
  • 下个磁道号
  • 移动距离
  • 150
  • 50
  • 160
  • 10
  • 184
  • 24
  • 90
  • 94
  • 58
  • 32
  • 55
  • 3
  • 39
  • 16
  • 38
  • 1
  • 18
  • 20
    • 平均寻道长度:27.8
    • 循环扫描算法(CSCAN)
      • 概念:只是自里向外移动,当移动到最外时,磁头立刻返回最里的磁道,即最小磁道号紧挨着最大磁道号
      • 例子:(从100号磁道开始,向磁道号增加方向)
  • 下一个磁道
  • 移动距离
  • 150
  • 50
  • 160
  • 10
  • 184
  • 24
  • 18
  • 166
  • 38
  • 20
  • 39
  • 1
  • 55
  • 16
  • 58
  • 3
  • 90
  • 32
    • 平均寻道长度:35.8
相关文章
|
8月前
|
存储 算法 调度
第六章 输入输出系统【操作系统】1
第六章 输入输出系统【操作系统】1
59 0
|
8月前
第六章 输入输出系统【操作系统】2
第六章 输入输出系统【操作系统】2
115 0
|
8月前
|
C++
第七章 输入/输出与中断【微机原理】3
第七章 输入/输出与中断【微机原理】3
68 0
|
8月前
第七章 输入/输出与中断【微机原理】1
第七章 输入/输出与中断【微机原理】1
37 0
|
8月前
|
芯片
第七章 输入/输出与中断【微机原理】2
第七章 输入/输出与中断【微机原理】2
52 0
|
芯片 异构计算
第三章 硬件描述语言verilog(三)功能描述-时序逻辑
第三章 硬件描述语言verilog(三)功能描述-时序逻辑
179 0
第三章 硬件描述语言verilog(三)功能描述-时序逻辑
|
10月前
|
存储 自然语言处理 程序员
【C语言进阶】了解计算机的程序环境和预处理过程 掌握计算机预处理操作(上)
【C语言进阶】了解计算机的程序环境和预处理过程 掌握计算机预处理操作(上)
|
10月前
|
C语言
【C语言进阶】了解计算机的程序环境和预处理过程 掌握计算机预处理操作(下)
【C语言进阶】了解计算机的程序环境和预处理过程 掌握计算机预处理操作(下)
|
11月前
|
存储 C++ iOS开发
C++的输入输出概述
🐰 C++的输入输出 🌸C++的输入输出 🌸C++的输入输出流 🏡iostream类库中有关的类 🌸用流成员函数put输出一个字符 🌸用流成员函数write输出字符串 🌸用流成员函数get获取一个字符 🏡1.无参数的get 🏡3.有三个参数的get函数 🌸用流成员函数getline读取字符串 🌸用流成员函数read读取字符串
|
Java 程序员 C语言
编写程序的目的?为什么要学习编程
编写程序的目的?为什么要学习编程
142 0