操作系统 第五章 输入/输出

PS:这些是我自己的期末复习笔记,如果能帮到大家就很开心啦(〜㉨)〜。我要是有写的不对的,希望大家多指正。

第五章 输入/输出

操作系统的一个主要功能就是控制计算机的所有I/O(输入/输出)设备
操作系统必须向设备发送命令,捕捉中断,并处理错误。它还应该提供设备与系统其他部分之间的接口,使之简单易用。如果有可能,该接口对于所有设备都应该是一样的(设备无关性)。

I/O设备

按设备的信息组织方式,可分为两类:
1.块设备:把信息存储在固定长度的块中,每块都有其自己的地址。一般块的大小在512至32768字节之间。块设备的基本特征是每个块都能独立地读写。磁盘是最典型的块设备。
2.字符设备:字符设备发送或接收一个字符流,不考虑任何块结构。因此不编址没有任何寻址操作。打印机、网络接口等是字符设备。
通常输入输出类设备都是字符设备,而存储类设备都是块设备。但有些设备不能按此分类,如时钟。

按设备使用可共享性,分为
1.独占设备。任一指定的时刻只能让一个进程使用的设备。如打印机、磁带驱动器等
2.共享设备。能够同时让许多程序使用的设备。如磁盘。
3.虚拟设备。设备本身是独占设备,而经过某种技术处理,可以把它改造成共享设备,同时分配给多个进程。

I/O单元一般由两部分组成: 1.机械部分 2.电子部分=设备控制器=适配器

控制器要负责:1. 把串行位流转换为字节块 2. 进行必要的校验工作 3.在对块验证检查并证明无误后,再将它复制到主存中。

内存映射I/O P190

控制器都寄存器用来与CPU进行通信
CPU如何与控制寄存器和数据缓冲区通信,控制器中寄存器编址的三种方案

  • I/O单独编址,每个控制寄存器分配到一个I/O端口号,并使用特定的指令,如IN,OUT等。内存地址空间和I/O地址空间是不同的。

  • - 混合方案:控制寄存器具有单独的I/O端口,而数据缓冲区映射到内存空间

  • 内存映射I/O :所有控制寄存器映射到内存空间。每个控制寄存器被分配了一个唯一的、没有指派给内存的内存地址。被分配的地址通常在地址空间的高端。工作方式:每个模块和每个I/O地址设备都和它所服务的地址范围比较。

在这里插入图片描述
(a) 分离的I/O和内存地址空间
(b) 内存映射I/O
© 混合方式(内存映射I/O的数据缓冲区,而控制寄存器具有单独的端口)

内存映射I/O的优点:

  1. I/O的设备驱动程序完全可以用C编写。
  2. 使用内存映射I/O,无需特殊的保护机制来隔离I/O操作和用户进程。
  3. 使用内存映射I/O,每个可以引用内存的指令都同样可以引用控制寄存器。

内存映射I/O的缺点

  1. 内存高速缓存的处理,操作系统必须管理选择性高速缓存。
  2. 具有单独的高速内存总线的系统中,I/O设备无法直接查看内存地址,需要采取特殊的措施。
<
  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值