- 1
- 0
- 约8.09千字
- 约 96页
- 2019-05-19 发布于天津
- 举报
第5章 设备管理 ;设备管理的主要对象:I/O设备,设备控制器和I/O通道。
设备管理的基本任务:完成用户提出的I/O请求,提高I/O效率,提高I/O设备的利用率。
设备管理的主要功能:缓冲区管理,设备分配,设备处理,虚拟设备,实现设备独立性。
I/O设备种类多操作差异大,设备管理是操作系统中最繁杂且与硬件最紧密相关的部分。;5.1 I/O系统概述 ;5.1.1 I/O设备 ;(2) 按信息交换单位分类(信息组织方式):
块设备
信息的存取以数据块为单位
如磁盘(传输速率较高;可寻址;适合DMA方式)
字符设备
信息的存取以字符为单位
如打印机、交互式终端
传输速率较低;不可寻址;中断驱动方式;(3) 按设备共享属性分类:
独占:如打印机
共享:如磁盘
虚拟:通过虚拟技术将一台独占设备变换为若干台逻辑设备,供多个进程同时使用。;2、设备与控制器之间的接口
设备不直接同计算机连接,一般是通过专用的电缆线连接控制器与设备。
两者传递的信号主要是三类:
(1) 数据信号:控制器到设备(输出)、设备到控制器(输入)
(2) 控制信号:控制器到设备
(3) 状态信号:设备到控制器
在小型机和微型机中,控制器一般直接做成印刷电路板插入计算机(在微机中习惯称为卡,如图形加速卡,网卡);5.1.2 I/O管理目标;2. 发挥系统的并行性,提高I/O设备使用效率。
采用各种软硬结合的技术使设备、CPU、用户程序、人这四者达到最高程度的并行
采用的技术有:中断技术、缓冲技术、设备共享和假脱机技术。
3. 实现设备的正确、安全使用——设备保护
技术:掩盖细节的高级接口;命名与权限管理;只有特权指令才能使用设备硬件接口。;5.1.3 I/O管理功能;?2. 外围设备的分配
按照设备的类型 (独享、共享或虚拟) 和系统中所采用的分配算法,决定把一个I/O设备分配给哪一个要求该类设备的进程。
在大、中系统中,分配设备的同时,还应分配相应的控制器和通道,以保证I/O设备与CPU之间有传递信息的通路;凡未分配到所需设备或控制器或通道的进程,应放入相应的等待队列。设备分配程序就是用来实现这一功能的。;3. 设备处理
设备处理程序又叫设备驱动程序。
4. 虚拟设备及实现设备独立性;5.3 缓冲管理 ;;2. 单缓冲(single buffer):
当用户进程发出I/O请求时,OS便在主存中为之分配一个缓冲区。
一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。 ;3. 双缓冲(double buffer):
为了加快输入和输出速度,引入双缓冲区。
设备输入时,先将数据送入第一缓冲区,装满后再转向第二缓冲区。
此时OS可以从第一缓冲区移出数据,送入用户进程所在内存。
两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。 ;例:某文件占10个磁盘块,现要把文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块大小一致。把磁盘块读入缓冲区的时间为100s,将缓冲区的数据传送到用户区的时间为50s,CPU对一块数据进行分析的时间是50s。在单缓冲和双缓冲结构下,读入并分析完该文件的时间分别是:
A 1500s、1000s B 1550s、1100s
答 B;4. 循环缓冲
环形缓冲(circular buffer):多个缓冲区,CPU和外设的处理速度可以相差较大。可参见“生产者-消费者问题”,
以上的缓冲区仅适用于特定的I/O进程和计算进程,属于专用缓冲区。系统较大时,会有多个专用缓冲区,消耗大量内存空间,利用率低,目前广泛使用公用缓冲池,池中设置了多个供若干进程共享的缓冲区。 ;5. 缓冲池
(1) 缓冲池的组成
既可用于输入,又可用于输出,缓冲池中有三类缓冲区:
①?空闲缓冲区队列emq
② 输入缓冲区队列inq:由装满输入数据的缓冲区链成的队列。
③ 输出缓冲区队列outq:由装满输出数据的缓冲区链成的队列。;;(2) 对缓冲池的操作:
①收容输入——设备输入数据
②提取输入——计算进程读入数据
③收容输出——计算进程输出数据
④提取输出——向设备输出数据。
上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。;5.4 I/O软件;I/O系统必须采用某种技术使I/O设备可以按统一的标准方式对待。
采用的方式有:抽象、包装与软件分层
可以从不同的I/O设备中抽象出一些通用类型。每个通用类型都可以通过一组标准函数(即接口)来访问。具体的差别被内核模块(设备驱动程序)所封装。
不同设备有自己的驱动程序,但提供了一组标准接口。设备驱动程序层为内核I/O子系统隐藏设备控制器之间的差异,从而简化了OS开发人员的任务,也有利于硬件制造商。
每种OS都有自己的设备驱动程序
原创力文档

文档评论(0)