文档介绍:第八章输入输出管理
I/O管理的基本概念
缓冲技术
设备分配
输入输出控制
I/O管理的基本概念
一. 引言
1. 什么是计算机外部设备
在计算机系统中除CPU和内存储外所有的设备和装置称为计算机外部设备(外围设备、I/O设备)。
存储设备:用来存放各种信息的设备称为存储设备,例如,软盘、硬盘、光盘和磁带等;
I/O设备:用来向计算机输入和输出信息的设备,如键盘、鼠标、显示器、打印机等。
在现代计算机系统中有些设备既可以做存储设备,也可以做I/O设备,例如,软盘、硬盘等。
I/O管理就是设备管理,它是操作系统的一个重要的组成部分,负责管理系统中所有的外部设备。
计算机外部设备种类繁多,特性各异。
主要表现在以下几个方面:
(1)速度
不同的外部设备的传输速度的差别相当大,如键盘的传输速度不过几十,上百个字符,而磁盘的传输速度则是60万字节/每秒。
(2)传输单位
有的设备的传输单位是字节,如键盘、打印机、显示器;
有的传输单位是字符块,如软盘、硬盘、磁带等;
有的传输单位是位,如个人计算机中的Serial Port(s) 2
(3)容许的操作(操作特性)
设备完成的操作种类各不相同,如打印机只允许写操作,键盘只能做读操作,而磁盘既可读,也可写。
(4)出错条件
不同的设备,其出错条件也不相同,即数据传输失败的原因各种各样,如打印机有缺纸错,磁盘I/O有奇偶校验错等。
二. 设计目标
现在使用的ASCII码(美国信息交换标准码)
三. I/0管理功能
1. 状态跟踪
动态地记录各种设备的状态
2. 制订设备分配策略
决定设备分配策略,以确定谁、何时存取设备、使用多长时间。
3. 设备分配与回收
在多用户的环境下,负责设备的分配和回收。
4. 设备控制
实施设备驱动和中断处理的工作。
四. 设备独立性
1. 设备独立性的概念
(1) 什么是设备独立性
所谓设备独立性是指,用户在编制程序时所使用的设备与实际使用的设备无关,也就是在用户程序中仅使用逻辑设备名。
(2) 逻辑设备名
逻辑设备名,是用户自己指定的设备名(或设备号),它是暂时的、可更改的。
(3) 物理设备名
物理设备名是系统提供的设备的标准名称,它是永久的、不可更改的。
(4)两类设备独立性:
一个程序应独立于分配给它的某类设备的具体设备。即在用户程序中只指明I/O使用的设备类型即可。如在系统中配备了两台打印机,用户要打印时只要告诉系统要将信息送到打印机即可。
程序要尽可能地与它使用的设备类型无关。即在用户程序中只要指出要输入或输出信息,至如信息I/O使用的设备不需用户指明。
在UNIX系统中,把设备与文件统一处理,这比前两种设备独立性又算了一步,对于用户来说,就没有设备的概念。
3. 实现设备独立性的优点
方便用户
改善设备利用率
提高系统的可扩展性和可适应性