前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5.1.4 I/O管理概述

5.1.4 I/O管理概述

作者头像
week
发布2018-08-27 10:15:04
2110
发布2018-08-27 10:15:04
举报
文章被收录于专栏:用户画像

I/O 管理需要完成如下4部分内容:

(1)状态跟踪:要能实时掌握外部设备的状态

(2)设备存取:要实现对设备的存取操作

(3)设备分配:在多用户环境下,负责设备的分配与回收

(4)设备控制:包括设备的驱动、完成和故障的中断处理

一、设备分类

1、按传输速率分

(1)低速:如键盘、鼠标

(2)中速:如行式打印机、激光打印机

(3)高速:如磁带机、磁盘机、光盘机

2、按信息交换单位分

(1)块设备:如磁盘

(2)字符设备:如键盘,打印机

二、控制方式

1、程序直接控制:程序直接对设备特环测试

2、中断驱动:引入中断机制,当设备准备完成时,发生中断

3、DMA:在I/O设备与主存之间开辟直接数据通路

4、通道控制:引入专门的I/O处理机进行管理

三、I/O子系统层次

1、用户层I/O软件:实现与用户交互的接口

2、设备独立性软件:实现用户程序与设备驱动器的统一接口、设备命令、设备保护以及设备分配与释放等,同时为设备管理和数据传送提供必要的存储空间。

设备独立性又称设备无关性,使得应用程序独立于具体使用的物理设备。为了实现设备的独立性而引入了逻辑设备和物理设备这两个概念。在应用程序中,使用逻辑设备名来请求使用某类设备;而在系统实际执行时,必须将逻辑设备名映射成物理设备名使用。

使用逻辑设备名的好处:

①增加设备分配的灵活性;

②易于实现I/O重定向(用于I/O操作的设备可以更换,而不必改变源程序)

为了实现设备独立性,必须再在驱动程序之上设置一层设备独立性软件。设备独立性软件主要功能:

①执行所有设备的公有操作。包括:对设备的分配与回收;将逻辑设备名,映射为物理设备名;对设备进行保护,禁止用户直接访问设备;缓存管理;差错控制;提供独立于设备的大小统一的逻辑块,屏蔽设备之间信息交换单元大小和传输速率的差异。

②向用户层(或文件层)提供统一接口。无论何种设备,他们向设备提供的接口应该是相同的。例如,对设备的读写操作,在应用程序中都统一使用read/write命令等。

3、设备驱动程序:与硬件直接相关,设备具体的差别被设备驱动程序所封装,负责具体实现系统对设备发出的操作指令

4、中断处理程序:用于处理中断相关事项,保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完毕并恢复被中断进程的现场,返回被中断进程。

硬件设备:保护一个机械部件(设备本身)和一个电子部件(控制器)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年12月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档