操作系统第八章设备与.ppt
《操作系统第八章设备与.ppt》由会员分享,可在线阅读,更多相关《操作系统第八章设备与.ppt(98页珍藏版)》请在三一办公上搜索。
1、第八章 设备与I/O管理,设备及其分类设备的物理特性IO传输方式(查询、中断、通道、DMA)设备分配与去配设备驱动设备调度缓冲技术输入输出进程RAID技术虚拟设备,8.1 设备及其分类,用途存储型设备磁盘,磁带,光盘IO型设备扫描仪,打印机,mouse,keyboard,monitor,网络设备网卡,交换机,etc.,8.1 设备及其分类,管理共享型设备(块型)多个进程的IO操作以块为单位可以交叉独占型设备(块型)多个进程的IO操作以块为单位不宜交叉独占型设备(字符型)多个进程的IO操作以字符为单位不能交叉,IO设备的物理特性传输一字节发生一次中断存储设备的物理特性磁带的物理特性,8.2 设备
2、的物理特性,磁盘组的物理特性,盘面0,盘面1,盘面2,盘面m-1,扇区1,扇区0,扇区n-1,柱面0,柱面l-1,.,引臂,柱面号i盘面号j扇区号k,块号b(一维地址),(三维地址),编址方法:使相邻块物理上最近例子:l=2;m=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+
3、jn+k一维地址三维地址:i=b(mn)j=b mod(mn)n k=b mod(mn)mod n,未考虑读写延迟的扇区编号:,考虑读写延迟的扇区编号(单交错):,考虑读写延迟的扇区编号(双交错):,光盘的物理特性:读取原理:pit/land 螺旋线,22188圈(展开5.6km),内侧转速:530转/分;外侧转速:200转/分(密度均匀,读取速度均匀),14个bit构成一个symble,42个symble构成一个frame,98个frame构成一个sector,Sector2352bytes,588bits的frame各包含24字节,Preamble:16bytes,前12bytes为:00
4、FFFFFFFFFFFFFFFFFFFF00后随3bytes扇区编号,最后字节为mode,2048字节,288字节,8.3 I/O 传输方式,IO操作演变历史程序查询方式(programmed IO)(polling)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)D
5、MA controller in charge of block io,8.3.1 程序控制查询方式,CPU启动设备,完成,F,T,缺点:处理机与设备串行工作;消耗大量处理机时间.,8.3.2 中断驱动方式,CPU计算启动设备计算计算中断处理计算,设备:,工作,特点:CPU与设备并行工作 设备多时对CPU打扰多,8.3.3 DMA方式,数据传输,CPU,DMA控制器,内存,缓冲,磁盘,中断,DMA请求,总线,磁盘控制器,回答,DMA编程,启动中断状态,8.3.3 DMA方式,.,CPU通过设置DMA控制器实现DMA编程,同时启动磁盘控制器由磁盘读入数据至内部缓冲区并进行和校验;DMA控制器向磁
6、盘控制器发出读请求,并将内存地址放在地址总线上;磁盘控制器将字节传到内存指定单元;磁盘控制器向DMA控制器发送回答;DMA控制器将内部地址寄存器加1同时将记数减1,重复上述过程直至计数器为0,此时DMA控制器向CPU发出中断信号.,8.3.4 通道方式,通道负责IO操作的处理机指令系统基本操作:控制、读、写、转移、结束指令格式:(操作码,传输量,特征位,地址)运控部件CAW,CCW,CSW,CDW存储区域(与CPU共用内存,通道内有缓冲区)通道程序,IO数据(channel does have its buffers),通道程序执行过程:,按CAW取通道命令CCW,(CAW)+1 CAW,是通
7、道结束命令,执行此命令,F,向CPU发中断,一个通道程序可以控制若干设备进行多次IO传输。,T,通道类型,字节多路通道(byte multiplexer channel)多个非分配型子通道,连接低速外围设备数组选择通道(block selector channel)一个分配型子通道,连接多台高速设备数组多路通道(block multiplexer channel)多个非分配型子通道,连接多台高速设备,设备、通道、内存连接,选择通道,磁盘,字节多路通道,打印机,输入机,内存储器,处理机,磁带,数组多路通道,8.4 设备的分配与去配,独占型设备的分配与去配块型独占字符型独占共享型设备的分配与去配块
8、型共享,数据结构设备控制块(UCB)通道控制块(CCB),设备标识设备状态相连通道占有设备进程,通道标识通道状态通道类型占有通道进程,系统设备表(SDT),设备类 总数 设备等待队列 UCB表指针 lp m Sm,UCBUCBUCB,独占型设备的分配与去配用户使用独占型设备活动:申请,使用,使用,使用,释放 申请:(1)根据设备类查SDT表(2)P(Sm)(3)查UCB表找一空闲设备并分配 使用:(1)分配通道(2)IO传输(3)去配通道 释放:(1)找SDT表对应入口(2)查UCB表,去配(3)V(Sm),8.4 设备的分配与去配,共享型设备的分配与去配用户使用共享型设备活动使用,使用,使用
9、特征来自文件系统;每次读(写)一块;通常经过缓冲;排队优化。使用分配通道;IO操作;释放通道,8.5 设备驱动,通道程序CCW指令序列静态编制或动态生成设备启动通道启动中断处理通道向CPU发的中断,8.5 设备驱动,设备,CAWCCWCDWCSW,.形成通道程序.地址CAW.启动通道.中断处理.,启动,中断,内存,CPU,通道,8.5 设备驱动,设备,CAWCCWCDWCSW,.形成通道程序.地址CAW.启动通道.中断处理.,启动,中断,内存,CPU,通道,8.5 设备驱动,设备,CAWCCWCDWCSW,.形成通道程序.地址CAW.启动通道.中断处理.,启动,中断,内存,CPU,通道,8.5
10、 设备驱动,设备,CAWCCWCDWCSW,.形成通道程序.地址CAW.启动通道.中断处理.,启动,中断,内存,CPU,通道,8.6 设备调度,优化服务顺序考虑因素公平性防止饿死高效性减少磁盘引臂移动量,磁盘引臂调度(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,
11、15,108,68,97,移动量:(53-42)+(180-42)+(180-15)=314,磁盘引臂调度(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,特点:所有磁道地位最长等待时间
12、相同问题:diskhead stickiness(磁头粘性),磁盘引臂调度(disk head scheduling),N-step SCAN(N步扫描)将磁盘请求队列分为若干个长度为N的子队列,每个队列内采用SCAN算法例子:磁道由外向内编号0-99,磁头当前位置20,向内移动,N=412,5,7,30,60,77,13,26,61,80,53,662030127513266077806661 53当N很大时,接近SCAN算法当N=1时,蜕化为FCFS算法,磁盘引臂调度(disk head scheduling),FSCAN(Freezing SCAN,冻结扫描)将磁盘请求分为两个子队列,服
13、务队列请求队列用SCAN算法扫描服务队列,并为请求服务,服务期间新到达的请求入请求队列扫描完成后交换两个队列的地位,8.6.1 磁盘I/O参数,首先分析一下读/写一个磁盘块需要多少时间。它一般由如下三个因素确定:寻道时间(seek time):将磁盘引臂移动到指定柱面所需要的时间;旋转延迟(rotational delay):指定扇区旋转到磁头下的时间;传输时间(transfer time):读/写一个扇区的时间。,8.6.1 磁盘I/O参数,寻道时间Ts计算公式如下:Ts=mns其中,n为跨越磁道数,m为跨越一个磁道所用时间,s为启动时间。旋转延迟Tr计算公式如下:Tr=1/(2r)其中,r
14、为磁盘转速。该公式给出的是平均旋转延迟,它是磁盘旋转一周时间的一半,即旋转半周所花费的时间。,8.6.1 磁盘I/O参数,传输时间Tt计算公式如下:Tt=b/(rN)其中,b为读/写字节数,r为磁盘转速,N为一条磁道上的字节数。,8.6.1 磁盘I/O参数,因此,可将访问时间Ta表示为:访问磁盘通常是以扇区(块)为单位的,令M为一个磁道上扇区的个数,则一个扇区的访问时间为:,例题,例8-1设有一个只有一个移动磁头的磁盘,磁道由外向内编号0、1、2、199,磁头移动一个磁道所需时间为1ms,每个磁道有100个扇区,磁盘转速6000r/m。采用CLOOK引臂调度算法,当前引臂位置处于第100磁道,
15、当前移动方向由外向内,并规定引臂向内扫描时为路经请求服务。对于如下磁道请求120、85、70、30,每个请求访问对应磁道上的一个扇区,问:(1)给出引臂移动序列,计算引臂移动量和寻道时间,忽略启动时间;(2)计算平均旋转延迟时间;(3)计算传输时间;(4)计算所有访问处理时间。,例题,解答:(1)磁盘引臂移动序列为:100120307085,跨越磁道数:20+90+40+15=165。共需寻道时间1651ms=165ms.(2)1次访盘的旋转延迟为:Tr=1/(2r)=1/(2(6000/m)=1/(2(100/s)=5ms,4次访盘的旋转延迟为45ms=20ms.(3)1次访盘的传输时间为:
16、Tt=1/(rM)=1/(6000/m)100)=1/(100/s)100)=0.1ms,4次访盘的传输时间为40.1ms=0.4ms.(4)所有访问处理时间=165+20+0.4=185.4(ms)。,8.7 缓冲技术,设备处理数据到达与离开速度不一致所采用的技术。Buffering vs.Cachingbuffering:one data copycaching:multiple data copy(slow多,fast少)硬缓冲与软缓冲 硬缓冲区通常设在设备中 软缓冲区通常设在内存系统空间中 私用缓冲与公共缓冲 一个缓冲区与一个固定设备相联系,不同设备使用不同的缓冲区 利用率低 缓冲区由
17、系统统一管理,按需要动态分派给正在进行I/O传输的设备,Var buf_num:semaphore;(init n)mutex:semaphore;(init 1)1.申请 2.释放(1)P(buf_num)P(mutex)(2)P(mutex)空缓冲入链尾(3)取链头空缓冲 V(mutex)(4)V(mutex)V(buf_num),缓冲池管理,tail,8.7.5 缓冲技术实现:输入设备,io链,进程方面:,中断方面:,IO链空,设备忙,申请空缓冲,启动设备,等待,由io链取一缓冲,信息进程空间,释放空缓冲,缓冲入io链,有等待进程,唤醒,传输完毕,申请空缓冲,启动设备,F,T,F,T,F
18、,T,T,F,8.7.5 缓冲技术实现:输出设备,进程方面:,中断方面:,申请一空缓冲,信息缓冲,设备忙,启动设备,缓冲入io链,传输完,T,F,F,T,释放空缓冲,io链空,取一缓冲,启动设备,T,F,8.7.5 输入输出设备:(磁带、磁盘),块型缓冲区:,进程空间,缓冲,IO设备,缓冲,缓冲,.,io链,进程方面(输入):,进程方面(输出):,中断方面:,申请空缓冲,填写头部,设备工作,入io链尾,启动设备,信息进程,释放缓冲,申请空缓冲,填写头部,信息缓冲,设备工作,启动设备,入io链,输入,唤醒等待者,释放空缓冲,io链空,取一缓冲,启动设备,F,T,F,T,T,F,F,T,等待,UN
19、IX缓冲,字符型缓冲100个缓冲区,长度8字节(6字符+2指针)组成公共缓冲池,所有字符型设备公用缓冲区或属于cfreelist,或属于某字符设备(eg.tty,lp)块型缓冲50个缓冲区,长度514字节组成公共缓冲池,所有块型设备公用缓冲区可属于bfreelist and/or devtab预先读入的块(breada)延迟写出的块(bdwrite),字符型设备缓冲struct cblock struct cblock*c_next;char info6;struct cblock*cfreelist;/free c blocks struct clist/associated with a
20、character device int c_cc;/character count int c_cf;/pointer to first block int c_cl;/pointer to last block,struct buf/actually a buffer header,shared by all mounted disks int b_flags;/BUSY,ASYNC,DELWRI,DONE.struct buf*b_forw;/headed by devtab struct buf*b_back;struct buf*av_forw;/position on free l
21、ist struct buf*av_back;int b_dev;int b_wcount;/transfer count char*b_addr;/low order core(buffer)address char*b_xmem;/high order core(buffer)address char*b_blkno/block#on device char b_error;char*b_resid;/word not transferred after error bufNBUF,块型设备缓冲(头部),15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,B_REA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 第八 设备

链接地址:https://www.31ppt.com/p-6472754.html