操作系统学习笔记_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 ...
随机推荐
- java获取指定地址图片高度宽度简单代码
package com.test; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.In ...
- UML用例图总结(转)
用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示了一个外部用户能够观察到的系统功能模型图. [用途]:帮助开发团队以一种可视化的方式理解系统的功能需求. 用例图所包含的元素如下: 1. ...
- vim ---- 自己主动的按钮indent该命令
当使用vim一段代码的副本到一个程序时,有,经常indent会有一些问题. . 下面的这个强大的命令,使您可以一键码具有很好的格式. gg=G 样品:
- 足球和oracle列(4):巴西惨败于德国,认为,差额RAC拓扑控制!
足球与oracle系列(4):从巴西慘败于德国,想到,差异的RAC拓扑对照! 前期回想: 本来想说今晚,回头一想,应该是今早第二场半决赛就要开战了!先来回味一下之前的比赛,本届8支小组赛第一名已经所有 ...
- SQL Server 性能调优培训引言
原文:SQL Server 性能调优培训引言 大家好,这是我在博客园写的第一篇博文,之所以要开这个博客,是我对MS SQL技术学习的一个兴趣记录. 作为计算机专业毕业的人,自己对技术的掌握总是觉得很肤 ...
- Shrio登陆验证实例详细解读(转)
摘要:本文采用了Spring+SpringMVC+Mybatis+Shiro+Msql来写了一个登陆验证的实例,下面来看看过程吧!整个工程基于Mavevn来创建,运行环境为JDK1.6+WIN7+to ...
- Oracle使用并行建索引须要注意的问题
建索引时.我们为了建索引快.会加上并行,加上并行之后.此列索引就会是并行了. 訪问有并行度的索引时,CBO可能可能会考虑并行运行.这可能会引发一些问题,如在server资源紧张的时候用并行会引起更加严 ...
- 采用jqueryUI创建日期选择器
该公司的项目使用的插件时间选择,百度很长一段时间.没有找到合适的,而且,他们在看了jqueryUI.自己变成一个更好的集成日期选择器.为了以后遇到相同的问题是可以解决. 以下就贴出部分使用的代码,比較 ...
- hdu 5092 Seam Carving
这道题 我没看出来 他只可以往下走,我看到的 8-connected :所以今天写一下如果是 8-connected 怎么解: 其实说白了这个就是从上到下走一条线到达最后一行的距离最小: 从Map[a ...
- Xamarin.Android 在VS下调试时提示 In mgmain JNI_OnLoad 程序“Mono”已退出 解决办法
原因是使用了破解版的 Xamarin,调试时不能使用共享库