操作系统理论课IO设备

IO设备概念和分类

在这里插入图片描述

IO控制器

在这里插入图片描述

CPU无法直接控制/o设备的机械部件,因此/O设备还要有一个电子部件作为CPU和/O设备机械部件之间的“中介”,用于实现CPU对设备的控制。

这个电子部件就是IO控制器,又称设备控制器。CPU可控制IO控制器,又由IO控制器来控制设备的机械部件。

IO控制器功能

在这里插入图片描述

IO控制器组成

在这里插入图片描述
值得注意的小细节:

  1. 一个IO控制器可能会对应多个设备;
  2. 数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/状态寄存器对应一个具体的设备),且这些寄存器都要有相应的地址,才能方便CPU操作。有的计算机会让这些寄存器占用内存地址的一部分,称为内存映像/o;另一些计算机则采用/O专用地址,即寄存器独立编址。在这里插入图片描述

IO控制方式

在这里插入图片描述

程序直接控制方式

IO设备和内存的交互要经过CPU
在这里插入图片描述
在这里插入图片描述

中断驱动方式

引入中断机制。由于IO设备速度很慢,因此在CPU发出读/写命令后,可将等待1/O的进程阻塞,先切换到别的进程执行。当IO完成后,控制器会向CPU发出一个中断信号,CPU检测到中断信号后,会保存当前进程的运行环境信息,转去执行中断处理程序处理该中断。处理中断的过程中,CpU从IO控制器读一个字的数据传送到CPU寄存器,再写入主存。接着,CPU恢复等待IO的进程(或其他进程)的运行环境,然后继续执行。

在这里插入图片描述

DMA方式

与“中断驱动方式”相比,DMA方式( Direct Memory Access,直接存储器存取。主要用于块设备的1/O控制)有这样几个改进:
①数据的传送单位是“块”。不再是一个字、一个字的传送;
②数据的流向是从设备直接放入内存,或者从内存直接到设备。不再需要CPU作为“快递小哥”。
③仅在传送一个或多个数据块的开始和结束时,才需要CPU干预。

在这里插入图片描述
在这里插入图片描述

通道控制方式

通道:一种硬件,可以理解为是“弱鸡版的CPU”。通道可以识别并执行一系列通道指令
在这里插入图片描述
在这里插入图片描述

IO软件层次

在这里插入图片描述

用户层软件

在这里插入图片描述

设备独立性软件

设备独立性软件,又称设备无关性软件。与设备的硬件特性无关的功能几乎都在这一层实现。

  1. 向上层提供统一的调用接∏(如read/ write系统调用)
  2. 设备保护,原理类似与文件保护。设备被看做是一种特殊的文件,不同用户对各个文件的访问权限是不一样的,同理,对设备的访问权限也不一样。
  3. 差错处理
  4. 设备分配和回收
  5. 数据缓冲区管理
  6. 建立逻辑设备名到物理设备名的映射关系;根据设备类型选择调用相应的驱动程序
    在这里插入图片描述
    操作系统系统可以采用两种方式管理逻辑设备表(LUT)
  • 第一种方式,整个系统只设置一张LUT,这就意味着所有用户不能使用相同的逻辑设备名,因此这种方式只适用于单用户操作系统
  • 第二种方式,为每个用户设置一张LUT,各个用户使用的逻辑设备名可以重复,适用于多用户操作系统。系统会在用户登录时为其建立一个用户管理进程,而UT就存放在用户管理进程的PCB中。

设备驱动程序

主要负责对硬件设备的具体控制,将上层发出的一系列命令(如read/ write)转化成特定设备“能听得懂”的一系列操作。包括设置设备寄存器;检查设备状态等不同的IO设备有不同的硬件特性,具体细节只有设备的厂家才知道。因此厂家需要根据设备的硬件特性设计并提供相应的驱动程序

驱动程序一般会以一个独立进程的方式存在

中断处理程序

当J/O任务完成时,VO控制器会发送一个中断信号,系统会根据中断信号类型找到相应的中断处理程序并执行。

IO核心子系统

在这里插入图片描述

设备分配回收

在这里插入图片描述

缓冲区

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值