【软考】I/O系统的层次结构

1. 说明
  • 1.设备管理软件的设计水平决定设备管理的效率。
  • 2.设计I/O软件的主要目标是设备独立性和统一命名。
  • 3.I/O软件独立于设备,可以提高设备管理软件的设计效率。
  • 4.I/O设备管理软件一般分为4层:中断处理程序设备驱动程序与设备无关的系统软件用户级软件
2. 图示

在这里插入图片描述

3. 用户进程
  • 1.用户进程是执行用户程序的进程。
  • 2.当用户进程需要访问外部设备时,它会调用系统提供的API(应用程序接口)或系统调用。
  • 3.用户进程不直接与硬件交互,而是通过操作系统内核的服务来完成这些操作。
4.设备无关软件
  • 1.设备独立层
  • 2.设备无关软件提供了用户进程设备驱动程序之间的统一接口。
  • 3.它隐藏了设备驱动的复杂性,使得用户进程可以使用统一的接口来访问不同类型的设备。
  • 4.设备无关软件还负责设备命令的解释、设备保护、设备分配与释放等任务。
  • 5.在某些上下文中,这一层也被称为设备虚拟层设备抽象层
5.设备驱动程序
  • 1.设备驱动程序是设备硬件与操作系统内核之间的接口。
  • 2.它负责控制和管理硬件设备,包括读取设备的状态、向设备发送命令、接收设备的中断等。
  • 3.设备驱动程序知道如何与特定类型的设备硬件进行通信,并提供了与设备无关软件交互的接口。
  • 4.设备驱动程序通常作为内核模块的一部分运行,并且针对每种设备类型都有特定的驱动程序。
6.中断处理程序
  • 1.中断处理程序是操作系统内核中的一段代码,用于响应硬件中断
  • 2.当设备完成一个操作或发生错误时,它会向CPU发送一个中断信号。
  • 3.CPU在接收到中断信号后,会保存当前进程的状态(包括CPU寄存器和内存中的信息),并跳转到中断处理程序。
  • 4.中断处理程序会执行必要的操作,例如读取设备的数据、更新进程的状态等,并在处理完成后恢复被中断进程的执行。
7.交互过程
  • 1.用户进程通过系统调用API请求访问设备。
  • 2.设备无关软件接收这些请求,并根据请求的类型和设备类型,将其转发给相应的设备驱动程序。
  • 3.设备驱动程序控制和管理硬件设备,执行用户进程请求的操作,并在需要时发送中断信号给CPU。
  • 4.CPU在接收到中断信号后,会暂停当前进程的执行,并跳转到相应的中断处理程序
  • 5.中断处理程序处理中断,执行必要的操作,并在完成后恢复被中断进程的执行。

相关推荐

  1. ---系统结构设计师】IPv6

    2024-05-12 21:52:02       45 阅读
  2. 存储器层次结构

    2024-05-12 21:52:02       30 阅读
  3. 】scrum步骤

    2024-05-12 21:52:02       29 阅读
  4. 笔记--层次式架构之表现层框架设计

    2024-05-12 21:52:02       47 阅读
  5. 笔记--层次式架构之中间层架构设计

    2024-05-12 21:52:02       42 阅读
  6. 笔记--层次式架构之数据访问层设计

    2024-05-12 21:52:02       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-12 21:52:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-12 21:52:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-12 21:52:02       82 阅读
  4. Python语言-面向对象

    2024-05-12 21:52:02       91 阅读

热门阅读

  1. 给数据库贴标签

    2024-05-12 21:52:02       29 阅读
  2. docker————容器的管理

    2024-05-12 21:52:02       31 阅读
  3. Spring AOP和IOC

    2024-05-12 21:52:02       23 阅读
  4. 5月8日爬楼梯+使用最小花费爬楼梯

    2024-05-12 21:52:02       32 阅读
  5. 从零学算法6

    2024-05-12 21:52:02       32 阅读
  6. 去除夸克-百度云右键菜单上传

    2024-05-12 21:52:02       32 阅读
  7. 八股Day2 多线程

    2024-05-12 21:52:02       34 阅读
  8. python中多态的概念及简单样例

    2024-05-12 21:52:02       28 阅读
  9. sql中的exists和in的区别

    2024-05-12 21:52:02       31 阅读
  10. PyCharm常用快捷键和设置

    2024-05-12 21:52:02       32 阅读