您好,欢迎访问三七文档
计算机操作系统主讲教师:曹建秋贺清碧课程主要内容☞操作系统引论(1章)☞进程管理(2-3章)☞存储管理(4章)☞设备管理(5章)☞文件管理(6章)☞操作系统接口(7章)☞系统安全性(9章)☞*分布式操作系统第5章设备管理I/O系统I/O控制方式缓冲管理设备分配设备处理磁盘存储器管理*UNIX系统中的设备管理本章作业5.1I/O系统I/O设备设备控制器I/O通道I/O系统的总线系统I/O系统的结构I/O系统的组成:I/O设备、设备控制器、I/O通道*、总线及相应软件5.1.1I/O设备1、I/O设备的类型系统设备1)按设备的从属关系分类用户设备系统设备:在OS生成时就已登记在系统中的标准设备,如键盘、显示器、打印机等。用户设备:在OS生成时未登记在系统中的非标准设备,如鼠标、绘图仪、扫描仪等。独享设备2)按使用方式/共享属性分类共享设备虚拟设备独享/独占设备:在一段时间只允许一个用户进程访问的设备。多数低速设备属此类,打印机就典型的独享设备。共享设备:在一段时间只允许多个用户进程同时访问的设备。磁盘就典型的共享设备。虚拟设备:指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。低速设备3)按传输速率分类中速设备高速设备低速设备:传输速率仅为每秒钟几个字节至数百个字节的设备。典型的有:键盘、鼠标、语音的输入/输出等。中速设备:传输速率仅为每秒钟数千个字节至数数万个字节的设备。典型的有:打印机等。高速设备:传输速率仅为每秒钟数百千个字节至数十兆字节的设备。典型的有:磁盘机、磁带机、光盘机等。块设备4)按信息交换的单位分类字符设备块设备:信息交换的基本单位为字符块,属于有结构设备,块大小一般为512B---4KB,典型的有:磁盘、磁带等。字符设备:信息交换的基本单位为字符,典型的有:键盘、打印机和显示器等。2、设备与控制器之间的接口(P145图5-1)三种信号线5.1.2设备控制器设备控制器是处于CPU与I/O设备之间的接口,接收CPU发来的命令,并控制I/O设备工作,是一个可编址设备。功能:接收和识别命令、实现数据交换、了解设备状态以及识别设备地址。设备控制器的组成设备控制器与处理机的接口设备控制器与设备接口I/O逻辑寄存器:控制寄存器(存放命令及参数)、数据寄存器(存放数据)、状态寄存器(记录设备状态).设备控制器的组成数据寄存器控制、状态寄存器I/O逻辑控制器与设备接口1控制器与设备接口iCPU与控制器接口控制器与设备接口数据线地址线控制线数据状态控制数据状态控制......5.1.3I/O通道根据信息交换方式的不同,通道可分成以下几种类型:字节多路通道数组选择通道数组多路通道注:“瓶颈”问题字节多路通道其工作原理:数据传送是按字节交叉方式工作。1)有一个主通道。2)含有多个子通道A、B、C……3)每子通道通过一控制器与一台中/低速的I/O设备相连,可同时并行向主通道传数据。4)各子通道以时间片轮转方式按字节交叉使用主通道。优点:可连多台中/低速设备;能分时并行操作。缺点:传输率较低。数组选择通道数据传送是按成组方式进行工作,每次传输一批数据。主要用于连接高速I/O设备。1)有一个主通道2)含有多个子通道A、B、C……3)每子通道通过一控制器与一台中/低速的I/O设备相连,在一段时间内只能选择一个子通道程序执行。优点:可连多台高速设备;传输率较高。缺点:某子通道不传数据,而使主通道闲置,其它子通道也不能传数据。所以通道的利用率很低。数组多路通道数据传送仍是按数组方式工作。工作原理(结合两者:并行+数组)1)有一个主通道2)含有多个子通道A、B、C……3)每子通道通过一控制器与一台高/中速的I/O设备相连,可同时并行向主通道传数据。4)各子通道以时间片轮转方式按数组方式使用主通道。优点:可连多台高/中速设备;能分时并行操作,传输率较高。“瓶颈”问题存储器通道1通道2控制器1控制器2控制器3控制器4设备1设备2设备3设备4设备5设备6设备7单通路I/O系统解决“瓶颈”问题的方法-多路方式通道2设备1设备2设备3设备4存储器通道1控制器1控制器2多通路I/O系统5.1.5I/O系统的结构CPU存储器磁盘控制器打印机控制器其它控制器磁盘驱动器打印机微型机I/O系统结构---总线型计算机I/O通道1I/O通道2控制器控制器控制器控制器主机I/O系统—具有通道设备5.2I/O控制方式常用的输入/输出控制方式:1、程序控制方式2、中断控制方式3、直接存储器访问DMA方式4、通道控制方式1、程序直接控制方式处理机对I/O的控制采用程序直接控制方式。工作原理:主程序设备是否“准备就绪”传送数据否特点:控制简单,但CPU的利用率低(串行),出现忙等待(循环等待设备的I/O操作)--即轮询(Polling)问题-----I/O中断继续主程序控制设备状态的控制位1)command-ready(等待命令)2)Busy(忙)3)Error(错误)2、中断控制方式1)需数据的进程向CPU发出指令启动I/O设备输入数据。2)该进程放弃处理机,等待输入完成。3)输入完成后,I/O控制器向CPU发出中断请求,CPU收到后,转向中断服务程序。中断服务程序将数据输入寄存器中的数据送指定内存单元,并将原进程唤醒,继续执行。4)在以后,该进程再被调度,从内存单元取出数据进行处理。优点—CPU利用率大大提高(可以与I/O设备并行工作)。缺点---若中断次数较多将耗去大量CPU处理时间。3、DMA方式1)需数据的进程向CPU发出指令,向DMA控制器写入数据存放的内存始址、传送的字节数,并置中断位和启动位,启动I/O设备输入数据并允许中断。2)该进程放弃处理机等待输入完成,处理机被其它进程占据。3)DMA控制器采用挪用CPU周期,将一批数据写入内存中。4)DMA控制器传送完数据后,向CPU发中断请求,CPU响应后转向中断服务程序,唤醒进程,并返回被中断程序。5)在以后该进程再被调度,从内存单元取出数据进行处理。优点—CPU利用率进一步提高(并行度有所提高)。缺点—数据传送方向、字节数、内存地址等需由CPU控制,且每一设备需一台DMA控制器,设备增多时,不经济。4、通道控制方式1)需数据的进程向CPU发出指令,CPU发启动指令指明I/O操作、设备号和对应的通道。2)该进程放弃CPU等待输入完成,CPU被其它进程占据。3)通道接收到CPU发来的启动指令后,取出内存中的通道程序执行,控制设备将数据传送到内存指定区域。4)传送完数据后,通道向CPU发中断请求,CPU响应后转向中断服务程序,唤醒进程,并返回被中断程序。5)在以后该进程再被调度,从内存取出数据进行处理。优点—一个通道可控制多设备,所需CPU干预更少。CPU利用率较高(并行度较高)。缺点:通道价格较高。5.3缓冲管理1、提高处理机与I/O设备的并行工作的技术:1)数据传送控制方式2)缓冲技术2、操作系统中,引入缓冲的主要原因1)缓冲CPU与I/O设备间速度不匹配的矛盾。2)减少中断CPU的次数、3)提高CPU与I/O设备的并行性3、缓冲实现方法两种:1)采用硬件缓冲器实现2)用软件缓冲区来实现缓冲就是用来对数据传送速度不同的设备的传送速度进行匹配/缓冲的一种常用手段。其实现方法除在关键地方可采用硬件缓冲器外,大都采用软件缓冲来实现。软件缓冲区是指在I/O操作期间,专门用来临时存放输入/输出数据的一块存储区域。4、缓冲技术的分类单缓冲双缓冲循环缓冲缓冲池5.3缓冲管理单缓冲在设备和处理机之间设置一个缓冲。设备与处理机交换数据时,先把交换的数据写入缓冲区,然后需要数据的设备/处理机再从缓冲区中取走数据。特点:缓冲区数只有一个;设备与处理机对缓冲区的操作是串行的。用户进程操作系统传送输入I/O设备一块数据的处理时间在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间T,CPU对一块数据进行处理的时间为C,将缓冲区的数据传送到用户区所花时间为M,那么在单缓冲情况下,系统处理大量数据时,一块数据的处理时间为多少?用户进程操作系统传送输入I/O设备TMCMax(T,C)+MP156图5-11双缓冲在设备和处理机之间设置2个缓冲。设备与处理机交换数据时,先把交换的数据写入缓冲区,然后需要数据的设备/处理机再从缓冲区中取走数据。因缓冲区有2个,提高了设备与处理机并行操作的程度,只有当两个均为空时,需数据的进程才等待。特点:缓冲区数有2个;设备与处理机对缓冲区的操作可并行,提高了设备与处理机并行操作的程度。用户进程操作系统传送输入I/O设备一块数据的处理时间在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间T,CPU对一块数据进行处理的时间为C,将缓冲区的数据传送到用户区所花时间为M,那么在双缓冲情况下,系统处理大量数据时,一块数据的处理时间为多少?TMC当CT:C+M即MAX(C,T)+M当CT:MAX(C,T)图5-12用户进程操作系统传送输入I/O设备循环缓冲在设备和处理机之间设置多个大小相等的缓冲区,这些缓冲区构成环形,每一个缓冲区中含一指针指向下一个缓冲区,最后一个指向第一个缓冲区,同时还含有2个用于输入/输出的指针IN和OUT。特点:缓冲区数有多个;设备与处理机对缓冲区的操作可并行,进一步提高了设备与处理机并行操作的程度。RGGGGR123456NextiNextgRGGGGR123456NexticurrentNextg循环缓冲的组成循环缓冲•缓冲区的使用•Getbuf过程•Releasebuf过程•进程同步•Nexti指针追赶上Nextg指针—输入进程阻塞•Nextg指针追赶上Nexti指针—计算进程阻塞1、缓冲池:将系统内所有的缓冲区统一管理起来,就形成了能用于输入/输出的缓冲池。缓冲池通常由若干大小相同的缓冲区组成,是系统的公用资源,任何进程都可以申请使用缓冲池中的各个缓冲区。2、缓冲池的组成(数据结构)三个队列:空缓冲队列、装满输入数据队列、装满输出数据队列四个工作缓冲区:收容输入缓冲区、提取输入收容输出、提取输出缓冲区缓冲池3、getbuf过程和putbuf过程ProcedureGetbuf(type)beginwait(rs(type));wait(ms(type));B(number):=Takebuf(type);signal(ms(type);end缓冲池Procedureputbuf(type)beginwait(ms(type));Addbuf(type,number);signal(ms(type);signal(rs(type);end4、操作系统对缓冲池的管理--工作方式hinsinsouthout用户程序缓冲池提取输入收容输出提取输出收容输入缓冲区的工作方式输入进程需要输入数据时:输入设备收容输入缓冲区-Getbuf(emq)1)从空缓冲队列的队首取一空缓冲区用作收容输入缓冲区2)输入设备将数据输入收容输入缓冲区并装满3)将此缓冲区挂到装满输入数据队列队尾。计算进程需要输入数据时:提取输入缓冲区CPU-Getbuf(inq)1)从装满输入数据队列队首取一满缓冲区用作提取输入缓冲区2)CPU从提取输入缓冲区中取出数据至用完3)将空缓冲区挂到空缓冲队列队尾。4、操作系统对缓冲池的管理--工作方式计算进程需要输出数据时:CPU收容输出缓冲区-getbuf(emq)1)从空缓冲队列队首取一空缓冲区用作收容输出缓冲区2)CPU将数据输入其中并装满3)将收容输出缓冲区挂到装满输出数据队列队尾。输出进程需要输出数据时:提取输出缓冲区-输出设备-getbuf(outq)1)从装满输出数据队列队首取一满缓冲区用作提取输出缓冲区2)输出设备从中取出数据至用完3)将空缓冲区挂到空缓冲队列队尾4、操作系统对缓冲池的管理--工作方式5.4设备分配●设备分配中的数据结构●设备分配的策略/应考虑的因素●设备独立性●设备分配程序●SPOOLING技术7.4.1设备分配中的数据结构设
本文标题:虚拟存储器
链接地址:https://www.777doc.com/doc-30709 .html