王道计算机考研 操作系统学习笔记 + 完整思维导图篇章五: IO管理

本文详细介绍了IO设备的基本概念,分类方法(按使用特性和传输速率等),包括IO控制器的构成和控制方式(程序直接、中断驱动、DMA和通道)。探讨了IO软件层次结构,如用户层IO软件和设备独立性软件,以及设备驱动接口和SPOOLing技术。此外,文章涵盖了缓冲区管理、磁盘管理和磁盘调度算法等内容。
摘要由CSDN通过智能技术生成

目录

IO设备的基本概念和分类

IO设备的分类 

按使用特性分类

按传输速率分类 

按信息交换单位分类 

IO控制器

l/O设备的电子部件(I/O控制器) 

l/O控制器的组成

内存映像I/o vs.寄存器独立编址

IO控制方式

程序直接控制方式

中断驱动方式

DMA方式

​编辑通道控制方式

DMA与通道的区别

IO软件层次结构 

用户层IO软件 

设备独立性软件

主要功能

中断处理程序

输入/输出应用程序接口 & 设备驱动程序接口 

输入/输出应用程序接口

阻塞/非阻塞I/O

设备驱动程序接口 

IO核心子系统 

假脱机技术(SPOOLing ) 

什么是脱机技术

输入井和输出井

共享打印机原理分析 

设备的分配与回收

设备分配时应考虑的因素 

静态分配和动态分配

设备分配管理中的数据结构

设备分配的步骤

​编辑​编辑

设备分配步骤的改进 

缓冲区管理 

什么是缓冲区? 有什么作用?​编辑​编辑

单缓冲

双缓冲 

使用单/双缓冲在通信时的区别

高速缓存与缓冲区对比

相同点

不同

循环缓冲区

缓存池

磁盘管理 

磁盘的结构

磁盘、磁道、扇区 

如何在磁盘中读/写数据

盘面、柱面

磁盘的物理地址

​编辑 磁盘的分类

磁盘调度算法

一次磁盘读/写操作需要的时间 

先来先服务算法 (FCFS)

最短寻找时间优先 (SSTF)

扫描算法 (SCAN)

LOOK 调度算法

循环扫描算法 (CSCAN) 

C-LOOK 调度算法

磁盘的管理

磁盘初始化 

引导块 

坏块管理 

固态硬盘SSD 

IO设备的基本概念和分类

“I/O”就是“输入/输出”(Input/Output)I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件

UNIX系统将外部设备抽象为一种特殊的文件,用户可以使用与文件操作相同的方式对外部设备进行操作。 

IO设备的分类 

按使用特性分类

按传输速率分类 

按信息交换单位分类 


IO控制器

I/0设备的机械部件主要用来执行具体I/O操作。如我们看得见摸得着的鼠标/键盘的按钮:显示器的LED屏:移动硬盘的磁臂、磁盘盘面


l/0设备的电子部件通常是一块插入主板扩充槽的印刷电路板       


l/O设备的电子部件(I/O控制器) 

l/O控制器的组成

值得注意的小细节:

  • 一个I/0控制器可能会对应多个设备;
  • 数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/状态寄存器对应一个具体的设备),且这些寄存器都要有相应的地址,才能方便CPU操作。有的计算机会让这些寄存器占用内存地址的一部分,称为内存映像l/0;另一些计算机则采用I/0专用地址,即寄存器独立编址

内存映像I/o vs.寄存器独立编址


IO控制方式

程序直接控制方式

中断驱动方式

基于程序直接控制方式的CPU需要忙等的缺点,可以通过中断驱动方式来进行优化

DMA方式

根据中断驱动方式的数据流向发现,每次IO操作都要走一次CPU这个中转站来讲寄存器中的数据进行一个拷贝,但实际上可以通过DMA来充当这个拷贝的角色的,CPU可以去搞自己的事情

DMA控制器本质上也是一种IO控制器,只不过有一点小区别 

通道控制方式


DMA与通道的区别

DMA需要CPU来控制传输的数据块大小、传输的内存位置、而通道方式中这些信息是由通道控制

