【学习笔记】第五章——I/O(设备分类、控制方式、软件层次结构、假脱机、缓冲)

文章目录

  • 一. 设备分类与控制方式
      • 1)设备分类
      • 2)控制方式
          • 1. 程序直接控制方式
          • 2. 中断驱动方式
          • 3. DMA 方式
          • 4. 通道控制方式
          • 总结
  • 二. 软件层次结构与假脱机
      • 1)软件层次结构
      • 2)脱机 - 假脱机
  • 三. 缓冲(重点)
      • 1)缓冲简介
      • 2)单缓冲、双缓冲
      • 3)循环缓冲、缓冲池

很感动,终于结束了拖延了这么久的操作系统网课= =

一. 设备分类与控制方式

1)设备分类

  • 举例:鼠标、键盘、显示器、移动硬盘等
    在这里插入图片描述

2)控制方式

1. 程序直接控制方式
  • 轮询,CPU 干预频率频繁。
  • 实现简单,但是 CPU 利用率低
    在这里插入图片描述
2. 中断驱动方式
  • 每次 I/O 操作开始之前、完成之后需要 CPU 介入
  • CPU 利用率得到提升,但频繁的中断处理会消耗较多的 CPU 资源
    在这里插入图片描述
3. DMA 方式
  • 不再需要经过 CPU
  • 传输以为单位,CPU 和 I/O 的并行性得到提升。
  • 缺点:需要连续,不能处理离散(需要多次中断)
    在这里插入图片描述
4. 通道控制方式
  • 引入通道:一种硬件,可以识别并执行一系列通道指令
  • 实现复杂,需要专门的通道硬件
  • 但是资源利用率很高
    在这里插入图片描述
总结
  • CPU 干预频率逐步下降
  • 每次 I/O 的数据传输单位逐步变大
    在这里插入图片描述

二. 软件层次结构与假脱机

1)软件层次结构

  • 用户层软件:提供库函数
  • 设备独立性软件、设备驱动程序、中断处理程序 =》 I/O 核心层
  • I/O 请求自顶向下,得到的 I/O 应答自底向上
  • 设备独立性软件:向上提供系统调用接口
    在这里插入图片描述

2)脱机 - 假脱机

  • 脱机:缓解设备与 CPU 的速度矛盾(预输入、缓输出
  • 假脱机:用软件模拟脱机(SPOLLing 技术)。
  • 共享打印机:通过假脱机技术,把独占的打印机虚拟成共享的打印机(用户感觉)
    在这里插入图片描述

三. 缓冲(重点)

1)缓冲简介

  • 可以用专门的硬件寄存器,但一般用内存作为缓冲区。
    在这里插入图片描述
  • 作用
    1. 缓和 CPU - I/O 之间速度不匹配的问题
    2. 减少 CPU 的中断频率
    3. 提高 CPU - I/O设备 的并行性,解决数据粒度不匹配的问题。
      在这里插入图片描述

2)单缓冲、双缓冲

  • 单缓冲一个缓冲区,非空时不能入,非满时不能出
    在这里插入图片描述
  • 双缓冲两个缓冲区
    在这里插入图片描述
  • 双缓冲才能实现双向传输(如管道通信)
    在这里插入图片描述

3)循环缓冲、缓冲池

  • 循环缓冲区:构成一个下图的循环队列
    在这里插入图片描述
  • 缓冲池:只能说池化设计就是 yyds。队列 + 共用的缓冲区
  • 四种缓冲区:收容输入、提取输入;收容输出、提取输出
    在这里插入图片描述

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

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

相关文章

3d打印光固化好还是热固化好_UV专利一览(71) —天啦噜!3D打印上太空!

《光固化技术专利一览》为大家集合更新光固化行业技术专利申请情况一览表,实时关注行业动态,了解最新技术发展,敬请关注哟~ 下面就是第七十一期的内容,请收下用于光固化3D打印的树脂槽及三维打印装置公开(公告)号:公开…

yii2 调用未定义函数_Python 函数(三) 使用规则

​一、调用函数使用规则python函数的应用一般需要:先定义、后调用 ,否则将报错提示【name * is not defined】未定义名称。但进行函数定义时调用函数不受此限制。错误示例:先调用,后定义,提示【未定义名称】。函数定义…

电脑配置清单_2020年4月最新高性价比电脑配置清单放送,装机不迷路

2019年10月,世界军运会在武汉成功举行,让全世界不少人知道中国有武汉这座美丽的城市。但紧紧过去不到2个月,全世界的人都知道武汉这座城市。因为武汉出现了疫情,一场新的“战争”出现了。随后,武汉直接“封城”了。一直…

【LeetCode笔记】958. 二叉树的完全性检验(Java、二叉树、BFS)

文章目录题目描述思路 && 代码层级遍历法BFS二刷题目描述 考察对完全二叉树性质的理解 思路 && 代码 层级遍历法 一开始试了自底向上的DFS,过了90%的用例,还是考虑得不够全 层级遍历:代码比较多,但是总体效…

【学习笔记】结合代码理解设计模式 —— 代理模式(静态代理、动态代理、延伸)

文章目录什么是代理模式一. 代理模式简介二. 静态代理模式三. 动态代理模式万能模版前言:笔记基于狂神设计模式视频、《大话设计模式》观后而写 (最近一直在更新之前的刷题博客,今天久违地更新一篇新博客啦~) 什么是代…

