操作系统6_输入输出系统

news2025/1/18 8:53:24

操作系统6_输入输出系统

文章目录

  • 操作系统6_输入输出系统
    • 1. I/O功能、模型接口
    • 2. I/O设备及控制器
      • 2.1 I/O设备
      • 2.2 设备与控制器接口
      • 2.3 设备控制器
      • 2.4 通道
    • 3. 中断及处理
    • 4. 设备驱动程序
      • 4.1 驱动程序的功能和特点
      • 4.2 驱动程序的处理过程
      • 4.3 设备控制方式
        • 4.3.1 程序I/O方式
        • 4.3.2 中断驱动I/O控制方式
        • 4.3.3 DMA I/O控制方式
        • 4.3.4 I/O通道控制方式
    • 5. 设备无关I/O软件
    • 6. 用户层I/O软件
    • 7. 缓冲区管理
      • 7.1 缓冲的引入
      • 7.2 单缓冲和双缓冲
      • 7.3 循环缓冲
      • 7.4 缓冲池buffer pool
    • 8. 磁盘管理
      • 8.1 磁盘性能简述
      • 8.2 磁盘调度
    • 9. 本章重点

1. I/O功能、模型接口

  • I/O系统管理的主要对象:I/O设备、设备控制器

  • 主要任务

    • 完成用户提出的I/O请求
    • 提高I/O速率以及设备的利用率
    • 为高层的进程使用设备提供方便手段
  • I/O系统的基本功能

    • 隐藏设备的物理细节:收发数据的速度、传输方向、表示形式等
    • 与设备无关性
    • 提高处理机和I/O设备的利用率:I/O设备并行操作;CPU与设备并行操作;减少CPU干预设备操作的概率
    • 对I/O设备进行控制:轮询的可编程I/O方式;中断可编程I/O方式;直接存储器访问方式;1/O通道方式
    • 对I/O设备的共享:独占设备;共享设备
    • 错误处理
  • I/O系统的层次结构image-20240528200304886

    image-20240528200340986

  • I/O系统接口

    • 块设备接口
      • 如磁盘、光盘等
      • 数据存取以块为单位进行,传输速率较高,数MB-数十MB/每秒
      • 采用DMA方式,可寻址
    • 流设备(字符设备)
      • 如键盘、打印机等
      • 数据存取和传输以字符为单位,传输速率较低,几个字节-数干字节/每秒
      • 采用中断驱动方式,不可寻址,顺序存取,多数属独占型
    • 网络设备:数据传输以数据包为单位

2. I/O设备及控制器

image-20240529163625731

2.1 I/O设备

  • I/O设备是指执行I/O操作的机械部分
  • 分类
    • 按传输速率分类
      • 低速设备:(几十-几百)/秒,如键盘、鼠标等
      • 中速设备:(几千-几万)/秒,如打印机等
      • 高速设备:(几百千-几十兆)/秒,如磁盘机等
    • 按信息交换的单位分类
      • 块设备(DMA)
      • 字符设备(中断)
    • 按设备的共享属性分类
      • 独占设备
      • 共享设备
      • 虚拟设备
    • 按使用特性分类
      • 存储设备:外存储器
      • I/O设备:输入设备、输出设备
      • 交互式设备:显示器

2.2 设备与控制器接口

设备不直接与CPU通信,而是与设备控制器通信

image-20240529165738787

2.3 设备控制器

  • 本质

    • 执行控制I/O的电子部件,也称

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

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

相关文章

微信小程序-页面配置

一、页面配置文件的作用 小程序中,每个页面都有自己的.json配置文件,用来对当前页面的窗口外观、页面效果等进行配置 二、页面配置和全局配置的关系 小程序中,app.json中的window节点,可以全局配置小程序中每个页面的窗口表现 …

MySQL(十一) 用户管理

1.用户 1.1 用户信息 MySQL中的用户,都存储在系统数据库mysql的user表中 mysql> select host,user,authentication_string from user; --------------------------------------------------------------------- | host | user | authentication…

浏览器提示413 Request Entity Too Large

1 问题 2 解决 2.1 后端java配置 2.2 Nginx配置

7个卖出信号出现,昂首资本立即盈利收场

在上篇文章中,我们和各位投资者讨论了如果使用匕首交易策略进行交易,但是如果只买进不卖出,是不是还是盈利不了?Anzo Capital昂首资本认为只有低买高卖才能盈利赚钱,只要发现盈利信号就要立即卖出盈利收场!…

【解决】Tree prefab at index 8 is missing.

开发平台:Unity 2020 版本以上   问题描述 翻译:树预制体集合中第8位预制体丢失。   解决方法:修复丢失树资产 关联 Unity Terrier 组件使用,前往 树绘制工作区,检查 “树资产” 引用是否丢失?删除或重…

力扣257. 二叉树的所有路径

思路&#xff1a;题目需要记录从根节点开始走的路径&#xff0c;无疑选用前序遍历&#xff0c;用一个数组paths 记录走过的节点信息&#xff0c;遇到叶子节点就用另一个list记录下路径&#xff0c;回溯时删掉paths尾节点即可 class Solution {public List<String> binar…

使用el-tab,el-tab-pane循环使用循环后不显示下划线问题

