计算机操作系统之设备管理.ppt

上传人:牧羊曲112 文档编号:6376280 上传时间:2023-10-22 格式:PPT 页数:78 大小:1.37MB
返回 下载 相关 举报
计算机操作系统之设备管理.ppt_第1页
第1页 / 共78页
计算机操作系统之设备管理.ppt_第2页
第2页 / 共78页
计算机操作系统之设备管理.ppt_第3页
第3页 / 共78页
计算机操作系统之设备管理.ppt_第4页
第4页 / 共78页
计算机操作系统之设备管理.ppt_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《计算机操作系统之设备管理.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统之设备管理.ppt(78页珍藏版)》请在三一办公上搜索。

1、第五章,设备管理,2007年1月,内容,(1)I/O组成;(2)I/O控制;指I/O完成的方法。(3)I/O缓冲;(4)I/O分配;(5)I/O处理。指具体I/O命令的完成过程。,2007年1月,5.1 I/O系统,5.1.1 I/O设备一、类型(1)按速度分:低:键盘中:打印机高:磁盘。(2)按信息交换单位分:块:磁盘,可定位字符:打印机、串口,2007年1月,5.1 I/O系统,5.1.1 I/O设备一、类型(3)按设备的共享属性分:独占:如临界资源共享:磁盘虚拟:如本身因有属性为独占,但将其虚拟为几个逻辑设备。,2007年1月,二、设备与控制器之间的接口,CPU控制器设备三种信号:(1)

2、数据信号:双向,有缓存(2)控制信号:控制器发给设备;要求其完成相关操作(3)状态信号:设备发给控制器,后者“显示”;,2007年1月,5.1.2 设备控制器,一、功能:接收CPU命令,控制I/O设备工作,解放CPU.1.接收和识别命令。应有相应的Register来存放命令(“命令寄存器”)2.数据交换CPU控制器的数据寄存器设备3.设备状态的了解和报告设备控制器中应用“状态寄存器”4.地址识别CPU通过“地址”与设备通信,设备控制器应能识别它所控制的设备地址以及其各寄存器的地址。,2007年1月,5.1.3 I/O通道,二、类型1.字节多路通道:各子通道以时间片轮转方式共享通道,适用于低、中

3、速设备。2.数组选择通道:无子通道,仅一主通道,某时间由某设备独占,适于高速设备。但通道未共享,利用率低。3.数组多路通道:在图5-3中,多子通道不是以时间片方式,而是“按需分配”,综合了前面2种通道类型的优点。,2007年1月,5.1.3 I/O通道,三、通道“瓶颈”问题:解决:采用复联方式,2007年1月,5.1.4 总线系统,微机I/O系统,设备控制器:与设备是一对多的关系,系统是通过它与设备通信系统设备控制器 设备如:磁盘设备,打印设备缺点:总线瓶颈,CPU瓶颈。,2007年1月,5.1.4 总线系统,二、主机I/O系统(四级结构)计算机I/O通道I/O控制器设备I/O通道相当于对总线

4、的扩展,即多总线方式,且通道有一定的智能性,能与CPU并行,解决其负担。ISA/EISA/LocalBUS/VESA/PCI,2007年1月,5.2 I/O控制方式,四个阶段:程序I/O中断I/ODMA控制通道控制。趋势:提高并行度。,2007年1月,5.2.1 程序I/O(忙等待方式),查询方式:CPU需花代价不断查询I/O状态(图5-7a)CPU资源浪费极大。例:99.9ms+0.1ms=100ms 在5.2.1中99.9在忙等,2007年1月,5.2.2 中断I/O,向I/O发命令返回执行其它任务。I/O中断产生CPU转相应中断处理程序。如:读数据,读完后以中断方式通知CPU,CPU完成

5、数据从I/O内存,2007年1月,5.2.3 DMA方式用于块设备中,一、引入中断I/O,CPU“字节”干预一次,即每“字节”传送产生一次中断。DMA:由DMA控制器直接控制总线传递数据块。DMA控制器完成从I/O内存。图5.7c二、组成一组寄存器+控制逻辑。图5.8CR(命令/状态);DR(数据);MAR(内存地址);DC(计数)DMA工作过程(例):,2007年1月,Direct Memory Access,2007年1月,DMA,2007年1月,DMA,2007年1月,DMA,2007年1月,5.2.4 I/O通道控制方式,DMA方式:对需多离散块的读取仍需要多次中断。通道方式:CPU只

