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

目录

          • 1. 说明
          • 2. 图示
          • 3. 用户进程
          • 4.设备无关软件
          • 5.设备驱动程序
          • 6.中断处理程序
          • 7.交互过程

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.中断处理程序处理中断,执行必要的操作,并在完成后恢复被中断进程的执行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/669823.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows系统双网卡其中一个网卡访问速度很慢解决办法

电脑双网卡,一个是公司的内网,另一个是外网,而且还是外接的USB网卡,这种情况下,不管USB网卡做内网还是外网,它都很慢。 浏览器打开网页,每个网页都要加载1分钟,十分烦,但…

如何省下5000培训费学会月薪8000的嵌入式Linux?

嵌入式底层开发无疑是一项极为关键的技术,它在众多嵌入式系统中都有着广泛而重要的应用。在当今科技飞速发展的时代,嵌入式系统已经深入到我们生活的每一个角落,成为了我们日常生活中不可或缺的一部分,这也更加凸显了嵌入式开发的…

真希望我父母读过这本书的笔记(二)

系列文章目录 真希望我父母读过这本书的笔记(一) 真希望我父母读过这本书的笔记(二) 文章目录 系列文章目录PART 5 培养心理健康的孩子亲子关系决定心理健康互动及来回交流如何开始交流互看游戏交流恐惧症 若遇棘手之际&#xff0…

一般显卡3d建模渲染够用吗?3d云渲染助力

3D建模和渲染对计算机硬件有较高要求,特别是显卡。显卡的性能直接影响渲染速度,低端和高端显卡在渲染效率上存在显著差异。对于追求快速渲染的用户,高端显卡是首选。那么,4050显卡是否能够满足3D建模渲染的需求呢?下面我们来探讨…

【c2】编译预处理,gdb,makefile,文件,多线程,动静态库

文章目录 1.编译预处理:C源程序 - 编译预处理【#开头指令和特殊符号进行处理,删除程序中注释和多余空白行】- 编译2.gdb调试:多进/线程中无法用3.makefile文件:make是一个解释makefile中指令的命令工具4.文件:fprint/f…

常见通信协议

1、串口:(串行异步全双工,先发低位) 因为是异步的,所以没有时钟线,因为是全双工,所以有两条数据传输线,实现数据的收发。 帧格式 起始位1位,数据位8位,校验…

SparkSql介绍

概述 SparkSQL,顾名思义,就是Spark生态体系中的构建在SparkCore基础之上的一个基于SQL的计算模块。SparkSQL的前身不叫SparkSQL,而叫Shark,最开始的时候底层代码优化,sql的解析、执行引擎等等完全基于Hive&#xff0c…

vue3—项目创建

背景 初次学习vue3,需要从项目创建开始。 步骤 打开cmd命令行,进入项目存放目录下,执行创建命令: npm create vuelatest 这一指令将会安装并执行 create-vue,它是 Vue 官方的项目脚手架工具。你将会看到一些诸如 …

Unity | Shader基础知识(第十三集:编写内置着色器阶段总结和表面着色器的补充介绍)

目录 前言 一、表面着色器的补充介绍 二、案例viewDir详解 1.viewDir是什么 2.viewDir的作用 3.使用viewDir写shader 前言 注意观察的小伙伴会发现,这组教程前半部分我们在编写着色器的时候,用的是顶点着色器和片元着色器的组合。 SubShader{CGPRO…

springboot模块以及非springboot模块构成的多模块maven项目最佳构建方式

文章目录 背景一般的实现使用spring-boot-dependencies 更优雅的实现. 背景 有时候构建一个多模块maven项目其中某一个模块是web-service需要使用spring boot,其他模块跟spring boot 完全无关,本文总结一下在这个场景下maven项目最佳构建方式. 一般的实现 网上应该也看到过很…

Unity数据持久化之XML

目录 数据持久化XML概述XML文件格式XML基本语法XML属性 C#读取存储XMLXML文件存放位置C#读取XML文件C#存储XML文件 实践小项目必备知识点XML序列化(不支持字典)XML反序列化IXmlSerializable接口让Dictionary支持序列化反序列化 数据持久化XML概述 什么是…

一次完整的 http 请求是怎样的?

一次完整的 http 请求是怎样的? 💖The Begin💖点点关注,收藏不迷路💖 域名解析 --> 发起 TCP 的 3 次握手 --> 建立 TCP 连接后发起 http 请求 --> 服务器响应 http 请求,浏览器得到 html 代码 --…