计算机操作系统---设备管理_第1页
计算机操作系统---设备管理_第2页
计算机操作系统---设备管理_第3页
计算机操作系统---设备管理_第4页
计算机操作系统---设备管理_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,计算机操作系统,制作者:张晓艳2010年5月,第四章设备管理设备管理程序的功能:(1)提供和进程管理系统的接口。(2)进行设备分类。按照设备类型和相应的分配算法把设备和其他有关的硬件分别给请求该设备的进程,并把未分配到所请求设备或其他有关硬件的进程放入等待队列。(3)实现设备和设备、设备和CPU等之间的并行操作。(4)进行缓冲管理,解决低速I/O设备与高速CPU之间传送数据不匹配问题。,4.3缓冲管理引入缓冲技术的目的改善中央处理器与外围设备之间速度不配的矛盾,凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。减少对CPU的中断频率,放宽对CPU中断响应时间的限制,提高CPU和I/O设备的并行性。,缓冲技术实现的基本思想:进程执行写操作输出数据时,向系统申请一个缓冲区,若为顺序写请求,则不断把数据填到缓冲区,直到被装满。此后,进程继续它的计算,系统将缓冲区内容写到I/O设备上。进程执行读操作输入数据时,向系统申请一个缓冲区,系统将一个物理记录的内容读到缓冲区,根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程。,在输出数据时,只有在系统还来不及腾空缓冲而进程又要写数据时,它才需要等待;在输入数据时,仅当缓冲区空而进程又要从中读取数据时,它才被迫等待。根据系统对缓冲区的不同设置,可把缓冲技术分为以下几类:单缓冲双缓冲循环缓冲缓冲池,单缓冲单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个I/O请求时,操作系统便在主存中为之分配一缓冲区,该缓冲区用来临时存放输入/输出数据。对于块设备,单缓冲机制如下工作:OS为进程分配一缓冲区,块设备输入时从磁盘把一块数据输入缓冲区的时间为T,OS将缓冲区的数据传送给用户区的时间为M,计算时间为C,则T和C时可以并行的。数据处理时间约为maxC,T+M。,对于字符设备,缓冲区用于暂存用户输入的一行数据,输入时,进程挂起等待输入完毕;输出时进程将一行数据输入到缓冲区,继续执行处理。如果前面的数据尚未提取完毕,则进程应阻塞。,工作区,用户进程,处理机,单缓冲,输入(T),传送(M),I/O设备,缓冲区属于临界资源,不允许多个进程同时对一个缓冲区操作,读、写在单缓冲上互斥发生,因此单缓冲无法实现CPU与设备的并行操作。,?,缓冲区属于临界资源,不允许多个进程同时对一个缓冲区操作,读、写在单缓冲上互斥发生,因此单缓冲无法实现CPU与设备的并行操作。,一次仅允许一个进程访问的资源称为临界资源。硬件资源如打印机、磁带机等。软件资源如共享变量、表格、队列、栈等。,?,双缓冲提高设备并行操作输入数据时,首先填满缓冲区A,操作系统可从缓冲区A把数据送到用户进程区,用户进程便可对数据进行加工计算;与此同时,输入设备填充缓冲区B。当缓冲区A空出后,输入设备再次向缓冲区1输入。操作系统又可把缓冲区B的数据传送到用户进程区,用户进程开始加工缓冲B的数据。,双缓冲,工作区,用户进程,处理机,缓冲区A,缓冲区B,I/O设备,写,读,双缓冲,工作区,用户进程,处理机,缓冲区A,缓冲区B,I/O设备,写,读,如果CT,当上一块数据计算完毕后,需把一个缓冲区中的数据传送到用户区,花费时间为M,再对这块数据进行计算,花费时间为C,所以,一块数据的传输和处理时间为C+M、即max(C,T)+M,这种情况下进程不必要等待I/O。,?,计算机系统中的外围设备较多,读/写数据速度有很大的差异,在向缓冲区读/写数据的过程中,高速设备等待的情况仍然比较严重,设备利用率比较低。,双缓冲,循环缓冲环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有一个指向下一个缓冲的指针,最后一个缓冲区的指针指向第一个缓冲区,这样n个缓冲区就成了一个环形。三种类型的缓冲区:用于装输入数据的空缓冲区R、已经装满数据的缓冲区G、以及计算进程正在访问的工作缓冲区C。设置了四个指针。,循环缓冲,Nexti:指示写进程下次可用的空缓冲区R,循环缓冲,Nextg:指示读进程下一个可用的缓冲区G,循环缓冲,Current_R:指示读进程正在使用的缓冲区,循环缓冲,Current_W:指示写进程正在使用的缓冲区,进程同步问题,(1)Nexti指针追赶上Nextg指针。这意味着进程输入数据的速度大于进程取数据的速度,已把全部缓冲区装满。此时,写进程应阻塞,直到读进程把某个缓冲区的数据全部提取完,使之成为空缓冲区R,并调用Releasebuf过程将它释放时,才将写进程唤醒。(2)Nextg指针追赶上Nexti指针这意味着读进程取数据的速度高于写进程输入数据的速度,使全部缓冲区都被抽空,读进程只能阻塞,直到写进程装满某个缓冲区,调用Releasebuf过程将它释放时,才去唤醒计算进程。,循环缓冲,循环缓冲,?,循环缓冲区仅适用于某特定的I/O进程和计算进程,属于专用缓冲,共享程度低。当系统较大时,将会有许多这样的缓冲区,这不仅要消耗大量的内存空间,而且其利用率不高。,缓冲池从自由主存中分配一组缓冲区即可构成缓池。1缓冲池的组成缓冲池中的缓冲区一般有以下三种类型:空闲缓冲区、装满输入数据的缓冲区和装满输出数据的缓冲区。为了管理将相同类型的缓冲区链成三个队列:空缓冲队列emq输入队列inq输出队列outq,除了上述三种队列外,还应具有四种工作缓区:用于收容输入数据的工作缓冲区hin;用于提取输入数据的工作缓冲区sin;用于收容输出数据的工作缓冲区hout;用于提取输出数据的工作缓冲区sout;,缓冲池,2.Getbuf过程和Putbuf过程,队列是临界资源互斥且同步信号量为使诸进程能互斥地和同步地访问缓冲池队列,可分别为每一队列设置一个互斥访问信号量S1(type),初值为1。另外一个是资源同步信号量S2(type),初值为n,表示该类缓冲区的数目。,Getbuf与Putbuf流程图,3.缓冲区的工作方式,3.缓冲区的工作方式,1)收容输入工作方式调用Getbuf(emp)emp队列的队首摘下一个空缓冲区hin输入数据调用Putbuf(inq,hin)将hin挂到inq队列的队尾2)提取输入工作方式调用Getbuf(inq)输入队列的队首摘下一个缓冲区sin提取数据调用Putbuf(emp,sin)将sin挂到emp队列的队尾3)收容输出工作方式调用Getbuf(emp)emp队列的队首摘下一个空缓冲区hout输出数据调用Putbuf(outq,hout)将hout挂到outq队列的队尾4)提取输出工作方式调用Getbuf(outp)输出队列的队首摘下一个缓冲区hin提取数据调用Putbuf(emp,sout)将sout挂到emp队列的队尾,设备分配的总原则(1)既要充分发挥设备的使用效率,又要避免由于不合理的分配方法而造成进程死锁(2)实现设备的独立性,即把用户程序和具体物理设备隔离开来。,4.4设备分配,系统分配时要考虑的因素1.设备分配方式静态分配方式不会出现死锁设备利用率低,一般不使用动态分配方式提高了设备利用率,但可能造成死锁1)先请求先分配2)优先级高者先分配,系统分配时要考虑的因素2.设备特性独占设备独享分配策略(静态分配)设备利用率低共享设备虚拟设备同时分配给多个进程使用(动态分配)合理调度访问次序,系统分配时要考虑的因素3.设备分配中的安全性安全分配方式摒弃了“请求和保持”条件CPU与I/O设备串行工作,进程进展缓慢不安全分配方式一个进程可同时操作多个设备,进程推进迅速可能造成死锁,应进行安全性计算,设备分配中的数据结构1.设备控制表DCT,设备分配中的数据结构2.系统设备表SDT,设备分配中的数据结构3.控制器控制表COCT,设备分配中的数据结构4.通道控制表CHCT,设备分配算法,设备分配算法,单通路I/O,多通路I/O,设备独立性应用程序独立于具体使用的物理设备设备分配时的灵活性易于实现I/O重定向,逻辑设备表(LUT),用于单用户系统,用于多用户系统,4.5设备虚拟性,脱机输入输出增加不与主机相连而专门用于输入/输出的外围计算机SPOOLing(SimultaneousPeripheralOperationsOn-line外围设备同时联机操作)假脱机操作,SPOOLing系统的组成,(1)提高了I/O的速度(2)将独占设备改造成了共享设备(3)实现了虚拟设备功能,SPOOLing系统的特点,SPOOLing系统的应用共享打印机,设备处理是通过设备处理程序来实现的,通常又称为设备驱动程序。它是I/O进程和设备控制器之间的通信程序,常以进程的形式被CPU调度。,4.6设备处理过程,设备驱动程序的特点(1)驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序。它将进程的I/O请求传送给控制器,而把设备控制器中所记录的设备状态、I/O操作完成情况,反映给请求I/O的进程。(2)驱动程序与I/O设备的特性紧密相关。一般情况下,各类设备包括不同厂家生产的同一类设备都采用不同的驱动程序。目前有很多驱动程序,其基本部分已经固化,放在ROM中。(3)根据不同的I/O控制方式,驱动程序驱动设备完成相应的I/O工作。,设备驱动程序的主要功能(1)将接收到的抽象要求转换为具体要求。(2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。(3)发出I/O命令,启动分配到的I/O设备,完成指定的I/O操作。(4)及时响应由控制器或通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论