6、需给出(1)通道程序首址。(2)要访问I/O设备后,通道程序就可完成一组块操作,2007年1月,5.3 缓冲管理,目的:组织管理、分配、释放buffer5.3.1 引入1.缓和CPU和I/O设备间速度不匹配的矛盾。如:计算打印buffer打印2.减少对CPU的中断频率如:buffer越大,“buffer满”信号发生频率越低。3.提高CPU和I/O并行性,2007年1月,5.3 缓冲管理,5.3.2 单缓冲,由于C和T可并行,M和C或M和T不能并行,因此处理一块数据时间:Max(C,T)+M用户进程何时阻塞?,2007年1月,5.3 缓冲管理,5.3.2双缓冲,效率有所提高,且进一步平滑了传输峰

7、值。系统处理一块数据的时间约为:MAX(C,T)收发可双向同时传送。(图513),2007年1月,5.3 缓冲管理,5.3.3 循环多缓冲,类型:R:空缓冲;G:满缓冲;C:当前缓冲,2007年1月,循环多缓冲的使用,nextg:指示下一个应取数据的bufnexti:指示下一个空buf.Getbuf:取nextg对应缓冲区提供使用,将Nextg置为空,Nextg=(Nextg+1)Mod N将Nexti对应缓冲区提供使用,将Nexti置为满,Nexti=(Nexti+1)Mod NReleasebuf:若C满,则改为G;若C空,则改为R;,2007年1月,循环多缓冲的同步问题,Nexti 追上

8、Nextg:表示输入速度输出速度,全部buf满,这时输入进程阻塞Nextg追上Nexti:输入速度输出速度,全部buf空,这时输出进程阻塞。,2007年1月,5.3.4 缓冲池,缓冲池:系统提供的公用缓冲 一、组成:3个队列:空缓冲队列emq输入队列inq输出队列outq四个工作缓冲区:hin:收容输入数据sin:提取输入数据hout:收容输出数据sout:提取输出数据,2007年1月,二、4种工作方式,1.收容输入;2.提取输入3.收容输出;4.提取输出,2007年1月,5.3 缓冲管理,1.hin=getbuf(emq);putbuf(inq,hin)2.sin=getbuf(inq);计