js 正则 长度不超过50_如何花不超过50元人民币,拍抖音网红海马体照片?

前段时间,抖音上的海马体-网红照一夜间爆发!火了!海马体照相馆又一次被推上了时尚潮流的打卡风口,深受年轻群体的青睐。其中当然也包括我~这个风我还是特别想要跟一波的。但是想必大家都知道,海马体照相馆生意一直火爆…

多核处理器_英特尔十代酷睿i5-10400大战R5 3600,到底谁是千元处理器一霸?

Hello大家好,我是兼容机之家的小牛。要说英特尔十代酷睿中最走量的处理器,莫过于i5 10400这颗千元神U了。最近我们兼容机之家推出了几款搭载i5 10400等十代酷睿CPU的主机,性价比非常不错,小伙伴可以翻看一下我们往期的文章。今天就…

项目日报模板_第一届全国技能大赛现场直击:混凝土建筑项目全场最“高”

大洋网讯 混凝土建筑项目的比赛场馆位于室外,高达12米,让这个项目成为全场最“高”项目。“在现代化大型工地,都是用泵车浇灌混凝土,我们这里比赛也模拟了这一个工地的现实场景,让选手使用泵车浇灌混凝土。泵车的手臂要…

【LeetCode笔记】51. N 皇后(DFS、经典题)

文章目录题目描述思路 && 代码题目描述 经典题了…但是大一敲过后就再没碰过了。结果面试还是会问 ,今天补一下~ 思路 && 代码 还是挺清晰的,要点如下: 使用 DFS,找到一个了再继续找对每一行&…

表格c1等于a1加b1_中国最牛驾照,C1、B1、B2、A1、A2随便开,被称为万能的驾照!...

导读:中国最牛驾照,C1、B1、B2、A1、A2随便开,被称为万能的驾照!现在社会上的汽车越来越多了,而车主们,想要行车上路,除了要有车,还要有一样必须的东西,那就是驾照。驾照…

【LeetCode笔记】117.填充每个节点的下一个右侧节点指针 II(二叉树、DFS)

文章目录题目描述思路 && 代码题目描述 很烦…面试被这题干碎了,赶紧给查漏补缺一波! 思路 && 代码 主要思路:先右,再左(因为左边依赖右边!)getNext():当前节点…

r720支持多少频率的内存吗_电脑基础知识:内存条知识大全,看完小学生都了解...

一、基础知识如果你不了解内存条,如果你只知道内存容量越大越好,如果你想更加了解内存条,不妨来看看这里,今天给大家分享那些最简单也是最容易理解的内存条知识。1、定义、作用内存条又叫随机存取存储器,是一种存储技术…

关键词堆砌生成器_网络推广软件的使用和24种关键词挖掘方法

第398-399期网络推广学习,主讲课程:推广软件的使用和24种关键词的挖掘方法。具体内容如下:一、商务卫士(宣传易)主要的功能:1.商情推广2,产品添加(20个以上)3.百宝箱>…

【LeetCode笔记】299. 猜数字游戏 (Java、偏数学)

文章目录题目描述思路 && 代码题目描述 顶级阅读题!今天的每日一题,感觉评论区大佬的写法挺值得记录的,就又水了一篇答题文~ 思路 && 代码 O(n)、O(1)核心代码:Case 2 的两个 if 处理,…

currenthashmap如何实现线程安全_什么是多线程?如何实现多线程?

什么是进程?电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的。比如下图中的QQ、酷狗播放器、电脑管家等等。什么是线程?进程想要执行任务就需要依赖线程。换句话说,就是进程中的…

【LeetCode笔记 - 每日一题】375. 猜数字游戏 II (Java、DFS、动态规划)

文章目录题目描述思路 && 代码DFS动态规划新系列~用于区分开高频题和每日一题~ 题目描述 一眼二分,但是实际上并不是这题让我想到社团的猜数字游戏…但是给钱是真过分了 思路 && 代码 DFS 自底向上进行递归。Math.max(…

【LeetCode笔记 - 每日一题】318. 最大单词长度乘积(Java、位运算)

文章目录题目描述思路 && 代码题目描述 挺不错!有bitmap的感觉了。 思路 && 代码 思路好想:两两对比,无公共判断,维护 res那么,如何进行公共判断?这个是主要的问题给每个字符串&#x…

技术交底软件_【干货分享】软件类产品如何进行专利挖掘与技术交底书撰写?...

“导读:在很多人的认知里,软件著作权是软件著作权,专利是专利,两者并没有太多关联。甚至有的人认为,软件产品只能申请软件著作权保护,不能申请专利保护。但是,当有人抄袭你的软件设计理念&#…

【LeetCode笔记 - 每日一题】384. 打乱数组(Java、洗牌算法)

文章目录题目描述思路 && 代码题目描述 中等题,很赞!第一次碰到涉及洗牌算法的题有点涉及概率,主要是要实现公平的随机 思路 && 代码 采用了 Knuth 洗牌算法,可以看看这篇博客时间复杂度O(N),空间…

【LeetCode笔记 - 每日一题】423. 从英文中重建数字(Java、字符串、偏思路)

文章目录题目描述思路 && 代码题目描述 看了题目以后想到啥? 字符数量统计银行家算法逐个拆解建立数字 - 字符串的全局映射 思路 && 代码 抄答案了,采取了评论区三叶dalao的写法(不得不说,人家的处理写法是真…