版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章I/O设备管理§5.1I/O设备§5.2I/O控制方式§5.3设备分配§5.4缓冲管理§5.5I/O处理过程§5.6磁盘存放管理器第1页§5.1I/O设备OS设备管理中设备指外部设备,包含输入设备与输出设备,即除主机(CPU+内存)之外全部设备。I/O性能经常成为整个系统性能瓶颈,CPU性能并不等于系统性能,CPU性能越高,与I/O差距越大。OS庞大复杂原因之一就是外设资源多而杂,种类繁多,结构各异,速度差异很大。第2页§5.1I/O设备外存设备:软硬盘、光盘输入:键盘、鼠标、话筒计算机人机通信、扫描仪外部设备设备数码相机、数字摄像机输出:显示器、打印机、喇叭输入输出设备绘图仪计算机与计算机间通信设备:机机通信Modem、路由器、网卡设备计算机与非计算机间通信设备:数据采集设备,自动控制设备第3页一、计算机设备分类§5.1I/O设备基于设备工作特征:
外部存放设备(长久保留信息,可随时访问,如磁盘、磁带)
输入/输出设备(字符设备,以单个字符为单位存放、传输信息,如显示器、键盘、打印机等)第4页§5.1I/O设备基于设备隶属关系:
—系统设备(普通是标准设备)(OS生成时就配置在系统中标准设备,如:键盘、鼠标、显示器、终端等)
—用户设备(普通为非标准设备)(设备处理程序由用户提供,需另外安装,如:扫描仪、A-D/D-A转换设备等)第5页§5.1I/O设备基于设备分配特征:
—独占设备(使用含有排它性,低速I/O设备)
—共享设备(可由多个用户程序交替使用,如硬盘)
—虚拟设备
(模拟独占设备为共享设备,即将慢速独占设备经软件技术改造成为多个进程能够共享设备,经典如SPOOLing技术)第6页§5.1I/O设备基于信息组织和处理方式:
—字符设备(信息以字符为单位来组织和分配;系统中大部分均属这类,如打印机、键盘、显示器等;特点是速度慢,也称慢速设备)
—块设备(信息以块为单位来组织和分配;如磁盘、磁带等;特点是速度快,也称快速设备)第7页二、设备管理目标与功效§5.1I/O设备1.设备管理目标:提升系统资源利用率多道程序环境下,资源数总是少于进程数。需合理分配设备资源,并使外设与外设、外设与CPU并行工作,使设备尽可能处于忙碌状态。方便用户使用对于各种各样外设,为用户提供便利、统一使用界面。
OS把各种外设物理特征隐藏起来,把各种外设详细操作方式隐藏起来,由OS面对;而让用户面正确是使用方便设备,这么就可使用户摆脱繁琐编程负担。第8页§5.1I/O设备2.设备管理功效:提供用户接口:提供一组I/O命令,即用户使用外设接口,用户在程序中经过这些命令使用外设。进行设备分配与回收:OS中I/O管理程序负责接收用户使用外设请求、分配设备、回收设备。
实现真正I/O操作:OS依据用户请求,经过详细设备驱动程序,开启外设,进行实际I/O操作;操作完成就通知用户进程,由设备中止服务程序完成善后工作。其它功效:管理缓冲区,CPU与I/O设备经过缓冲区传送数据,以处理高速CPU与慢速外设之间矛盾。OS有专门软件管理缓冲区分配与回收。第9页§5.2I/O控制方式一、设备控制器
每种I/O设备都要经过设备控制器与CPU相连。设备控制器是CPU与I/O设备间接口,处于CPU与外设之间。系统总线CPU内存磁盘控制器打印机控制器HD打印机…微机I/O设备经过总线与CPU连接第10页设备控制器基本功效
接收和识别命令2)数据交换3)标识和汇报设备状态4)地址识别5)数据缓冲6)差错控制第11页§5.2I/O控制方式设备控制器组成第12页§5.2I/O控制方式设备控制器经过自己内部存放器与CPU通信数据存放器存放传输来数据状态存放器存放外设状态,供CPU测试控制存放器存放CPU发出操作命令与参数OS把命令以及参数写入控制存放器,外设据此实现I/O设备控制器接收CPUI/O命令后,就独立于CPU控制外设去完成命令指定任务,这时外设与CPU并行,即在外设I/O同时,CPU在运行其它进程。第13页§5.2I/O控制方式外设完成所要求I/O任务后,要通知CPU。I/O控制方式有四种:早期采取“被动式”,控制器设置一个完成标志,等候CPU来查询,即程序直接控制方式。现在采取“主动式”,即经过中止方式主动通知CPU,让CPU来进行处理,即中止控制方式。
直接存放器存取方式(DMA)和通道控制方式也是基于中止主动型数据传输控制方式。第14页§5.2I/O控制方式二、程序直接控制方式向控制器发读命令读控制器状态检验状态从控制器中读入字向存放器中写字传送完成?犯错未就绪未完成完成下条指令CPU→I/OI/O→CPUI/O→CPUCPU→内存就绪以读为例,说明程序直接控制I/O方式第15页§5.2I/O控制方式评价:在程序I/O方式中,因为CPU高速与I/O设备低速,使得CPU绝大部分时间,都处于等候外设完成数据I/O循环测试之中,造成CPU极大浪费。另外,CPU与I/O设备只能串行工作,整个计算机系统效率低下。第16页§5.2I/O控制方式三、中止方式以读为例,说明中止控制I/O方式向控制器发读命令读控制器状态检验状态从控制器中读入字向内存中写字传送完成?犯错未完成完成下条指令CPU→I/OI/O→CPUI/O→CPUCPU→内存就绪CPU做其它事中止完成信号第17页§5.2I/O控制方式中止方式说明:1.某一进程处于执行状态,经过CPU向外设控制器发出I/O指令;该进程随即阻塞,等候I/O完成;
OS马上将CPU调度给其它进程使用;而外设控制器得到指令后,就独立于CPU进行指令要求操作;如此,CPU与I/O并行工作。2.当外设I/O操作完成,设备控制器马上向CPU发中止完成信号;
CPU接到信号响应该中止,马上转中止处理程序;由中止处理程序把数据从设备控制器传送到内存。3.被阻塞进程在I/O完成后,状态即转变为就绪,等候OS调度,以执行余下程序。第18页§5.2I/O控制方式四、直接存放器存取方式以上介绍程序控制方式和中止方式,主机与外设进行数据传送都是以CPU为中心组织。CPUI/O设备内存DMA(DirectMemoryAccess)DMA方式在外设与内存之间开辟了直接交换数据通路,使用于磁盘等高速I/O设备。在DMA控制器控制下,内存和外设直接进行成批数据快速传送,不需要CPU加入。形成了以内存为中心组织数据传送。内存CPUI/O设备第19页§5.2I/O控制方式DMA传输数据步骤:1.一进程请求设备I/O,CPU做以下事:内存起始地址→DMA控制器地址存放器传输字节数→DMA控制器字节计数器开启DMA控制器2.该进程阻塞,等候I/O完成3.DMA与内存进行数据传输,成批数据传送由字节计数器计算控制4.传输完,向CPU发中止完成信号5.CPU接收DMA中止请求,转中止处理程序6.数据传送完成,唤醒被阻塞进程第20页§5.2I/O控制方式第21页§5.2I/O控制方式五、通道方式通道介绍:独立于CPU、专门用作管理I/O处理机,控制设备与内存直接进行数据交换通道有自己指令系统,数量不多,仅包括读、写、查询、控制等功效;用以编写通道程序采取通道系统中,主机与通道相连,通道与设备控制器相连,设备控制器与设备相连第22页§5.2I/O控制方式CPU通道设备控制器设备控制器设备设备设备设备…第23页§5.2I/O控制方式通道方式工作步骤:一进程提出I/O请求,CPU把数据传输任务交给通道(指明操作方向、设备号、通道号)该进程阻塞,CPU随即被调度给其它进程通道按CPU发来开启命令,调用通道程序执行(这时通道与CPU并行工作),外设在通道程序要求下,与内存交换数据数据传输完成,通道向CPU发中止请求CPU响应中止,转中止处理程序,对I/O作善后处理,唤醒被阻塞进程成就绪态。第24页§5.3设备分配在OS统一管理下,用户进程使用设备,须先提出I/O请求,由OS设备管理程序进行分配。设备分配与以下原因相关:设备属性系统采取分配算法与设备无关性标准设备分配安全性第25页§5.3设备分配一、设备属性1.独占设备:使用上含有排它性设备,如打印机。分配策略:系统一旦将该类设备分配给指定进程,就由它独占使用,直到用毕释放。2.共享设备:如磁盘,这类设备可由多个进程同时使用,在时间上则是交叉对设备进行存取访问。系统对共享设备不进行分配,而是对这一类I/O请求进行调度。第26页§5.3设备分配3.虚拟设备:在大容量磁盘支持下,用软件技术对独占设备进行改造,使得用户在使用独占设备时,感觉上认为不用同其它进程竞争,便可方便地取得独占设备。
Spooling技术就是一个经典实现虚拟设备系统。第27页§5.3设备分配二、Spooling技术什么是Spooling:引入了多道程序技术后,利用其中一道程序,来模拟脱机输入时外围控制机功效,把低速I/O设备上数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围控制机功效,把数据从磁盘传送到低速输出设备上。在主机直接控制下,实现脱机输入、输出功效,这种在联机情况下实现同时外围操作称为SPOOLing,或称为假脱机操作。
第28页§5.3设备分配输入井输出井输出设备SPOOLing系统工作示意磁盘输入设备输入进程输出缓冲区输出进程输入缓冲区内存第29页§5.3设备分配SPOOLing系统由3部分组成:输入井与输出井
硬盘上2大存放空间
—输入井:用于收容I/O设备输入数据
—输出井:用于收容用户程序输出数据输入缓冲区与输出缓冲区
内存中开辟2个缓冲区
—输入缓冲区:用于暂存由输入设备送来数据,以后再传送输入井
—输出缓冲区:用于暂存由输出井送来数据,以后再传送输出设备第30页§5.3设备分配输入程序与输出程序
—输入进程将用户要求输入数据,从输入设备
输入缓冲区
输入井,当CPU需要输入数据时,直接从输入井读入内存。
—输出进程将用户要求输出数据,从内存
输出井
输出缓冲区(当输出设备空闲时)
输出设备。第31页§5.3设备分配系统对用户请求处理当用户请求打印输出时,SPOOLing系统中输出进程做以下2件事:A)
在输出井申请一空闲盘块区
将要打印数据送入其中B)
为用户申请空白用户请求打印表
将用户打印请求填入表中
把该表挂到请求打印队列上。如还有其它进程提出打印请求,系统一概接收请求,一样做上述2件事。以共享打印机为例说明SPOOLing系统工作过程第32页§5.3设备分配系统对详细输出处理
如打印机空闲,输出进程做以下操作:
从请求打印队列队首取出请求打印表
将打印数据从输出井送内存输出缓冲区
打印机执行打印操作
打印完即检验打印队列是否还有请求表
若有,取出现时队首请求表,继续上述操作若无,即打印队列空,输出进程阻塞自己
等再有打印请求才被唤醒第33页§5.3设备分配SPOOLing系统特点:将独占设备改造为共享设备,实现了虚拟设备功效。OS以大容量共享设备—磁盘、多道程序技术为依靠,用软件技术来改造独享设备,使用户在感觉上认为他们使用是共享设备。宏观上看,多个进程能同时使用一台独占设备,从每一个进程看,都认为自己独占了一个设备(逻辑设备)。提升了I/O速度。从请求打印进程角度看,其输出数据实质上是送到输出井,极其快速。
第34页§5.3设备分配三、设备分配方法设备分配2种方式:静态分配方式在用户进程创建时,OS便一次性地把进程运行所要求全部设备都分配给它,并由该进程占有,直到进程撤消。不会死锁,但设备利用率极其低下。动态分配方式在进程执行过程中,随时依据需要,向系统提出设备请求,由系统依据一定算法给进程分配设备,用户进程用完设备,即予释放。有利于提升设备利用率,但分配不妥即有死锁可能。第35页§5.3设备分配动态分配算法:先来先服务对于多个请求某类设备用户进程,系统按其发出请求先后次序,使它们在设备请求队列里排队,并把设备分配给队列前列者。优先级高者优先进入设备请求队列进程,按优先级排队,优先级相同,则按抵达先后排,系统总是把设备分配给队列首进程使用。第36页§5.3设备分配四、设备无关性(设备独立性)基本含义:
应用程序独立于详细使用物理设备。用户程序中要用到外设时,不须指定详细哪一台设备,而用逻辑设备名来代替,这么用户程序就与实际使用物理设备无关;执行程序时,由系统进行逻辑设备到详细物理设备转换。第37页§5.3设备分配与设备无关性带来好处:假如在程序中指定详细物理设备,则当该设备已经分配,或正在维修,而此时尽管有同类设备空闲,可供分配,则该进程也只能阻塞等候。易于实现I/O重定向。在编程时不详细指定详细物理设备,当系统中设备变更,用户程序就不用修改。第38页§5.3设备分配五、设备管理采取数据结构系统设备表SDT(SystemDeviceTable)整个系统一张,统计了系统中全部外设,每类设备占一个表项。设备控制表DCT(DeviceControlTable)系统中每台设备一个,其中随时统计了该设备基本信息(设备状态、等候使用该设备阻塞进程等)。控制器控制表COCT通道控制表CHCT第39页§5.3设备分配I/O过程中,OS从SDT内查得某设备表目,然后再转到DCT取得详细设备信息。SDT第40页§5.4缓冲管理
OS采取缓冲是为了实现数据I/O操作,缓解CPU与外部设备之间速度不匹配矛盾,提升资源利用率。凡是数据抵达和离去速度不匹配地方均可采取缓冲技术,几乎全部外设在与CPU交换数据时,都使用了缓冲区。第41页§5.4缓冲管理实现缓冲2种方法:
—硬缓冲:在设备中设置缓冲区,安置硬件存放器,如设备控制器中数据存放器
—软缓冲:在内存中开辟一个空间,作为专用I/O缓冲区,存放I/O数据
主要采取软缓冲第42页§5.4缓冲管理缓冲四种类型单缓冲为I/O设备设置单个缓冲区产生数据进程与接收数据进程不直接传递,而是经过单个缓冲。缓冲区发送数据接收数据缺点:发送者与接收者不能并行工作。发送者与接收者速度不匹配,造成大量等候时间。第43页§5.4缓冲管理双缓冲为I/O设备设置两个缓冲区发送者和接收者可交替使用2个缓冲区,这么,发送和接收可并行工作。当二者速度相差很大时,还是有等候现象出现。缓冲区1发送数据接收数据缓冲区2第44页§5.4缓冲管理多缓冲为相同类型I/O设备设置两个公共缓冲队列,一个用于输入,另一个用于输出。当输入设备进行输入时,就取输入缓冲队列指针所指向缓冲使用,设备用完后偿还缓冲。指针则前行指向下一个,整个缓冲队列循环使用。当输出设备进行输出时,就取输出缓冲队列指针所指向缓冲使用,用完后偿还缓冲。缓冲区输入缓冲指针缓冲区缓冲区缓冲区缓冲区输出缓冲指针缓冲区缓冲区缓冲区……第45页§5.4缓冲管理缓冲池整个缓冲区由n个单位缓冲组成,每个缓冲既可用于输入,也可用于输出;全部单位缓冲可供多个进程共享。有4个基本工作方式:收容输入、提取输入、收容输出、提取输出有4种工作缓冲:hin、sin、hout、soutCPU输入设备输出设备缓冲池收容输入提取输出提取输入收容输出hinsinsouthout……第46页§5.5I/O处理过程依据OS提供命令形式,由用户程序发出I/O请求;I/O管理程序(与设备无关系统软件)接收请求;实现抽象接口到物理接口转化,独立于详细设备;设备驱动程序详细完成要求I/O操作;设备中止处理程序处理该请求。第47页§5.5I/O处理过程I/O软件按分层思想组成。较低层软件要使较高层软件独立于硬件特征;较高层软件则要向用户提供一个简单、功效更强接口,让用户能方便使用外设。第48页§5.5I/O处理过程用户进程I/O管理程序设备驱动程序…READ(input,buffer,n)…buffer(缓冲区)—阻塞调用进程—验证I/O请求—调用驱动程序—校验设备状态—激活调用进程I/O请求—初始化并开启I/O—设备控制器完成I/O—全部完成返回I/O管理程序—驱动程序阻塞中止处理程序外设主机中止完成信号调用中止程序—唤醒驱动程序—保护中止现场—设备中止处理程序—恢复现场—未全完成再次调用驱动程序第49页§5.5I/O处理过程一、I/O请求提出I/O请求来自于用户进程。假设程序中命令形式为:
READ(input,buffer,n)即从输入设备input读入n个数据到buffer所指缓冲区OS即依据命令调用I/O管理程序,并将命令中参数传递给I/O管理程序第50页§5.5I/O处理过程二、OS对I/O请求管理I/O管理程序负责管理用户I/O请求。I/O管理程序有3方面功效:
—接收用户I/O请求
—把I/O请求交设备驱动程序实际完成
—I/O完成后善后处理第51页§5.5I/O处理过程详细步骤:接收用户进程I/O请求用户请求进程阻塞,进入相关阻塞队列,等候I/O完成如设备空闲,就分配给该进程使用调用对应设备驱动程序,控制转移到驱动程序,由驱动程序完成详细I/O操作I/O操作完成,控制返回I/O管理程序把等候I/O完成进程状态由阻塞改为就绪,参加CPU竞争
第52页§5.5I/O处理过程三、I/O详细实现设备驱动程序是直接驱动I/O设备进行输入输出操作软件,它属于与设备控制器直接联络I/O软件部分。驱动程序+设备中止处理程序当I/O管理程序调用设备驱动程序后,控制就转移到驱动程序,其操作以下:读设备状态,如空闲,就向设备发出I/O硬指令,开启一个I/O操作
[多道程序环境里,驱动程序一旦开启I/O操作,就让出CPU控制权,这么外设进行I/O同时,CPU就脱身做其它事情,此即I/O与CPU并行操作]设备完成一次I/O操作,发中止完成信号给CPU,CPU即调用该设备中止处理程序
第53页§5.5I/O处理过程
中止处理程序被调用,即做以下事情:保护中止现场按I/O请求传输数据(如是输入操作,就把外设刚输入数据送入指定缓冲区)判断I/O是否完成:
—如未完成,则再次调用驱动程序,开启外设,又一次输入/输出
—如已完成,则从驱动程序转I/O管理程序,进行I/O善后工作恢复现场第54页§5.5I/O处理过程例:读硬盘文件用户程序发命令,读一硬盘文件I/O管理程序接收请求调用设备驱动程序,向I/O硬件发请求用户进程阻塞,等候读操作完成磁盘操作完成,硬件发中止完成信号转入中止处理程序中止处理程序查中止原因查得磁盘读操作完成,唤醒用户进程取回读得信息用户进程得到所需文件后,继续运行第55页磁盘结构磁盘由两部分组成:盘片,存放信息载体;驱动器,包含磁头、读/写电路、机械部分磁盘特点:存放容量大,存取速度快,能随机存取一个磁盘由一个或多个盘片组成,每个盘片有2个盘面;每个盘面一个读/写磁头,进行内外运动;§5.6磁盘存放器管理第56页柱面扇区磁臂磁头第57页磁盘地址由柱面号、磁头号、扇区号组合而成。柱面:每个盘面有许多同心圆组成磁道,从0开始由外向里次序编号,不一样盘面上相同编号磁道形成一个柱面。磁头:每个盘面所对应读/写磁头由上到下次序编号,从0始。扇区:每条磁道分成若干个扇区,每个扇区存放信息存放量相等。每个扇区大小相当于一个盘块。盘块是磁盘与内存进行信息交换基本单位。柱面扇区第58页柱面扇区磁盘工作概况:为完成一个磁盘I/O任务,依据给定地址先把移动臂(磁头)移动到某柱面(磁道);等候指定扇区旋转到磁头位置下;让指定磁头进行读/写。如此,一次磁盘I/O需花费:寻道时间:磁头移动到磁道;等候时间:扇区转到磁头;传输时间:磁头读/写。为提升磁盘效率,关键在于移动臂调度,即移臂调度,也叫磁盘调度。移动臂第59页§5.6磁盘存放器管理磁盘调度:依据用户磁盘I/O指令指定磁道位置,来决定请求执行次序调度。目标:尽可能降低寻道时间,即降低移动臂移动距离。磁盘调度策略:先来先服务(FCFS)策略最短寻道时间优先(SSTF)策略扫描(SCAN)策略(电梯策略)循环扫描(CSCAN)策略(单向扫描策略)第60页§5.6磁盘存放器管理
例:请求次序:98,183,37,122,14,124,65,67最短寻道时间优先策略:把距离磁头当前位置最近I/O请求作为下一次调度对象。扫描策略:按移动臂移动方向选择距离磁头当前位置最近I/O请求作为下一次调度对象。假如该方向上已经没有I/O请求,则改变方向再做选择。循环扫描策略:磁头从外往里移动,碰到有I/O请求就进行处理,直到抵达最终一个请求磁道,然后移动臂马上带动磁头不做任何服务地快速回到欲访问最外磁道,又开始下一次扫描。
0143753656798122124183初始位置第61页§5.6磁盘存放器管理先来先服务策略以I/O请求抵达先后作为磁盘调度次序例:假定读/写磁头开始位于53号磁道,开始调度时有若干进程提出以下磁道I/O请求:
98,183,37,122,14,124,65,67458514685108110592经计算共滑动了640个磁道;移动臂里外往返振动,效率低下。第62页§5.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江台州椒江区第三中心幼儿园总园及分园教师招聘参考考试试题及答案解析
- 2026年黔西南民族职业技术学院单招综合素质考试备考题库含详细答案解析
- 2026中国铁塔股份有限公司浙江省分公司招聘4人参考考试题库及答案解析
- 2026年石家庄城市经济职业学院单招综合素质笔试备考题库含详细答案解析
- 2026年长江职业学院高职单招职业适应性测试模拟试题及答案详细解析
- 2026年江西服装学院单招职业技能考试参考题库含详细答案解析
- 2026贵州铜仁市石阡县事业单位招聘118人参考考试试题及答案解析
- 2026贵州省市场监督管理局所属事业单位招聘23人考试参考试题及答案解析
- 2026年湖南交通职业技术学院单招综合素质考试模拟试题含详细答案解析
- 2026年广东水利电力职业技术学院高职单招职业适应性测试模拟试题及答案详细解析
- 2024中国类风湿关节炎诊疗指南课件
- 唐代皇太子教育制度与储君培养
- 2026年中国家居行业发展展望及投资策略报告
- 陕西省西安铁一中2026届高一物理第一学期期末教学质量检测试题含解析
- DB3207∕T 1046-2023 香菇菌棒生产技术规程
- 2025-2030脑机接口神经信号解码芯片功耗降低技术路线图报告
- 空调安装应急预案
- 木屋架维修施工方案
- 人工智能+技术体系变革智能物流研究报告
- 借用别人公司账户协议书
- 春节期间驾驶员安全教育
评论
0/150
提交评论