9、算;putbuf(emq,sin)3.hout=getbuf(emq);putbuf(outq,hout)4.sout=getbuf(outq);输出;putbuf(emq,sout),2007年1月,三、Getbuf和Putbuf过程,Getbuf(type)Begin wait(RS(type);wait(MS(type);B(number):=takebuf(type);signal(MS(type);end,Putbuf(type)Begin wait(MS(type);addbuf(type,number);signal(MS(type);signal(RS(type);end,20

10、07年1月,5.4 设备分配,包括:对设备、设备控制器、通道的分配5.4.1 数据结构一、设备控制表DCT:二、控制器控制表(COCT),通道表(CHCT),系统设备表(SDT),图5-17SDT:记录了系统中全部设备及其驱动程序地址。,2007年1月,设备控制表DCT,2007年1月,5.4.2 设备分配应考虑的若干因素,一、设备的固有属性:共享+虚拟:注意调度的合理性;独享:排它性分配,控制不好可能死锁。二、分配算法:(1)FIFO;(2)优先权。,2007年1月,5.4.2 设备分配应考虑的若干因素,三、安全性:安全分配(同步):每进程获得一I/O后,即block,直到其I/O完成。即打

11、破了死锁条件。缺点:CPU、I/O对该进程是串行,进程进展缓慢。不安全分配(异步):需进行安全性检查,进程执行效率高。,2007年1月,5.4.3 设备独立性,一、概念:即设备无关性,指应用程序独立于具体使用的物理设备。逻辑设备物理设备逻辑设备表(LUT):,2007年1月,5.4.3 设备独立性,分配流程:进程给出逻辑名通过LUT得到物理设备及其driver入口。优点:设备分配更灵活;逻辑设备和物理设备间可以是多多的映射关系。提高了物理设备的共享性,以及使用的灵活性。如:某逻辑名可对应这一类设备,提高均衡性与容错性。几个逻辑名可对应某一个设备,提高共享性。,2007年1月,5.4.3 设备独

12、立性,易于实现I/O重定向。不变程序,只需改变LUT表的映射关系。二、设备独立性软件执行所有设备的公有操作分配回收名字映射保护缓冲差错控制向用户层软件提供统一接口read、write,Struct general_opint(*read)()int(*write)();,driver1:Struct general_op dev_op=dev1_read,dev1_write;driver2:Struct general_op dev_op=dev2_read,dev2_write;Gen_read(fd,)dev_op=map(fd);dev_op-read();,2007年1月,5.4.3

13、 设备独立性,三.名字映射LUT的生成在用户进程第一次请求设备时完成映射并在LUT中生成相应项LUT的配置(1)整个系统一张LUT表:要求:逻辑名不重复,(一般用于单用户系统)(2)每个用户一张LUT表。可重名/可限制用户对某些设备的使用。,2007年1月,5.4.4 独占设备分配程序,进程n请求设备:,begin search(sdt,phdevice)if not busy(phdevice)then begin compute(safe)对独占设备 if safe then alloc(n,phdevice);else begin insert(DL(phdevice),n);-将n插入

14、设备等待队列DL上 return end;end;,2007年1月,设备忙else begin;insert(DL(phdevice),n);return;end;controllerid=controllerid(COCT ptr(dct);device分配成功if not busy(COCT(controllerid)then alloc(n,controllerid);else begin insert(col,n);return;end;channeled=channeled(chatptr(controllerid);控制器分配成功,2007年1月,if not busy(chct(

15、channelid)then allocation(n,channelid);else begin insert(chl,n)return;end;end;优化:1)增加设备的独立性2)考虑多通路情况,2007年1月,5.4.5 SPOOLING技术,1概念假脱机技术,在联机情况下同时出现外围操作 作用:通过缓冲方式,将独占设备改造为共享设备,2007年1月,2、spooling组成,1.输入和输出:在磁盘上开辟的2个大存储空间,模拟输入和输出设备。2.输入buf和输出buf(内存中)输入设备输入buf输入#用户区(1)用户区输出#输出buf设备(2)3.输入Spi和输出SPo进程。分别控制(

16、1),(2)的动作。SPi相当于脱机输入控制器。SPo相当于脱机输出控制器。,2007年1月,3例,(1)输入a.进程n请求 SPi为n在输入中分配空间设备数据由输入buf送输入#生成输入请求表挂输入请求队列。b.CPU空取请求表中的任务,送进程缓冲区。(2)输出:(打印)a.进程n请求SPo为n在输出#中分配空间将数据由进程buf转到输出#生成一打印请求表挂打印请求队列。b.打印机空查打印请求表中的任务 取输出中对于数据输出buf 打印,2007年1月,4特点,1.提高I/O速度:对低速设备操作变为对输入/出#操作。2.将独占设备改造为共享设备分配设备的实质时分配输入/出#3.实现了虚拟设备

17、功能,2007年1月,5.5设备处理,设备处理程序即是设备驱动程序。设备驱动程序的功能和特点设备驱动程序的处理过程,2007年1月,设备驱动程序的功能和特点,功能:接收进程的I/O命令检查命令合法性检查设备状态设置设备工作方式驱动I/O操作响应设备中断构成通道程序,2007年1月,设备驱动程序的功能和特点,特点:和硬件紧密相关、各个设备有自己的设备驱动,2007年1月,5.5.2设备驱动程序处理过程,包括启动过程中断处理过程启动过程将抽象要求转化为具体要求检查I/O请求合法性读出和检查设备状态传送必要的参数设置工作方式启动I/O设备,2007年1月,5.5.3中断处理程序,流程设备启动I/O完

18、成发送中断CPU调用中断处理过程中断处理过程唤醒被阻塞的驱动程序进程保护被中断进程环境转入相应的设备处理程序中断处理(特性)恢复被中断进程的现场,2007年1月,5.6磁盘存储器管理,5.6.1 磁盘性能简述 一、数据组织和格式(图522)磁道扇区字节二、类型1.固定头磁盘:每个磁道上有一个磁头,快2.移动头磁盘:每个盘面仅有一个磁头,慢,2007年1月,5.6.1 磁盘性能简述,三、磁盘访问时间:1.寻道时间:TS=m*n+Sm:常量,n:磁道数,s:磁盘启动时间。2.旋转延时间Tr:指定扇区旋转到磁头下所需时间。设每秒r转,则Tr1/2r(均值)3.数据传输时间Ttb/rNb:读写字节数N

19、:每道上的字节数访问时间:Ta=Ts+1/2r+b/rN可见,由于特定磁盘,只有集中放数据,集中读写(b大)才能更好提高传输效率。,2007年1月,例子,寻道时间:20ms磁盘通道传输速率:1MB/s转速r=3600rpm每扇区512字节每磁道32 扇区目标:读 128k 数据,2007年1月,时间比较,60*16k=960k1MB/s顺序组织(208.316.7)(8.316.7)7220(ms)随机组织(208.30.5)2567373(ms),2007年1月,5.6.2 磁盘调度,目标:减少寻道时间一、FCFS(Fisrt Come First Second)特点:简单,寻道时间长,相当

20、于随机访问模式。二、SSTF(最短寻道优先)三、扫描算法。1.进程“饥饿现象”SSTF存在。2.SCAN算法:在移动方向固定的情况下采用了SSTF,以避免饥饿现象,FCFS调度算法 SSTF调度算法,2007年1月,5.6.2 磁盘调度,四、循环扫描CSCAN(图9-5)一个方向读完,不是象SCAN那样回头,而是循环。访问时间:2TT+Smax五、NStepSCAN和FSCAN算法。1.NStepSCAN粘臂:由于连续对某磁道访问引起的垄断访问,将磁盘请求队列分为长为N的子队列m个,如下图处理。当N=1时,为FCFS。当N时,为SCAN.,2007年1月,5.6.2 磁盘调度,2.FSCAN,

21、SCAN调度算法 CSCAN调度算法,2007年1月,5.6.3 磁盘高速缓存,形式逻辑上是磁盘、物理上是驻留在内存中的盘块固定大小和可变大小数据交付方式数据交付指将磁盘高速缓存中的数据传送给请求者进程步骤:先查缓存、后查磁盘并更新缓存方式:数据交付指针交付,2007年1月,5.6.3 磁盘高速缓存,置换算法最近最久访问频率可预见性数据一致性:将需要一致性的块放在替换队列的头部,优先回写。周期性回写磁盘例:msdos采用写穿透方式,2007年1月,5.6.4 提高磁盘I/O速度的其它方法,提前读延迟写访问频率高的磁盘块放在替换队列的尾部,减少回写次数优化物理块的分布目的是减小磁头移动距离簇分配

22、方式:一个簇为多个连续的块虚拟盘(RAM盘)和磁盘高速缓存区别:虚拟盘由用户控制;磁盘高速缓存由系统控制。,2007年1月,5.6.5 廉价磁盘冗余阵列,并行交叉存取(条化存取)冗余存取校验存取优点可靠性高磁盘I/O速度高性价比高,2007年1月,RAID 0(不冗余),2007年1月,RAID 0,2007年1月,RAID 0,不冗余不校验分布式存储低可靠性低价格并行 I/O 访问,2007年1月,RAID 1(镜像),分布存放镜像冗余不校验,2007年1月,RAID 1,读性能比 RAID 0好(选择寻道时间小的磁盘访问)写性能比 RAID 0差存储开销大可靠性高,2007年1月,RAID

23、 2(汉明码校验冗余),2007年1月,RAID 3,用一个校验盘,2007年1月,RAID 4(Block-Level Parity),2007年1月,RAID 4,和RADI3相比较,RAID4基于大的块校验,2007年1月,RAID 5,2007年1月,RAID 5,解决了RAID4校验盘不可靠性问题,2007年1月,试验,实现SSTF算法和SCAN算法要求给出任意的输入流、计算平均寻道长度。输入流长度、磁头移动方向可定制。测试:设有100各磁道,访问序列如下:23,5,98,14,66,25,78,34,66,74,56,87,12,39,71,49,58当前磁头在50道,上次访问的磁道是18道。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号