I/O存取方式的形象比喻
I/O存取有三种方式:可编程I/O、中断驱动I/O、DMA,分别可理解如下:
下面以老师向班里同学收发作业来类比I/O存取,办公室表示内存,即,I操作表示:老师向学生收作业,然后存放到办公室里;O操作表示:老师从办公室拿出作业本,然后发给对应的人。
1、可编程I/O:最简单的一种。老师需要收取某个人或某些人的作业时,就会不断询问这个人或这些人准备好“交作业”了没?如果准备好,则收起来,然后存放到办公室中;老师需要发放某个人或某些人作业时,就从办公室取出对应的作业本,然后不断询问这个人或这些人准备好“接受作业本”了没?若准备好,则发作业本给他。
2、中断驱动I/O:不用询问需要收取或发放的这个人或这些人的准备状态。老师需要收取某个人或某些人的作业时,就会发出收作业的通知,然后就可以去做自己的其他事情,等到对应的人做好了作业,准备好上交的时候,这个人就向老师发出中断信号,老师响应他然后将作业收起来,然后存放到办公室中;老师需要发放某个人或某些人作业时,就会发出发放作业的通知,然后就可以去做自己的其他事情,等到对应的人准备好接受作业本的时候,这个人就向老师发出中断信号,老师响应他然后从办公室取出对应的作业本,作业发给他。
3、DMA方式:老师干脆设置了一个代理班长(班长对应DMA控制器),减轻了老师的负担,不用自己亲自去发放或收取作业本,直接授权给班长去办理。具体如下:当老师需要收取某个人或某些人的作业时,就会告诉班长要收取谁的作业、收取多少本等等信息,然后班长就会去完成收取作业这个动作(收取对应的人的作业本,然后存放到办公室),完成后班长就会向老师汇报完成情况;老师需要发放某个人或某些人作业时,就会告诉班长要方法谁的作业、发放多少本等等信息,然后班长就会去完成发放作业这个动作(从办公室取出对应的作业本,发放到取对应的人),完成后班长就会向老师汇报完成情况。
DMA方式在班长做发放或收取作业这个动作的时候,老师是不能够访问办公室里的作业本的,否则班长将可能弄混作业本或者找不到作业本。也就是说班长存取作业本的优先级要高于老师存取作业本,以避免数据丢失。所以老师如果现在改作业本的话,将会被挂起,改作业的这个的速度也会慢一点。
I/O存取方式的形象比喻的更多相关文章
- Winform消息与并行的形象比喻
有一次我给同事讲述跨线程调用时使用了高速行驶的并行列车来比喻,感觉比较形象. 线程列车 多线程就像多个并行的列车,每个线程在各自的轨道上不断向前行驶.主界面所在的线程称为UI线程,也叫主线程,主线程依 ...
- 大数据技术生态圈形象比喻(Hadoop、Hive、Spark 关系)
[摘要] 知乎上一篇很不错的科普文章,介绍大数据技术生态圈(Hadoop.Hive.Spark )的关系. 链接地址:https://www.zhihu.com/question/27974418 [ ...
- ajax获取数据的形象比喻,助于理解记忆
过程 创建对象(打开浏览器) 连接服务器(输入网址) 发送请求(按下回车) 服务器接收并返回数据(显示对应的网址网站内容) 原理
- 加密解密(5)SSL形象比喻
转自: http://blog.csdn.net/cloverphp/article/details/11737433 前言: 关于公钥,私钥请看前几篇文章 SSL 协议既用到了公钥加密技术(握手 ...
- NIO与传统IO的区别(形象比喻)[转]
传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大.使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数 ...
- BIO、NIO、AIO的形象比喻
BIO (Blocking I/O):同步阻塞I/O模式. NIO (New I/O):同步非阻塞模式. AIO (Asynchronous I/O):异步非阻塞I/O模型. 先看阻塞和非阻塞的区别, ...
- 前端学HTTP之实体和编码
前面的话 每天都有各种媒体对象经由HTTP传送,如图像.文本.影片以及软件程序等.HTTP要确保它的报文被正确传送,识别.提取以及适当处理.为了实现这些目标,HTTP使用了完善的标签来描述承载内容的实 ...
- PayPal高级工程总监:读完这100篇论文 就能成大数据高手(附论文下载)
100 open source Big Data architecture papers for data professionals. 读完这100篇论文 就能成大数据高手 作者 白宁超 2016年 ...
- 【iOS 单例设计模式】底层解析与运用
[iOS 单例设计模式]底层解析与运用 一.单例设计名词解释: (官方解释)单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例.(形象比喻)程序 — 公司 单例实例 - 管理 ...
随机推荐
- poj2184 01背包变形,价值为可为负数
题目链接:http://poj.org/problem?id=2184 题意:每行给出si和fi,代表牛的两个属性,然后要求选出几头牛,满足S与F都不能为负数的条件下,使S与F的和最大. tips:动 ...
- css3 -- 过渡与动画
1.注意使用前缀 2.属性: transition-property:none/all/属性 3.持续时间: transition-duration:默认值是0,即使是负值,按照0进行处理 4.tra ...
- spring mvc 返回json
服务器端返回的是文本,客户端得到文本后将文本转换成json就可以了,服务器端将对象转换成json 的文本形式,并且需要设定文本的类型为text/plain,charset=UTF-8 所以在 appl ...
- HTML5中lineCap端点样式遇到closePath()
定义和用法 lineCap 属性设置或返回线条末端线帽的样式. 注释:"round" 和 "square" 会使线条略微变长. 默认值: butt JavaSc ...
- ural 2067. Friends and Berries
2067. Friends and Berries Time limit: 2.0 secondMemory limit: 64 MB There is a group of n children. ...
- Ferry Loading III[HDU1146]
Ferry Loading IIITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- HDU5709 : Claris Loves Painting
对于每个点维护两棵线段树$T1[x],T2[x]$: $T1[x]$维护$x$子树内,深度在$[l,r]$内的点数,同种颜色有多个的话,保留深度最小的那个. $T2[x]$维护$x$子树内每种颜色的最 ...
- 移动端页头推荐配置 出现找不到favicon.ico错误原因和解决方法
favicon 在未指定 favicon 时,大多数浏览器会请求 Web Server 根目录下的 favicon.ico .为了保证 favicon 可访问,避免404,必须遵循以下两种方法之一: ...
- 20145304 《Java程序设计》课程总结
每周读书笔记链接汇总 第一周读书笔记 第二周读书笔记 第三周读书笔记 第四周读书笔记 第五周读书笔记 第六周读书笔记 第七周读书笔记 第八周读书笔记 第九周读书笔记 第十周读书笔记 实验报告链接汇总 ...
- ACM: FZU 2148 Moon Game - 海伦公式
FZU 2148 Moon Game Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64 ...