I/O系统

I/O设备

  • I/O设备的类型

    1. 按设备的使用特性分类:存储设备、输入/输出设备
    2. 按传输速率分类:低速、中速、高速设备
    3. 按信息交换的单位分类:块设备、字符设备
    4. 按设备的共享属性分类:独占设备、共享设备、虚拟设备

设备与控制器的接口

  • 数据信号线
  • 控制信号线
  • 状态信号线

设备控制器

设备控制器是计算机中的一个实体,其主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。它是计算机和设备的接口,接受CPU发来的指令,以使理机中繁杂的设备控制实务中解脱出来。
  • 基本功能

    1. 接受和识别命令
    2. 数据交换
    3. 标识和报告设备的状态
    4. 地址识别
    5. 数据缓冲
    6. 差错控制
  • 设备控制器的组成
    1. 设备处理器和处理机的接口
    2. 设备控制器与设备的接口
    3. I/O逻辑

I/O通道

I/O通道是一种特殊的处理机,它具有执行I/O的能力,并通过执行通道程序来控制I/O操作。但其指令简单、与CPU共享内存
  • 通道类型

    1. 字节多路通道
    2. 数组选择通道
    3. 数组多路通道
  • 瓶颈问题
    通过增加设备到主机间的通路而不增加通道

总线系统

  • ISA
  • EISA
  • VESA
  • PCI

I/O控制方式

程序I/O方式

浪费大量CPU时间与资源

中断驱动I/O控制方式

由CPU向设备控制器发指令,有专门的设备控制处理I/O请求。

直接存储器访问I/O控制方式

  • DMA I/O控制方式

    1. 数据传输的基本单位是数据块
    2. 其传输的数据是直接传入到内存的,不用再经过CPU处理
    3. 仅在一个和多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器下完成的。
  • DMA控制器组成

  • DMA工作过程

I/O通道控制方式

  • I/O通道的引入
  • 通道程序

缓冲管理

缓冲区的引入

  • 缓和CPU与I/O设备间速度不匹配问题
  • 减少对CPU的中断频率,放宽对CPU中断相应时间
  • 提高CPU和O/I之间的并行性

单缓冲和双缓冲

单缓冲

每个计算机只有一个缓冲区。

双缓冲

每个计算机有两个缓冲区,可以在进程读缓冲的时候同时向另一个缓冲区写缓冲。在两台电脑通信的时候,可以双向发送信息。

循环缓冲

循环缓冲的组成

  • 多个缓冲区

    1. 多个缓冲区
    2. 多个指针
  • 循环缓冲区的使用

    1. Getbuf
    2. Releasebuf
  • 进程同步
    使用输入循环队列,可使输入进程和计算进程并行执行。

缓冲池

  • 缓冲池的组成

    1. 空缓冲区
    2. 装满输入数据的缓冲区

3. 装满输出数据的缓冲区

  1. 输入队列
  2. 空缓冲队列
  3. 输出队列

    • Getbuf过程和Putbuf过程

    • 缓冲区的工作方式

  4. 收容输入 数据进程输入数据
  5. 提取输出 输出进程输出数据
  6. 提取输入 计算检查输出数据
  7. 收容输出 计算进程输出数据

I/O软件

I/O软件的设计原则和目标

  • 与具体设备无关
  • 统一命名
  • 对错误的处理
  • 缓冲技术
  • 设备的分配和释放
  • I/O控制方式

I/O软件的四个层次

1、用户软件层

实现与用户交互的接口,用户可以直接调用在用户层提供的,与I/O调用有关的库函数,对设备进行操作

2、设备独立软件

负责实现与设备驱动器的统一接口、设备命名、设备的保护以及设备的分配和释放等、同时为设备管理和数据传送提供必要的存储空间。

3、设备驱动程序

与硬件直接相关,负责具体实现系统对设备发出的指令,驱动I/O设备工作的驱动程序。

4、中断处理程序

用于保护被中断进程的CPU环境,转入相应的中断处理程序进行,处理,处理完后再恢复被中断程序。

中断处理程序

  • 唤醒被阻塞的驱动进程
  • 保护被中断进程的CPU环境
  • 转入相应的设备处理程序
  • 中断处理
  • 恢复被中断进程的现场

设备驱动程序

1、设备驱动程序的功能

2、设备处理方式

3、设备驱动程序的特点

4、设备驱动程序的处理过程

设备独立性软件

1、设备独立性的概念

2、设备独立性软件

3、设备逻辑名到物理设备名映射的实现


设备分配

设备分配的数据结构

  • 设备控制表
  • 控制器控制表、通道控制表和系统设备表

设备分配时应考虑的因素

  • 设备的固有属性
  • 设备分配算法
  • 设备分配中的安全性

独占设备的分配程序

  • 基本的设备分配程序
  • 设备分配程序的改进

SPOOLing技术

  • 内容
  • 组成
  • 共享打印机
  • SPOOLing系统的特点

磁盘存储器的管理

磁盘性能简述

1、数据的组织和格式

磁盘设备可包括一或多个物理盘片,每个磁盘片分一个或两个存储面,每个磁盘面被组织成了若干个环心,这种环称为磁道,各磁道之间留有必要的间隙。

2、磁盘的类型

  • 固定头磁盘
  • 移动头磁盘

3、磁盘的访问时间

  • 寻道时间
    把磁臂移动到指定磁道上所经历的时间
  • 旋转延迟时间
    扇区移动到磁头下面的时间
  • 传输时间
    把数据从磁盘读出或向磁盘写入数据所经历的过程

