0x19 I/O系统

I/O基本概念

计算机2个主要任务:

  1. I/O操作(更频繁)
  2. 计算

I/O设备特点:

  • 种类繁多,不断有新设备出现
  • 接口标准化:如USB

I/O系统的对象和任务

I/O系统的主要对象:I/O设备和对应的设备控制器

I/O系统的主要任务:

  • 完成用户提出的I/O请求
  • 提高I/O速率
  • 改善I/O设备的利用率

I/O系统的基本功能

  1. 隐藏物理设备的细节
  2. 与设备的无关性
  3. 提高处理机和I/O设备的利用率
  4. 对I/O设备进行控制.
  5. 确保对设备的正确共享
  6. 错误处理

设备独立性

为了提高操作系统的可适应性和可扩展性,现代操作系统中实现了设备独立性,也称为设备无关性。即应用程序独立于具体使用的物理设备。

实现方法:

  • 引入逻辑设备和物理设备
  • 在应用程序中使用逻辑设备名来请求使用某类设备
  • 而系统在实际执行时使用物理设备名
  • 系统必须具有将逻辑设备名转换为物理设备名的功能
  • 类似于存储管理中的逻辑地址和物理地址的概念

在这里插入图片描述

I/O应用接口

I/O系统调用将设备的行为封装成一些通用类型,每个通用类型都可以通过一组标准函数即接口来访问,具体的差别被设备驱动程序所封装。

设备驱动程序层的作用是为内核I/O子系统隐藏设备控制器的不同细节。

设备在许多方面有很大差异:字符流或块;顺序或随机访问;共享或独占;操作速度;读写、只读、只写。

将I/O系统与硬件分离的做法简化了开发人员的工作,也有利于硬件制造商设计新的设备与现有的控制器接口相兼容。

I/O设备

  1. 执行I/O操作的机械设备:I/O设备
  2. 执行控制I/O的电子部件:设备控制器

I/O设备与计算机通过一个连接点(也就是端口)进行通信。

如果一个或多个设备使用一组共同的线,那么这种连接称为总线bus。总线bus是一组线和一组严格定义的可以描述在线上传输信息的协议。有几种类型,如链环、共享总线等类型。

设备控制器

控制器是用于操作端口、总线或设备的一组电子器件。
在这里插入图片描述
在这里插入图片描述
控制器的主要功能
控制一个或多个l/O设备,以实现I/O设备和计算机之间的数据交换;它也是CPU与I/O设备之间的接口,接收从CPU发来的命令,并控制I/O设备工作,以使CPU从繁杂的设备控制事务中解脱出来。

I/O寄存器
  • 状态寄存器
  • 控制寄存器
  • 数据输入寄存器
  • 数据输出寄存器

驱动程序将抽象I/O命令转换成具体的命令和参数等装入设备控制器的相应寄存器,由控制器执行这些命令,具体实施对I/O设备的控制。

控制设备的具体方法

一种是通

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值