《设备与IO管理教学PPT设备管理(新).ppt》由会员分享,可在线阅读,更多相关《设备与IO管理教学PPT设备管理(新).ppt(51页珍藏版)》请在三一办公上搜索。
1、第八章 设备与I/O管理,设备及其分类设备的物理特性IO传输方式(查询、中断、通道、DMA)设备分配与去配设备驱动设备调度缓冲技术虚拟设备,第八章 设备与I/O管理,1.I/O性能经常成为系统性能的瓶颈(1)CPU性能不等于系统性能,响应时间也是一个重要因素(2)CPU性能越高,与I/O差距越大 弥补:更多的进程(3)进程切换多,系统开销大2.操作系统庞大复杂的原因之一是:资源多、杂,并发,I/O 外设种类繁多,结构各异 输入输出数据信号类型不同,速度差异很大3.理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关键4.与其他功能联系密切,特别是文件系统,8.1 设备及其分类,用途存储
2、型设备磁盘,磁带,光盘IO型设备扫描仪,打印机,mouse,keyboard,monitor,网卡,etc.管理共享型设备(块型)多个进程的IO操作以块为单位可以交叉独占型设备(块型)多个进程的IO操作以块为单位不宜交叉独占型设备(字符型)多个进程的IO操作以字符为单位不能交叉,IO设备的物理特性传输一字节发生一次中断存储设备的物理特性磁带的物理特性,8.2 设备的物理特性,磁盘组的物理特性,盘面0,盘面1,盘面2,盘面m-1,扇区n-1,扇区0,扇区1,柱面0,柱面l-1,.,引臂,柱面号i盘面号j扇区号k,块号b(一维地址),(三维地址),编址方法:使相邻块物理上最近例子:l=2;m=3;
3、n=3柱面号:0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1盘面号:0 0 0 1 1 1 2 2 2 0 0 0 1 1 1 2 2 2扇区号:0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2块 号:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17,三维地址一维地址:b=imn+jn+k一维地址三维地址:i=b(mn)j=b mod(mn)n k=b mod(mn)mod n,未考虑读写延迟的扇区编号:,考虑读写延迟的扇区编号(单交错):,考虑读写延迟的扇区编号(双交错):,8.3 I/O 传输方式,程序查询
4、方式(programmed IO)CPU and Device can not work in parallel 中断方式(interrupt)CPU and device can work in parallel,too many interrupts for CPU通道方式(channel)special processor for dealing with io operations直接内存方式(DMA)DMA controller in charge of block io,8.3.1 程序控制查询方式,CPU启动设备,完成,F,T,缺点:处理机与设备串行工作;消耗大量处理机时间.,8
5、.3.2 中断驱动方式,CPU计算启动设备计算计算中断处理计算,设备:,工作,特点:CPU与设备并行工作 设备多时对CPU打扰多,8.3.3 DMA方式,Direct Memory Access作用:在没有CPU的作用下,实现设备和内存之间成批进行数据交换。,8.3.4 通道方式,通道负责IO操作的处理机指令系统基本操作:读、写、控制、转移、结束指令格式:(操作码,传输量,特征位,地址)运控部件CAW,CCW,CSW,CDW存储区域(与CPU共用内存,通道内有缓冲区)通道程序,IO数据(channel does have its buffers),通道程序执行过程:,按CAW取通道命令CCW,
6、(CAW)+1 CAW,是通道结束命令,执行此命令,F,向CPU发中断,一条通道指令可以传送一组数据,一个通道程序可以传送多组数据,可以控制若干设备进行多次IO传输。多组数据全部传输完毕后响处理器发送一次中断。,T,通道类型:1.字节多路通道(byte multiplexer channel)多个非分配型子通道,连接低速外围设备 2.数组选择通道(block selector channel)一个分配型子通道,连接多台高速设备 3.数组多路通道(block multiplexer channel)多个非分配型子通道,连接多台高速设备,设备、通道、内存连接,选择通道,磁盘,字节多路通道,打印机,
7、输入机,内存储器,处理机,磁带,数组多路通道,8.4 设备的分配与去配,独占型设备的分配与去配块型独占字符型独占共享型设备的分配与去配块型共享,数据结构设备控制块(UCB)通道控制块(CCB),设备标识设备状态占有设备进程,通道标识通道状态通道类型占有通道进程,系统设备表(SDT),设备类 总数 设备等待队列 UCB表指针 lp m Sm,UCBUCBUCB,独占型设备的分配与去配用户使用独占型设备活动:申请,使用,使用,使用,释放 申请:(1)根据设备类查SDT表(2)P(Sm)(3)查UCB表找一空闲设备并分配 使用:(1)IO传输 释放:(1)找SDT表对应入口(2)查UCB表,去配(3
8、)V(Sm),8.4 设备的分配与去配,共享型设备的分配与去配用户使用共享型设备活动使用,使用,使用特征来自文件系统;每次读(写)一块;通常经过缓冲;排队优化。,8.5 设备驱动,通道程序CCW指令序列静态编制或动态生成设备启动通道启动中断处理通道向CPU发中断,8.5 设备驱动,设备,CAWCCWCDWCSW,.形成通道程序.地址CAW.启动通道.中断处理.,启动,中断,内存,CPU,通道,8.6 设备调度,优化服务顺序考虑因素公平性防止饿死高效性减少磁盘引臂移动量,磁盘输入输出参数,寻道时间:将磁盘引臂移动到指定柱面的时间。Ts=mn+s(m跨越磁道数,n跨越一个磁道需要的时间,s启动时间
9、)旋转延迟:指定扇区旋转到磁头下的时间。Tr=1/2r(r磁盘转速,平均旋转延迟公式)传输时间:读写时间。Tt=b/rN(b读写字节数,N一条磁道上的字节数)读写一个扇区的时间:Tt=1/rM(M一条磁道上的扇区数),某软盘有40个磁道,磁头从一个磁道移到另一个磁道需要6ms。文件在磁盘上非连续存放,逻辑上相邻的数据块的平均距离为13个磁道,每块的旋转延时及传输时间分别为100ms和25ms。请问:(1)读取一个100块的文件需要多少时间?(2)如果对磁盘进行整理使同一文件的磁盘块尽量靠拢,以使逻辑相邻的数据块的平均距离为2个磁道,读取100块的文件需要多少时间?(8分)每次读取1块的时间=寻
10、道时间+旋转延迟+传输时间T=(13*6+100+25)*100T=(2*6+100+25)*100,磁盘引臂调度(disk head scheduling),先到先服务(FCFS)请求序列:130,42,180,15,108,68,97,移动量:(130-53)+(130-42)+(180-42)+(180-15)+(108-15)+(108-68)+(97-68)=630,磁盘引臂调度(disk head scheduling),最短寻找时间优先(SSTF)请求序列:130,42,180,15,108,68,97,移动量:(53-42)+(180-42)+(180-15)=314,磁盘引臂
11、调度(disk head scheduling),SCAN(LOOK)请求序列:130,42,180,15,108,68,97,SCAN移动量:(53-0)+(180-0)=233LOOK移动量:(53-15)+(180-15)=203,0 15 42 53 68 97 108 130 180 199,Look Scan,磁盘引臂调度(disk head scheduling),C-SCAN(C-LOOK)请求序列:130,42,180,15,108,68,97,特点:所有磁道的最长等待时间相同,磁盘引臂调度(disk head scheduling),N step-SCAN将磁盘请求队列分成
12、若干长度为N的子队列,按顺序处理子队列,子队列中的请求按照扫描策略提供服务。FCSCAN按照扫描策略为在一次特定扫描开始时已经到达的请求提供服务,在扫描期间新到达的请求被组合在一起在回程扫描时按扫描算法处理。,特点:所有磁道的最长等待时间相同,8.7 缓冲技术,处理数据到达与离开速度不一致所采用的技术。硬缓冲与软缓冲 硬缓冲区通常设在设备中 软缓冲区通常设在内存系统空间中 私用缓冲与公共缓冲 一个缓冲区与一个固定设备相联系,不同设备使用不同的缓冲区 利用率低 缓冲区由系统统一管理,按需要动态与分派给正在进行I/O传输的设备,Var buf_num:semaphore;(init n)mutex
13、:semaphore;(init 1)1.申请 2.释放(1)P(buf_num)P(mutex)(2)P(mutex)空缓冲入链头(3)取链头空缓冲 V(mutex)(4)V(mutex)V(buf_num),缓冲池管理,8.7.5 缓冲技术实现:输入设备,io链,OS,通道程序,进程方面:,中断方面:,IO链空,设备忙,申请空缓冲,启动设备,等待,由io链取一缓冲,信息进程空间,释放空缓冲,缓冲入io链,有等待进程,唤醒,传输完毕,申请空缓冲,启动设备,F,T,F,T,F,T,T,F,8.7.5 缓冲技术实现:输出设备,OS,通道程序,进程方面:,中断方面:,申请一空缓冲,信息缓冲,设备忙
14、,启动设备,缓冲入io链,传输完,T,F,F,T,释放空缓冲,io链空,取一缓冲,启动设备,T,F,8.7.5 输入输出设备:(磁带、磁盘),块型缓冲区:,进程空间,缓冲,IO设备,缓冲,缓冲,.,io链,进程方面(输入):,进程方面(输出):,中断方面:,申请空缓冲,填写头部,设备工作,入io链尾,启动设备,信息进程,释放缓冲,申请空缓冲,填写头部,信息缓冲,设备工作,启动设备,入io链,输入,唤醒等待者,释放空缓冲,io链空,取一缓冲,启动设备,F,T,F,T,T,F,F,T,等待,8.10 虚拟设备,概念利用共享型设备实现的数量较多、速度较快的独占型设备引入用户直接使用独占型设备效率低实
15、现输入型虚拟设备输出型虚拟设备虚拟设备的例子SPOOLing输入SPOOLing输出,8.10.1 虚拟设备引入,用户使用独占型设备活动:申请,使用,使用,使用,释放缺点:速度:CPU与设备速度不匹配设备利用率:占有期间不一定一直使用,进程独占此设备,方法:在进程与独占型设备之间增加共享设备缓冲,虚拟设备,虚拟设备,虚拟设备,虚拟设备,进程,独占设备,共享设备(如磁盘),间断传输,连续传输,8.10.2 虚拟设备的实现,输入型虚拟设备的实现申请:分配一虚设备分配一实设备信息由实设备虚设备去配该实设备使用:信息由虚设备进程空间释放:去配虚设备,输出型虚拟设备的实现申请:分配一虚设备使用:信息由进
16、程空间虚设备释放:分配一实设备信息由虚设备实设备去配实设备去配虚设备,8.10.2 虚拟设备的实现,8.10.3 虚拟设备的例子,SPOOLing输入作业预输入(输入机输入井)SPOOLing输出作业缓输出(输出井输出机)SPOOLingSimultaneous Peripheral Operation On-Line由SPOOLing程序控制通道完成,.,.,job11,job1m,.,输入井,预输入进程,预输入进程,内存,.,SPOOLing输入程序(1)vs.SPOOLing输入进程(n),有待输入作业,有空闲作业表,等待,等待,取一“空闲”作业表为JCB,作业状态改为“提交”,申请输入井空间,作业内容输入井,填写JCB,作业状态改为“后备”,作业调度1等待“后备”作业,唤醒,SPOOLing 输入程序,F,T,F,T,F,T,.,.,job11,job1n,.,输出井,缓输出进程,缓输出进程,内存,输出机,输出机,SPOOLing输出程序(1)vs.SPOOLing输出进程(n),输出作业结果,释放输出井空间,状态改为“空闲”,有等空闲JCB的预输入进程,唤醒一个,输出井有“完成”作业,取一“完成”作业,状态改为“退出”,等待,SPOOLing 输出程序,F,T,T,F,