在vue项目中使用element-UI el-tab里的el-tab-pane是循环出来的&#xff0c;但是循环出来后选中tab不显示下划线了 文章目录 问题问题展示效果问题代码问题原因 解决方案解决后效果解决方案1代码 解决方案2代码 问题 问题展示效果 问题代码 <el-tabs v-model"activeNa…

SQL—DQL之执行顺序(基础)

一、引言 1、编写顺序 2、执行顺序 介绍&#xff1a; DQL语句&#xff08;数据查询语句&#xff09; 1、首先先执行的是 FROM &#xff0c;通过 FROM 来决定我要查询的是哪一张表的数据。 2、紧接着通过 WHERE 来指定查询的条件。 3、第三步就是通过 GROUP BY 以及 HAVING 来…

Jvm(二)新生代和老年代与GC回收

目录 新生代和老年代 新生代 MinorGC 老年代&#xff08;Old Generation&#xff09; MajorGC Minor GC、Major GC 和 Full GC 三个GC具体区别和使用场景 JVM GC及内存调优的参数 调优建议 前言-与正文无关 ​ 生活远不止眼前的苦劳与奔波&#xff0c;它还充满了无…

php反序列化学习(2)

1、魔术方法触发规则&#xff1a; 魔术方法触发的前提是&#xff1a;魔法方法所在类&#xff08;或对象&#xff09;被调用 分析代码&#xff0c;_wakeup()的触发条件是进行反序列化&#xff0c;_tostrinng()触发的条件是把对象当成字符串调用&#xff0c;但是魔术方法触发的前…

运维系列.Linux下的用户管理

运维系列 Linux下的用户管理 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/ar…

python实现BMP图像位图法隐藏信息

内容安全实验信息隐藏技术 使用位图法修改BMP图像隐藏信息 我们先了解一下BMP图像的信息 bmp图像文件头和图像信息表 位图法隐藏和传递信息 &#xff08;1&#xff09;本机首先将要隐藏和传递的原始信息记录下来 abc 。 &#xff08;2&#xf…

【康耐视国产案例】AI视觉相机创新 加速商超物流数智化转型

连锁商超/零售店正面临着因消费者购物习惯改变等挑战&#xff0c;迎来了以新兴技术崛起而催生的数字化物流体系转型需求。物流行业与AI机器视觉的深度融合&#xff0c;解决了传统机器视觉识别速度慢、环境要求高、定制化部署耗时过多等痛点&#xff0c;大大提高了物流供应链的效…

ai虚拟主播自动切换的实现

前段时间,看到b站突然冒出很多ai主播,输入数字切换小姐姐.感觉挺有趣.思考了以下决定手动实现一下. 然后就陷入长达5天的踩坑中 由于是自建的webrtc服务器,很自然的想直接收流转发,这也是最优的方案, 然而实际上遇到许多不是很友好的bug, 然后再想使用rtp转发,依然不理想. 最后…

思科防火墙 网线连接的端口还是down 已配置 端口还是down

环境&#xff1a; 思科防火墙fpr-2100 isco Firepower 2100 系列防火墙是思科系统&#xff08;Cisco Systems&#xff09;推出的一款中端网络安全和防火墙设备。这一系列的产品主要针对中到大型企业的需求&#xff0c;提供高性能的威胁防护和网络流量管理功能。 问题描述&am…

基于百度智能体平台快速搭建Java学习助手

文章目录 前言什么是文新智能体平台&#xff1f;Java学习助手智能体搭建智能体效果智能体入口文新智能体体验感受 前言 一个Java初学者在学习Java时可能不知道从哪下手&#xff0c;一个工作了3年的Java开发遇到瓶颈期不知如何提升自己&#xff0c;此时&#xff0c;如果有一个老…

CMake的原理与使用方法

一.为什么需要CMake&#xff0c;什么是CMake 1.由于各种make工具遵循不同的规范和标准&#xff0c;所执行的Makefile格式也不同&#xff0c;例如 GNU Make &#xff0c;QT 的 qmake &#xff0c;微软的 MS nmake&#xff0c;BSD Make&#xff08;pmake&#xff09;&#xff0c;…

2024年上半年系统架构设计师——案例第四题——智能汽车相关

写在前面 趁着还记得请&#xff0c;留个纪念。MongoDB的概念完全没记&#xff0c;综合下来只好选这个了。 这题基本上是有自动驾驶背景知识的人的福音&#xff0c;也是第一次考的和现代热点前沿技术相关的内容&#xff0c;而不是考些老嵌入式架构的&#xff08;上一次看到的还…

单片机串口接收负数的处理方法

dp80中有很多外设处理相关的都是有符号数据。 如dpm计算的结果&#xff0c;插入dpm后有时候会得到0xFFFFFFFE-2&#xff08;从调试界面也可以看到&#xff09;。

如何在Windows 10上更改默认系统字体,这里有详细步骤

Windows 10的默认系统字体Segoe UI看起来相当不错。但是,如果你有更好的替代品,你可以更改Windows 10 PC上的默认系统字体。我们将向你展示如何执行此操作。 如何使用注册表编辑器更改默认系统字体 在撰写本文时,“设置”和“控制面板”都没有更改默认系统字体的选项。这意…