IO子系统的层次结构

本文介绍了IO系统的五层结构,包括用户层IO软件、设备独立性软件、设备驱动程序、中断处理程序和硬件。设备独立性软件提供统一接口,屏蔽设备差异;设备驱动程序实现OS对设备的操作,中断服务程序负责上下文切换和设备状态管理;硬件则包括机械和电子部件。理解这些层次有助于深入掌握IO系统的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在计算机系统,无论软硬,经常用到的结构是层次结构。

同样,IO也不例外。将IO需要完成的功能组织成一系列的层次结构,每一层利用下一层提供的服务。每层完成的是一个子功能,并向上层提供服务接口。这些特征基本上都是层次系统通用的特性,不必多说。

IO系统分类的层次通常是5层。列举如下:

  • 用户层IO软件
  • 设备独立性软件
  • 设备驱动程序
  • 中断处理程序
  • 硬件

首尾两个不用解释都能明白,最抽象的当然是用户看到的那些IO软件,最具体的是底层提供功能的硬件,那么中间的三层作何解释,功能是什么,就需要仔细思考记忆了。

  • 设备独立性软件: 用于实现用户程序与设备驱动器的统一接口、设备命令、设备保护,以及设备分配与释放等,同时也为设备管理和数据传送提供必要的存储空间。

上面是十分拗口的定义,也极易出现理解偏差。而实际上是很具体的东西。所谓设备独立性,就是能够让上层,即用户层的操作能够统一定义,不用再管插入的是什么设备,什么型号,个体特征等等,只需要能够将设备归类,对一类设备进行操作。在用户层,只需要知道我调用一个库函数等就能够使用这个设备了。设备独立性软件就是弥合各种设备的差别,从而为用户层提供一个统一漂亮的接口。另一方面,这一层要面向设备,为了能够满足向上提供服务的要求,需要的准备材料有设备命令,设备保护措施,对设备进行分配与释放的方法等,而引入存储作为缓存自然也是必要的举措。
再细化一点说来,在这一层,引入了逻辑设备和物理设备两种概念。用户层看的是设备的逻辑名字,就像文件系统中看的也是逻辑文件。系统执行时,要操作的是物理设备,二者必然有个映射关系。

  • 设备驱动程序:硬件相关,具体实现OS对设备发出的操作指令,驱动IO设备工作。每一类设备有一个设备驱动程序。比如我们插入U盘时,系统会弹出安装驱动,安装完成后,这个驱动程序不会消失,而是运行在后台进程。无论你用的是正版金士顿还是盗版,用的是东芝还是闪迪,驱动程序都是一类,系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值