IO软件层次结构

IO软件层次结构

image


image

一、用户层软件

向上实现了用户接口,向下翻译为系统调用。

image

二、设备独立性软件(设备无关性软件)

与设备的硬件特性无关的功能几乎都在这一层实现。

主要实现的功能:

  1. 向上层提供统一的调用接口(如 read/write 系统调用)

  2. 设备的保护

    原理类似于文件保护。设备被看作是一种特殊的文件,不同用户对各个文件都访问权限不一样,同理,对设备的访问权限也不一样。(此概念在6.还会涉及)

  3. 差错处理

  4. 设备的分配与回收

  5. 数据缓冲区处理

    可以通过缓冲技术屏蔽设备之间数据交换单位大小和传输速度的差异。

  6. 建立逻辑设备名到物理设备名的映射关系;根据设备类型选择调用相应的驱动程序

    image

——对 LUT 逻辑设备表 Logical Unit Table 的补充(类比文件目录的单级目录和二级目录)

image

三、设备驱动程序

不同设备需要不同的设备驱动程序原因:

不同厂家出厂的各式各样的设备,外形不同,其内部的电子部件(I/O控制器)也可能不同,不同设备的内部硬件特性也不同。(这些特性,如状态寄存器中0和1的含义等,只有厂家自己知道,因此厂家须提供与设备相对应的驱动程序, CPU 执行驱动程序的指令序列,来完成设置设备寄存器,检查设备状态等工作)

——理解:这里类比虚拟文件系统但又不同

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

四、中断处理程序

image

理解:

执行中断处理还要读入 I/O 设备的一个字的原因是中断处理程序有很多种,这一个字的数据是 I/O 设备提供的参数和中断类型等数据(对应图中“中断信号类型”),CPU 通过这一个字的相关数据去查找中断向量表找到对应的中断处理程序。

posted @   Wind_730  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示