【操作系统学习笔记】文件管理1.4
参考书籍: 王道考研
视频地址: Bilibili
I/O 软件层次结构
I/O 请求: 用户 -> 用户层软件 -> 设备独立性软件 -> 设备驱动程序 -> 中断处理程序 -> 硬件
I/O 应答: 硬件 -> 中断处理程序 -> 设备驱动程序 -> 设备独立性软件 -> 用户层软件 -> 用户
其中的设备独立性软件+设备驱动程序+中断处理程序属于操作系统内核部分,或称 I/O 核心子系统
- 用户层: 实现了与用户交互的接口,用户可直接食用该层提供的、与 I/O 操作相关的库函数对设备进行操作。向上提供库函数,用户层软件将用户请求翻译成格式化的 I/O 请求,并通过设备独立性软件提供的系统调用请求操作系统内核的服务
- 设备独立性软件: 又称设备无关性软件。与设备的硬件特性无关的功能几乎都在这一层实现
- 向上层提供统一的调用接口(系统调用)
- 设备的保护
- 差错处理
- 设备的分配与回收
- 数据缓冲区管理
- 建立逻辑设备名到物理设备名的映射关系;根据设备类型选择调用相应的驱动程序。创建逻辑设备映射表 LUT,第一种方式整个系统只设置一个 LUT;第二种方式为每个用户设置一个 LUT
- 设备驱动程序: 主要负责对硬件设备的具体控制,将上层发出的一系列命令转化成特定设备能听得懂的一系列操作。包括设置设备寄存器;检查设备状态等。驱动程序会以一个独立进程的方式存在
- 中断处理程序: 当 I/O 任务完成时,I/O 控制器会发送一个中断信号,系统会根据中断信号类型找到相应的中断处理程序并执行
- 硬件