操作系统学习笔记_12_I/O管理 --I/O管理概述
I/O管理
--I/O管理概述
一、I/O控制方式
1.I/O 设备概念
I/O设备:是指计算机系统中除控制器、运算器(中央处理机)和内存以外的全部设备,通常也称为外部设备。
I/O操作:是内存与外设的介质之间的传输数据操作。
2.I/O 设备分类
(1)按交互对象分类:人机交互设备等。
(2)按交互方向分类:输入输出设备等。
(3)按外设特性分类:块传输设备或字符传输设备等。
3.I/O 管理目标
设备管理的功能是依照I/O子系统的结构和设备类型指定分配和使用设备的策略。
设备管理的目标是:提高效率;方便使用;方便控制。
4.I/O 应用接口
提供设备使用的用户接口:命令接口和编程接口。
设备分配和释放:使用设备前,须要分配设备和对应的通道、控制器。
设备的訪问和控制:包含并发訪问和差错处理。
I/O缓冲和调度:目标是提高I/O訪问效率。
5.I/O 接口控制方式
设备管理的主要任务之中的一个是控制设备和内存或处理机之间的数据传送,外围设备和内存之间的I/O控制方式有四种,例如以下所述。
(1)程序訪问控制方式
(2)中断控制方法
(3)DMA[直接存储器寻址]方式
【DMA与中断控制使得CPU从大量没用的工作中解放出来】
(4)通道方式
【冯诺依曼计算机体系:运算器,控制器,存储器,I/O设备】
二、 I/O软件层次结构
1.I/O软件的目标
(1)设备独立性。
(2)统一命名。
2.I/O 软件层次结构
I/O软件中,较低的层处理与硬件有关的细节,并将硬件的特征与较高的层隔离;而较高的层则向用户提供一个友好的、清晰而规整的 I/O接口。
一般的I/O软件结构分为四层。
用户层 |
设备无关独立层(操作系统) |
设备驱动程序 |
中断处理程序 |
中断处理程序:I/O设备中断方式是控制输入输出设备和内存与CPU之间的数据传送的主要方式。 设备驱动程序:I/O设备驱动程序是直接同硬件打交道的软件模块。
【中断处理程序与设备驱动程序一般由硬件开发商来完毕】
设备独立层:在I/O软件中,除了设备驱动程序以外,大部分软件是与设备无关的。
用户层软件:用户使用设备的系统调用或API。通常的I/O由图书馆系统调用过程。
版权声明:本文博主原创文章。博客,未经同意不得转载。
操作系统学习笔记_12_I/O管理 --I/O管理概述的更多相关文章
- 操作系统学习笔记----进程/线程模型----Coursera课程笔记
操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进 ...
- kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- 深挖计算机基础:趣谈Linux操作系统学习笔记
参考极客时间专栏<趣谈Linux操作系统>学习笔记 核心原理篇:内存管理 趣谈Linux操作系统学习笔记:第二十讲 趣谈Linux操作系统学习笔记:第二十一讲 趣谈Linux操作系统学习笔 ...
- 操作系统学习笔记5 | 用户级线程 && 内核级线程
在上一部分中,我们了解到操作系统实现多进程图像需要组织.切换.考虑进程之间的影响,组织就是用PCB的队列实现,用到了一些简单的数据结构知识.而本部分重点就是进程之间的切换. 参考资料: 课程:哈工大操 ...
- Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息
</pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...
- Spring MVC 学习笔记9 —— 实现简单的用户管理(4)用户登录显示局部异常信息
Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. ...
- Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录
Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...
- GIT学习笔记(3):分支管理
GIT学习笔记(3):分支管理 何谓分支 GIT是如何存储数据的 GIT不是存储文件差异或者变化量,而是一系列文件的快照.在Git提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容 ...
- SpringBoot学习笔记:Swagger实现文档管理
SpringBoot学习笔记:Swagger实现文档管理 Swagger Swagger是一个规范且完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.Swagger的目标是对RE ...
随机推荐
- BIEE11g BI_server Jvm參数调整
1.找到user_projects\domains\bifoundation_domain\bin文件夹 2.复制startWeblogic.sh为新的文件startAdminWeblogic.sh, ...
- 数据结构 《18》----RMQ 与 LCA 的等价性 (一)
前言 RMQ: 数组 a0, a1, a2,..., an-1, 中求随意区间 a[i+1], a[i+2], ..., a[i+k] 的最小值 LCA: 求二叉树中两个节点的最低公共 ...
- 2-07. 素因子分解(20) (ZJUPAT 数学)
题目链接:http://pat.zju.edu.cn/contests/ds/2-07 给定某个正整数N,求其素因子分解结果,即给出其因式分解表达式 N = p1^k1 * p2^k2 *-*pm ^ ...
- 编C语言单元测试框架CUnit方法库
/********************************************************************* * Author : Samson * Date ...
- 安装zookeeper集群
zookeeper集群的安装 顾名思义zookeeper就是动物园管理员,他是用来管hadoop(大象).Hive(蜜蜂).pig(小猪)的管理员, Apache Hbase和 Apache So ...
- 23设计模式(3):Abstract Factory模式
定义:要创建一组相关或依赖对象提供一个接口,而你并不需要指定其具体类别. 类型:创建一个类模型 类图: 抽象工厂模式与工厂方法模式的差别 抽象工厂模式是工厂方法模式的升级版本号,他用来创建一组相关或者 ...
- 将本地文件上传到指定的服务器(HttpWebRequest方法)
将本地文件上传到指定的服务器(HttpWebRequest方法),通过文件流,带文件名,同文件一同上传的表单文本域及值. ///<summary> /// 将本地文件上传到指定的服务器(H ...
- Directx11学习笔记【十八】 Blending混合
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5634580.html 在d3d11中是按frame来渲染物体的,在 ...
- 从一开始,说出事java匿名内部类
java内部类.匿名类原本以为它们的使用已经很滑, 成绩, 就在昨天晚上12指向时钟发生重大事故.事故的严重程度再说吧,那是因为我没有睡一晚睡眠. 那以下先用一段模拟代码来描写叙述下我出现的问题的: ...
- 【Linux探索之旅】第一部分第五课:Unity桌面,人生若只如初见
内容简介 1.第一部分第五课:Unity桌面,人生若只如初见 2.第一部分第六课预告:Linux如何安装在虚拟机中 Unity桌面,人生若只如初见 不容易啊,经过了前几课的学习,我们认识了Linux是 ...