操作系统第五章——输入输出管理(上)

news2024/11/29 10:31:45

提示:初入红尘,不知人间疾苦,蓦然回首,已是苦中之人,这杯中酒三分,这酒中悲七分。关关难过关关过,夜夜难熬夜夜熬,愿这人世间所有爱恨情仇皆溶于酒,且将这红尘做酒,一饮消愁

文章目录

  • 5.1.1 IO设备的概念和分类
    • 知识总览
    • 什么是IO设备
    • 设备的分类——按使用特性
    • 设备的分类——按传输速率分类
    • 按信息交换的单位分类
    • 知识回顾
  • 5.1.2 IO控制器
    • 知识总览
    • IO设备的机械部件
    • IO设备的电子部件
    • IO控制器的组成
    • 映像IO VS 独立编址
    • 知识总结
  • 5.1.3 IO控制方式
    • 知识总览
    • 程序直接控制方式
    • 中断驱动方式
    • DMA方式
    • DMA控制器
    • 通道控制方式
    • 知识点回顾
  • 5.1.4 IO软件层次结构
    • 知识总览
    • 用户层软件
    • 设备独立性软件
    • 中断处理程序
    • 知识点回顾
  • 5.1.5输入输出应用程序接口u0026驱动程序接口
  • 知识总览![请添加图片描述](https://img-blog.csdnimg.cn/fb526345c5d94515a784fef18df93d05.png)
    • 输入输出应用程序接口
    • 阻塞/非阻塞IO
    • 设备驱动程序接口


5.1.1 IO设备的概念和分类

知识总览

请添加图片描述

什么是IO设备

请添加图片描述

设备的分类——按使用特性

请添加图片描述

设备的分类——按传输速率分类

请添加图片描述

按信息交换的单位分类

请添加图片描述

知识回顾

请添加图片描述

5.1.2 IO控制器

知识总览

请添加图片描述

IO设备的机械部件

请添加图片描述

IO设备的电子部件

请添加图片描述

IO控制器的组成

请添加图片描述
值得注意的小细节:①一个I/o控制器可能会对应多个设备;
②数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/状态寄存器对应一个具体的设备),且这些寄存器都要有相应的地址,才能方便CPU操作。有的计算机会让这些寄存器占用内存地址的一部分,称为内存映像I/o;另一些计算机则采用i/o专用地址,即寄存器独立编址。

映像IO VS 独立编址

请添加图片描述

知识总结

请添加图片描述

5.1.3 IO控制方式

知识总览

请添加图片描述

程序直接控制方式

请添加图片描述
请添加图片描述

中断驱动方式

请添加图片描述
请添加图片描述

DMA方式

请添加图片描述
请添加图片描述

DMA控制器

请添加图片描述

通道控制方式

请添加图片描述
请添加图片描述

知识点回顾

请添加图片描述

5.1.4 IO软件层次结构

知识总览

请添加图片描述

用户层软件

请添加图片描述

设备独立性软件

主要实现的功能:
1.向上层提供统一的调用接口(如读写系统调用)
2.设备的保护:原理类似与文件保护。设备被看做是一种特殊的文件,不同用户对各个文件的访问权限是不一样的,同理,对设备的访问权限也不一样。
3.差错处理:设备独立性软件需要对一些设备的错误进行处理
4 设备的分配与回收:就像之前学过的生产者消费者进程一样
5 数据缓冲区管理:可以通过缓冲技术屏蔽设备之间数据交换单位大小和传输速度的差异
6 :如下
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

中断处理程序

请添加图片描述

知识点回顾

请添加图片描述
请添加图片描述

5.1.5输入输出应用程序接口u0026驱动程序接口

知识总览请添加图片描述

请添加图片描述

输入输出应用程序接口

请添加图片描述

阻塞/非阻塞IO

请添加图片描述

设备驱动程序接口

请添加图片描述
请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MP4如何让去水印?python带你实现~

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 开发环境: 解释器版本: python 3.8 代码编辑器: pycharm 2021.2 模块使用: 内置模块(无需安装) os —> python系统编程的操作模块,提供了非常丰富的功能去处理文件和目录 sys —> 是与…

我是00后,我卷一点怎么了?

前段时间去面试了一个公司,成功拿到了offer,薪资也从12k涨到了18k,对于工作都还没两年的我来说,还是比较满意的,毕竟一些工作3、4年的可能还没我高。 我可能就是大家说的卷王,感觉自己年轻,所以…

手动创建django项目和python虚拟环境

在使用pycharm创建django项目的时候,报错如下: C:\Users\12051\AppData\Local\Temp\tmplkz609ucpycharm-management\setuptools-40.8.0\setup.py install Traceback (most recent call last):File "C:\Users\12051\AppData\Local\Temp\tmpqphl…

合并两个有序链表(java)

leetcode 21题:合并两个有序链表 题目描述解题思路:链表的其它题型。 题目描述 leetcode21题:合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入&…

IO多路转接

目录 一、select 1.1 select初识 1.2 select函数 1.3 scoket就绪条件 1.4 select基本工作流程 1.5 select服务器 1.6 select的优点 1.7 select的缺点 1.8 select的适用场景 二、poll 2.1 poll函数 2.2 poll服务器 2.3 poll的优点 && 缺点 三、epoll 3.1…

