操作系统理论知识:I/O管理与磁盘调度

一、I/O设备

1、分类

  • 人可读的——与用户交互:打印机,终端(显示器+键盘);
  • 机器可读——与电子设备通信:磁盘驱动器,固态硬盘,U盘,传感器,控制器;
  • 通信——与远程设备通信:数字线路驱动器,调制器,解调器。

2、差异

  • 数据传送速率的差异:键盘速率最慢。

  • 用于存储文件的磁盘需要文件管理软件支持;
  • 用于存储虚拟内存页面的磁盘需要特定软硬件支持;
  • 系统管理员使用的终端可能拥有高优先级;
  • 传送数据的单位有差异:键盘的传送单位是字节,磁盘的是以块为单位;
  • 数据的表示也有差别,采用不同的编码方案;
  • 不同的设备以不同的方式响应错误;

3、组成

I/O设备一般由机械和电子两部分组成:

  • 机械部分:设备本身的物理装置;
  • 电子部分:称作设备控制器或适配器(adapter),在小型和微型机中常采用印刷电路卡插入计算机(接口)中;设备控制器完成设备与主机之间的连接和通讯。从设备驱动器出来的数据是比特流,控制器的任务是把串行的比特流转换为字节块,并进行必要的校验工作后送到内存

4、执行I/O的三种技术

  • 程序控制I/O:处理器代表一个进程给I/O模块发送一个I/O命令,然后该进程进入忙等待,直到操作完成才可以继续执行;
  • 中断驱动I/O:处理器代表进程向I/O模块发出一个I/O命令。如果来自进程的I/O指令是非阻塞的,那么处理器继续执行发出I/O命令的进程的后续指令;如果I/O指令是阻塞的,那么处理器执行的下一条指令则来自操作系统,它将当前的进程设置为阻塞态并且调度其他进程(操作系统将I/O命令写入控制器寄存器中并且I/O操作完成时控制器产生一个中断唤醒被阻塞的进程)
  • 直接存储器访问(DMA):一个DMA模块控制内存和I/O模块之间的数据交换。为传送一块数据,处理器给DMA模块发送请求,并且只有当整个数据块传送结束后它才被中断

5、I/O功能的逻辑结构

  • 逻辑I/O:设备无关的I/O软件。实现一般设备都需要的I/O功能,向用户层软件提供统一接口。提供一个与设备无关的块大小,屏蔽“不同设备基本单位可以不同”这一事实,向较高层软件提供统一块大小的抽象设备。通过缓冲区来协调设备的读写速度和用户进程的读写速度。
  • 设备I/O:请求的操作和数据被转换成适当的I/O指令序列、通道命令和控制器指令。可以使用缓冲技术来提高利用率。
  • 调度和控制:是I/O模块和设备硬件真正交互的软件层。通常体现为设备驱动程序&
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值