《输入输出系统》PPT课件.ppt
6.1 I/O系统的硬件结构 6.2 采用通道模型的I/O系统 6.3 I/O系统的软件组织 6.4 缓冲技术 6.5 磁盘的驱动调度6.6 设备分配程序6.7 WindowsNT的I/O系统,第六章 输入/输出系统,6.1 I/O系统的硬件结构,1.按使用特性对设备的分类,2.按所属关系分类系统设备用户设备,3.按资源分配角度分类,独占设备共享设备虚拟设备,4.按传输数据数量分类 字符设备块设备,5.按传输速率分类 慢速设备中速设备快速设备,几种常见I/O设备的物理特性,1.磁盘,图 6.2 磁盘物理结构概念图,表6-1 典型的软盘和硬盘的技术参数,2.时钟,图 6.3 可编程时钟,3.终端,存储映像终端RS-232终端X终端,I/O控制方式,循环I/O测试方式。程序中断I/O方式。DMA方式。通道方式。,图 6.7 DMA方式下的数据传输,设备控制器,现有大多数的设备控制器由以下三部分组成:设备控制器与CPU的接口设备控制器与设备的接口I/O逻辑,图 6.8 设备控制器的组成,6.2 采用通道模型的I/O系统,通道是一个独立于CPU的、专门用于管理I/O的处理机。使用通道的目的是减轻CPU的工作负担,增加系统并行能力。通道类型 字节多路通道 选择通道 数组多路通道,多通路I/O系统,图 6.9 多通路的配置方案,通道命令和通道程序,通常,计算机系统的I/O处理机具有如下三类基本通道操作:数据传送类,如读、写、反读、断定(检验设备状态);设备控制类,如控制换页、磁带反绕等;转移类,即通道程序内部的控制转移。,2.CPU和通道间的通讯,图 6.11 CPU启动通道的工作流程,6.3 I/O系统的软件组织,图 6.12 I/O系统的层次结构,I/O软件设计的目标,设备无关性错误处理同步/异步传输处理独占设备和共享设备的I/O操作,中断处理程序,中断处理程序位于I/O系统的最低层。当进程需要进行I/O操作时,操作系统应将该进程挂起,即进入阻塞,直至I/O操作结束并发生中断。当中断发生时,中断处理程序执行相应的操作,以解除相应进程的阻塞状态。,设备驱动程序,设备驱动程序包括了所有与设备有关的代码。每一个设备驱动程序只处理一种设备或者一类密切相关的设备。设备驱动程序的功能是从与设备无关的软件中接收抽象的请求,并执行该请求。,与设备无关的I/O软件,面向应用层,提供一个统一的接口。现以块设备为例,与设备无关的I/O软件的主要功能包括:设备命名。设备保护。与设备无关的块大小。数据缓冲。数据块的分配。对独占设备的分配与释放。错误处理。,用户空间的I/O软件,尽管大部分I/O软件属于操作系统,但是也有一小部分是与用户程序链接在一起的库例程,甚至是在核心外运行的完整程序。,图 6.13 无缓冲与单缓冲(a)无缓冲;(b)单缓冲,6.4 缓 冲 技 术,图 6.14 双缓冲,缓冲区的分类,单缓冲双缓冲缓冲池,缓冲池,缓冲池由多个缓冲区组成。为了管理方便,将相同类型的缓冲区链成一个队列,形成以下三个队列:(1)空缓冲区队列emq:由空缓冲区所链成的队列;(2)输入队列inq:由装满输入数据的缓冲区所链成的队列;(3)输出队列outq:由装满输出数据的缓冲区所链成的队列。,四种工作缓冲区:,用于收容输入数据的工作缓冲区;用于提取输入数据的工作缓冲区;用于收容输出数据的工作缓冲区;用于提取输出数据的工作缓冲区。,缓冲池管理的基本操作,两个基本操作(过程):getbuf(type):用于从type所指定的队列的队首,摘下一个缓冲区;putbuf(type,number):用于将用参数number所指示的缓冲区,挂在type队列上。,图 6.15 缓冲池的工作方式,缓冲池的工作方式,。例如,某一时刻对磁盘的输入/输出请求序列是:,柱面(CC)磁道(HH)物理记录R 7 4 1 7 4 8 7 4 5 40 6 4 2 7 7,6.5 磁盘的驱动调度,磁盘的驱动调度是先进行移臂(移动存取臂)调度,再进行旋转调度。,移臂调度算法,先来先服务算法(FCFS)最短查找时间优先法(SSTF)扫描法(SCAN),图 6.16 电梯调度算法流程,6.6 设备分配程序,设备分配的数据结构,图 6.18 UCB和PCB的连接,图 6.19 UCB,CUCB,CCB间的连接,图 6.20 系统设备表与UCB的关系,I/O调度程序,这些原则与下述的四个因素有关:I/O设备的固有属性 I/O设备的分配算法 先请求先服务。优先级高者优先。设备分配的安全性 与设备的无关性,设备分配的实施,分配设备。分配控制器。分配通道。,