设备快线客户端软件V1.0用户手册

1.前言欢迎使用设备快线客户端软件产品。设备快线客户端软件简称DYClient,DYClient客户端是东用科技有限公司推出的一款用于远程维护的控制软件,主要为客户远程访问现场终端设备提供便捷的接入服务,并且通过DYClient客户端软件用户可以非常方便快捷的访问…

ChatGPT和软件测试实践与思考

前言 关于最近大火的ChatGPT相信各位也听过不同渠道听说过他的厉害,目前发展趋势比较火热,科技公司都有在考虑怎么使用ChatGPT进行提高研发效率以及办公效率,最近我所在的公司也有在要求大家使用ChatGPT进行改善工作效率,所以引发…

支持导入 Eolink 插件,别小看这个开源 API 管理工具了

Postcat 有多达 30 款支持数据迁移、主题、API 安全等方面的插件。 导入 Eolink 插件。 使用 导入功能有多个入口,你可以在 API 分组处点击加号导入 API: 也可以换种方式,在首页里导入Eolink 如果你日常会用到 api 管理工具的话&#xff0c…

【九章斩题录】C/C++:二维数组中的查找(JZ4)

精品题解 👉 《九章刷题录》 📜 目录: 「 法一 」暴力美学 「 法二 」十字分割法 「 法三 」逐行二分 JZ4 - 二维数组中的查找 📚 题目描述:在一个二维数组 array 中(每个一维数组的长度相同&#xff…

[时间同步] vscode chatGPT提供的程序打包封装成api解决方案怎么样

背景 在完成gnss时间同步程序大部分需求串口配置、串口数据中找出推荐定位信息RMC解析UTC时间以及UTC时间更新系统时间等功能后,有个需求比较特别,需要客户来操作。当车辆在地库场景待时间过久后重新回到地面,一直在自走的系统时间与又定位好…

Three.js--》探索Three.js:学习和就业的完整指南

目录 three.js的学习建议 WebGL前端工程师工作待遇相关问题 本篇文章主要给大家介绍一下如何学习Web3D可视化,具体说就是怎么学习WebGL、Three.js、3D建模等。 three.js的学习建议 在过去互联网是人联网的时代,开发人和人之间的联系的Web应用&#x…

MoveIt2中使用trac_ik

文章目录 1.下载trac_ik的源码2.安装 NLopt library3.编译源码4.使用 在ros1moveit1中,使用trac_ik是很简单的一件事情:【TRAC-IK Kinematics Solver】 但是在Ros2中,无论MoveIt2也好,还是trac_ik也好,都没有提供标准的…

如何编写快速高效的SQL查询(三)——高性能索引策略与样例

是时候开始讨论使用索引了!正确地创建和使用索引是实现高性能查询的基础,现在我们一起来看看如何真正地发挥这些索引的优势。 高效地选择和使用索引有很多种方式,其中有些是针对特殊案例的优化方法,有些则是针对特定行为的优化。…

Redis7实战加面试题-高阶篇(Redis线程与IO多路复用,BigKey,缓存双写)

Redis线程 面试题:Redis为什么选择单线程? 这种问法其实并不严谨,为啥这么说呢?Redis的版本很多3.x、4.x、6.x,版本不同架构也是不同的,不限定版本问是否单线程也不太严谨。 1 版本3.x ,最早版本,也就是…

高压放大器在3D打印中的应用

随着3D打印技术的快速发展,高压放大器在3D打印中的应用越来越受到人们的关注。高压放大器在3D打印中扮演着非常重要的角色,可以提高3D打印的效率和精度,从而实现更高的打印质量。本文将详细介绍高压放大器在3D打印中的应用及其原理。 高压放…

SAP 从入门到放弃系列之安全库存

概念 安全库存的主要目的是以一定数量的库存或时间的作为缓冲区间,以应对供需之间波动的影响。SAP ERP 系统提供两种类型的安全库存:静态安全库存和动态安全库存(即安全天数供应)。 静态安全库…

《程序员面试金典(第6版)》面试题 02.08. 环路检测(哈希法,双指针,检测链表是否有环)

题目描述 给定一个链表,如果它是有环链表,实现一个算法返回环路的开头节点。若环不存在,请返回 null。 题目传送门:面试题 02.08. 环路检测 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链…

操作系统第一章练习题

目录 问答题 选择题 填空题 判断题 问答题 1、设计现代OS的主要目标是什么? 答:设计现代OS的主要目标是:方便性、有效性、可扩充性、开放性 2、OS的作用可表现在哪几个方面? 答:(1)从一…

每个软件测试人员必须具备的12大技能

作者 | Kiran Beladiya 赛希翻译组 译 作为一名软件测试员,掌握一些技术技能是非常必要的,这可以使应用程序变得更好。让我们来看看对任何软件测试员来说必不可少的技能。 没有人能成为这样的软件测试员。要获得这个职业,每个测试人员都必…

公文写作技巧:作风建设类排比句40例

1.面对突发任务时,是主动请缨还是被动服从;遇到棘手问题时,是迎难而上还是推诿回避;在荣誉面前,是正确对待还是邀功请赏;汇报工作时,是真实客观还是弄虚作假。 2.不是敷衍了事图轻松&#xff0…