磁盘调度

1、先来先服务 FCFS

其根据进程请求访问磁盘的先后次序进行调度,公平,简单。

2、最短寻道时间优先 SSTF

其要求访问的磁道与当前磁头所在的距离最近,以使每次寻道时间最短。

3、扫描算法 SCAN

该算法不仅考虑到欲访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的移动方向。其下一个考虑的对象,应是其欲访问的磁道在当前磁道方向上,又是距离最近的,1 ----->2  2------>1 即循环扫描。

4、循环扫描算法 CSCAN

其与扫描算法不同的地方是其扫描方式不同
1----->2 磁头返回到1  1----->2

5、NStepSCAN 和 FSCAN

磁盘高速缓存

其是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块。

数据交付方式

  • 数据交付
  • 指针交付

置换算法

  • 访问频率
  • 可预见性
  • 数据的一致性

周期的回写磁盘

提高磁盘I/O的其他方法

1、提前读

2、延迟写

3、优化物理块的分布

4、虚拟盘

廉价磁盘冗余阵列

  • 并行交叉存取
  • RAID的分级
  • RAID的优点

操作系统总结 设备管理相关推荐

  1. 操作系统之设备管理简介

    操作系统之设备管理 I/O硬件 分类 组成 I/O通信--编制方式 I/O独立编址 内存映射编址 混合编址 I/O控制方式 程序直接控制 中断驱动方式 DMA直接存储方式 I/O通道 I/O软件 设备 ...

  2. 操作系统之设备管理-翟一鸣-专题视频课程

    操作系统之设备管理-93人已学习 课程介绍         本课程主要内容包括设备管理的任务和功能,设备管理的硬件组织与软件组织,设备管理中的缓冲技术和设备分配. 课程收益     让学员掌握设备管理 ...

  3. 操作系统实验—设备管理

    操作系统实验-设备管理 所有实验源码: gitee:https://gitee.com/infiniteStars/os-project github:https://github.com/hello ...

  4. 操作系统之设备管理习题

    设备管理习题 一.单项选择题 1.磁盘是可共享设备,因此每一时刻( A)作业启动它. A.可以由任意多个 B.能限定多个 C.至少能由一个 D.至多能由一个 2.存放在磁盘上的文件(A ). A.既可 ...

  5. 操作系统(设备管理)

    设备管理 一.实验目的 二.实验内容 三.实验准备 四.实验要求 1.数据结构 2.流程图 代码运行结果 总结 一.实验目的 1.理解设备管理的概念和任务. 2.掌握独占设备的分配.回收等主要算法的原 ...

  6. 操作系统基本原理---设备管理

    设备管理 在计算机系统中,除了处理器和内存之外,其他的大部分硬设备称为外部设备.它包括输入/输出设备,辅存设备及终端设备等.这些设备种类繁多,特性各异,操作方式的差异很大,从而使操作系统的设备管理变得 ...

  7. 操作系统实验-设备管理

    一.实验目的与要求 了解设备管理的基本原理.设备的分配与回收过程. 二.实验内容 1.复习设备管理的基本概念.基本原理.常用的数据结构.分配策略及算法 2.编制一个独占设备的分配和回收模拟程序 三.实 ...

  8. 计算机操作系统之设备管理

    IO控制方式 在整个IO控制方式的发展过程中,始终贯穿着这样一条宗旨:即尽量减少主机对IO控制的干预,把主机从繁杂的IO控制事务中解脱出来,以便更多地去完成数据处理任务. 程序IO方式 处理机对IO采 ...

  9. 计算机操作系统之设备管理思维导图

最新文章

  1. SQL Server查询备份日期和备份设备名
  2. if you want to buy something
  3. 分布式版本控制系统入门
  4. 怎么用计算机弹是你,抖音带你去旅行怎么用计算器弹奏_抖音带你去旅行计算器乐谱_管理资源吧...
  5. php简介及其发展,PHP 简介
  6. 笔记(4)——Analyzing Communities and Their Evolutions in Dynamic Social Networks
  7. Sharepoint学习笔记--- 快速确定VisualStudio2010当前Project的assembly name
  8. oracle --union和union all
  9. 制作基于WiFi局域网的自动开门装置2.0(Arduino+微信小程序)
  10. 序列化(boost serialization)
  11. 在c语言中整数除以0,整数除零在哪些平台上触发浮点异常?
  12. C++中 stol()和stoll()
  13. picACG本地缓存目录_前端工程师必备之缓存问题
  14. 【网络安全学习】渗透测试篇01-DVWA靶场环境搭建教程
  15. 29.Android展示PDF文件
  16. 娱乐至死,年轻人的慢性毒药
  17. 【面试题】一个Http请求的流程
  18. 1.8.5 访问日志不记录静态文件
  19. java:布局方法(网格布局)
  20. 计算机专业迎新晚会主题海报,如何制作迎新晚会宣传海报?推荐使用迎新海报素材!...

热门文章

  1. java list 判断最后一个元素_java – ArrayList查找第一个和最后一个元素
  2. selenium之xpath定位
  3. 秋天里的第一本云原生巨著:《Harbor权威指南》
  4. Bugku-Web-Simple
  5. 如何在手机上找到电子记事本?
  6. 服务器状态维护的方法,维护服务器的8个方法!
  7. Linux查看文件大小并排序
  8. 腾讯云轻量应用服务器16核32G28M处理器带宽流量性能测评
  9. iOS/swift之常用正则
  10. linux的_msize()函数,定位并行应用程序中的可伸缩性问题(最透彻一篇)