操作系统 第三章

本文详细介绍了操作系统中的I/O硬件原理,包括I/O硬件分类、设备特点、块设备和字符设备,以及I/O控制技术如程序控制、中断驱动、直接存储访问和通道控制。此外,还探讨了I/O软件的目标、中断处理器、设备驱动程序和设备无关软件。接着,文章转向了死锁的概念,阐述了死锁的必要条件、资源分配图、预防和恢复策略,以及银行家算法等避免死锁的方法。最后,简要概述了MINIX3操作系统中的I/O结构。
摘要由CSDN通过智能技术生成

I/O硬件原理

I/O硬件分类

按外设特性分类

  • 使用特征:存储、输入输出、终端
  • 数据传输率:低速、中速、高速
  • 信息组织特征:单个字符或数据块
    • 字符设备(如打印机)
    • 块设备(如磁盘)

I/O设备的特点

  • 种类多
  • 差异大(控制和速度)
    • 在速率相差多个数量级的不同设备上保持相对良好的性能
      不同I/O设备速度

块设备和字符设备

块设备

将信息存储在可寻址固定大小数据块

  • 通常数据块大小为512字节到32768字节不等
  • 块设备的主要特征是能够独立地读写单个的数据块
  • 磁盘是最常见的块设备

字符设备

发送或接受字符流

  • 无法编址,也不存在任何寻址操作
  • 如打印机、网络接口、鼠标等

设备控制器

I/O设备通常包含一个机械部件和一个电子部件。
为了达到设计的模块性和通用性,一般将其分开。电子部分称为设备控制器或适配器,在个人计算机中,它常常是一块可以插入主板扩展槽的印刷电路板。机械部分则是设备本身。

控制器负责将驱动器读出来的比特流转换成字节块并纠错,通常该字节块是在控制器中的缓冲区中逐个比特汇集而成。在对检查和进行校验证实数据正确之后,该数据随后被拷贝到主存中。

I/O控制技术

程序控制I/O

  • I/O操作由程序发起,并等待操作完成。数据的每次读写通过CPU
  • 每个控制器都有一些用来与CPU通信的寄存器及数据缓存区
    • 通过写入寄存器,操作系统可以命令设备发送数据、接收数据、开启或关闭或其他操作
    • 通常设备有一个数据缓冲区,以供操作系统读写数据
  • 设备编址方式
    • I/O端口
      设备寄存器单独编址,即I/O端口号
    • 内存映射I/O
      设备数据缓冲区按内存地址空间进行统一编址
      内存映射I.O

中断驱动方式

  • I/O操作是否可以开始或完成
    • 检测设备控制寄存器中的状态标志位
    • 使用中断方式通知CPU
  • 中断驱动方式
    • I/O操作由程序发起,在操作完成时(如数据可读或已经写入)由外设向CPU发出中断,通知该程序。数据的每次读写通过CPU。
    • 优点
      在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序
    • 缺点
      CPU每次处理的数据量少(通常不超过几个字节),只适于数据传输率较低的设备

直接存储访问方式DMA

由程序设置DMA(Direct Memory Access)控制器中的若干寄存器值(如内存起始地址,传送字节数),然后发起I/O操作,而后者完成内存与外设的成批数据交换,在操作由DMA控制器向CPU发出中断

优点:CPU只需干预I/O操作的开始和结束,而其中一批数据读写无需CPU控制,适于高速设备。

DMA传送操作
DMA传送操作

通道控制方式

通道控制器有自己专用的存储器,可以执行由通道指令组成的通道程序,因此可以进行较为复杂的I/O控制。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值