DMA控制器对应一台设备与内存传递数据,通道可以控制多态设备与内存的数据交换


IO软件层次结构 

用户层IO软件 

设备独立性软件

主要实现的功能

  • 向上层提供统一的调用接口 (如 read/write 系统调用)
  • 实现设备的保护,原理类似与文件保护。设备被看做是一种特殊的文件,不同用户对各个文件的访问权限是不一样的,同理,对设备的访问权限也不一样。
  • 差错处理,对一些设备的错误进行处理
  • 设备的分配与回收
  • 通过缓冲技术屏蔽设备之间数据交换单位大小和传输速度的差异
  • 建立逻辑设备名到物理设备名的映射关系; 根据设备类型选择调用相应的驱动程序

可以类比单级目录和多级目录的关系 


中断处理程序


输入/输出应用程序接口 & 设备驱动程序接口 

输入/输出应用程序接口


阻塞/非阻塞I/O

  • 阻塞I/O: 应用程序发出I/O系统调用,进程需转为阻塞态等待

        eg:字符设备接口-一从键盘读一个字符 get

  • 非阻寨I/O:应用程序发出I/O系统调用,系统调用可迅速返回,进程无需阻塞等待

        eg:块设备接口--往磁盘写数据 write


设备驱动程序接口 

  • 不同的操作系统,对设备驱动程序接口的标准各不相同。
  • 设备厂商必须根据操作系统的接口要求,开发相应的设备驱动程序,设备才能被使用 

IO核心子系统 


假脱机技术(SPOOLing ) 

什么是脱机技术

输入井和输出井


共享打印机原理分析 


设备的分配与回收

设备分配时应考虑的因素 


静态分配和动态分配

  • 静态分配:进程运行前为其分配全部所需资源,运行结束后归还资源(破坏了“请求和保持”条件,不会发生死锁)
  • 动态分配:进程运行过程中动态申请设备资源

设备分配管理中的数据结构


设备分配的步骤


设备分配步骤的改进 


缓冲区管理 

什么是缓冲区? 有什么作用?


单缓冲

结论:采用单缓冲策略,处理一块数据平均耗时 Max(C, T)+M


双缓冲 

结论:采用双缓冲策略,处理一个数据块的平均耗时为 Max(T, C+M)


使用单/双缓冲在通信时的区别

显然,若两个相互通信的机器只设置单缓冲区,在任一时刻只能实现数据的单向传输。 


高速缓存与缓冲区对比

相同点

都介于高速设备和低速设备之间

不同
  • 存放数据

    高速缓存:存放的是低速设备上的某些数据的复制数据

    缓冲区:存放的是低速设备传递给高速设备的数据,这些数据在低速设备上不一定有备份,这些数据再从缓冲区传送到高速设备

  • 目的

    高速缓存∶高速缓存存放的是高速设备经常要访问的数据,如高速缓存中数据不在,高速设备就要访问低速设备

    高速设备和低速设备的通信都要经过缓冲区高速设备永远不会去直接访问低速设备


循环缓冲区

缓存池


磁盘管理 

磁盘的结构

磁盘、磁道、扇区 

如何在磁盘中读/写数据

        需要把“磁头”移动到想要读/写的扇区所在的磁道磁盘会转起来,让目标扇区从磁头下面划过,才能完成对扇区的读/写操作。

盘面、柱面

磁盘的物理地址

磁盘的分类

活动头磁盘和固定头磁盘

可换盘磁盘和固定盘磁盘


磁盘调度算法

一次磁盘读/写操作需要的时间 

操作系统的磁盘调度算法会直接影响寻道时间 


先来先服务算法 (FCFS)


最短寻找时间优先 (SSTF)


扫描算法 (SCAN)


LOOK 调度算法


循环扫描算法 (CSCAN) 


C-LOOK 调度算法

减少磁盘延迟时间

 

 


磁盘的管理

磁盘初始化 

引导块 

坏块管理 

固态硬盘SSD

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学徒630

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值