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

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

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

1、,计算机操作系统,制作者:张晓艳 2010年5月,第四章 设备管理设备管理程序的功能:(1)提供和进程管理系统的接口。(2)进行设备分类。按照设备类型和相应的分配算法把设备和其他有关的硬件分别给请求该设备的进程,并把未分配到所请求设备或其他有关硬件的进程放入等待队列。(3)实现设备和设备、设备和CPU等之间的并行操作。(4)进行缓冲管理,解决低速I/O设备与高速CPU之间传送数据不匹配问题。,4.3 缓冲管理 引入缓冲技术的目的 改善中央处理器与外围设备之间速度不配的矛盾,凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。减少对CPU的中断频率,放宽对CPU中断响应时间的限制,提高CPU和I

2、/O设备的并行性。,缓冲技术实现的基本思想:进程执行写操作输出数据时,向系统申请一个缓冲区,若为顺序写请求,则不断把数据填到缓冲区,直到被装满。此后,进程继续它的计算,系统将缓冲区内容写到I/O设备上。进程执行读操作输入数据时,向系统申请一个缓冲区,系统将一个物理记录的内容读到缓冲区,根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程。,在输出数据时,只有在系统还来不及腾空缓冲而进程又要写数据时,它才需要等待;在输入数据时,仅当缓冲区空而进程又要从中读取数据时,它才被迫等待。根据系统对缓冲区的不同设置,可把缓冲技术分为以下几类:单缓冲 双缓冲 循环缓冲 缓冲池,单缓冲 单缓冲是操作系

3、统提供的最简单的一种缓冲形式。每当一个进程发出一个I/O请求时,操作系统便在主存中为之分配一缓冲区,该缓冲区用来临时存放输入/输出数据。对于块设备,单缓冲机制如下工作:OS为进程分配一缓冲区,块设备输入时从磁盘把一块数据输入缓冲区的时间为T,OS将缓冲区的数据传送给用户区的时间为M,计算时间为C,则T和C时可以并行的。数据处理时间约为 maxC,T+M。,对于字符设备,缓冲区用于暂存用户输入的一行数据,输入时,进程挂起等待输入完毕;输出时进程将一行数据输入到缓冲区,继续执行处理。如果前面的数据尚未提取完毕,则进程应阻塞。,工作区,用户进程,处理机,单缓冲,输入(T),传送(M),I/O设备,缓

4、冲区属于临界资源,不允许多个进程同时对一个缓冲区操作,读、写在单缓冲上互斥发生,因此单缓冲无法实现CPU与设备的并行操作。,?,缓冲区属于临界资源,不允许多个进程同时对一个缓冲区操作,读、写在单缓冲上互斥发生,因此单缓冲无法实现CPU与设备的并行操作。,一次仅允许一个进程访问的资源称为临界资源。硬件资源 如打印机、磁带机等。软件资源 如共享变量、表格、队列、栈等。,?,双缓冲提高设备并行操作 输入数据时,首先填满缓冲区A,操作系统可从缓冲区A把数据送到用户进程区,用户进程便可对数据进行加工计算;与此同时,输入设备填充缓冲区B。当缓冲区A空出后,输入设备再次向缓冲区1输入。操作系统又可把缓冲区B

5、的数据传送到用户进程区,用户进程开始加工缓冲B的数据。,双缓冲,工作区,用户进程,处理机,缓冲区A,缓冲区B,I/O设备,写,读,双缓冲,工作区,用户进程,处理机,缓冲区A,缓冲区B,I/O设备,写,读,如果CT,当上一块数据计算完毕后,需把一个缓冲区中的数据传送到用户区,花费时间为M,再对这块数据进行计算,花费时间为C,所以,一块数据的传输和处理时间为C+M、即max(C,T)+M,这种情况下进程不必要等待I/O。,?,计算机系统中的外围设备较多,读/写数据速度有很大的差异,在向缓冲区读/写数据的过程中,高速设备等待的情况仍然比较严重,设备利用率比较低。,双缓冲,循环缓冲 环形缓冲技术是在主

6、存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有一个指向下一个缓冲的指针,最后一个缓冲区的指针指向第一个缓冲区,这样n个缓冲区就成了一个环形。三种类型的缓冲区:用于装输入数据的空缓冲区R、已经装满数据的缓冲区G、以及计算进程正在访问的工作缓冲区C。设置了四个指针。,循环缓冲,Nexti:指示写进程下次可用的空缓冲区R,循环缓冲,Nextg:指示读进程下一个可用的缓冲区G,循环缓冲,Current_R:指示读进程正在使用的缓冲区,循环缓冲,Current_W:指示写进程正在使用的缓冲区,进程同步问题,(1)Nexti指针追赶上Nextg指针。这意味着进程输入数据的速

7、度大于进程取数据的速度,已把全部缓冲区装满。此时,写进程应阻塞,直到读进程把某个缓冲区的数据全部提取完,使之成为空缓冲区R,并调用Releasebuf过程将它释放时,才将写进程唤醒。(2)Nextg指针追赶上Nexti指针这意味着读进程取数据的速度高于写进程输入数据的速度,使全部缓冲区都被抽空,读进程只能阻塞,直到写进程装满某个缓冲区,调用Releasebuf过程将它释放时,才去唤醒计算进程。,循环缓冲,循环缓冲,?,循环缓冲区仅适用于某特定的I/O进程和计算进程,属于专用缓冲,共享程度低。当系统较大时,将会有许多这样的缓冲区,这不仅要消耗大量的内存空间,而且其利用率不高。,缓冲池从自由主存中

8、分配一组缓冲区即可构成缓池。1缓冲池的组成 缓冲池中的缓冲区一般有以下三种类型:空闲缓冲区、装满输入数据的缓冲区和装满输出数据的缓冲区。为了管理将相同类型的缓冲区链成三个队列:空缓冲队列emq 输入队列inq 输出队列outq,除了上述三种队列外,还应具有四种工作缓区:用于收容输入数据的工作缓冲区hin;用于提取输入数据的工作缓冲区sin;用于收容输出数据的工作缓冲区hout;用于提取输出数据的工作缓冲区sout;,缓冲池,2.Getbuf过程和Putbuf过程,队列是临界资源互斥且同步 信号量 为使诸进程能互斥地和同步地访问缓冲池队列,可分别为每一队列设置一个互斥访问信号量S1(type),

9、初值为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 输出数据 调用Putbu

10、f(outq,hout)将hout挂到outq队列的队尾4)提取输出工作方式 调用Getbuf(outp)输出队列的队首摘下一个缓冲区 hin 提取数据 调用Putbuf(emp,sout)将sout挂到emp队列的队尾,设备分配的总原则(1)既要充分发挥设备的使用效率,又要避免由于不合理的分配方法而造成进程死锁(2)实现设备的独立性,即把用户程序和具体物理设备隔离开来。,4.4设备分配,系统分配时要考虑的因素1.设备分配方式 静态分配方式 不会出现死锁 设备利用率低,一般不使用 动态分配方式 提高了设备利用率,但可能造成死锁 1)先请求先分配 2)优先级高者先分配,系统分配时要考虑的因素2.

11、设备特性 独占设备 独享分配策略(静态分配)设备利用率低 共享设备 虚拟设备 同时分配给多个进程使用(动态分配)合理调度访问次序,系统分配时要考虑的因素3.设备分配中的安全性 安全分配方式 摒弃了“请求和保持”条件 CPU与I/O设备串行工作,进程进展缓慢 不安全分配方式 一个进程可同时操作多个设备,进程推进迅速 可能造成死锁,应进行安全性计算,设备分配中的数据结构 1.设备控制表DCT,设备分配中的数据结构 2.系统设备表SDT,设备分配中的数据结构 3.控制器控制表COCT,设备分配中的数据结构 4.通道控制表CHCT,设备分配算法,设备分配算法,单通路I/O,多通路I/O,设备独立性应用

12、程序独立于具体使用的物理设备 设备分配时的灵活性 易于实现I/O重定向,逻辑设备表(LUT),用于单用户系统,用于多用户系统,4.5 设备虚拟性,脱机输入输出 增加不与主机相连而专门用于 输入/输出的外围计算机SPOOLing(Simultaneous Peripheral Operations On-line 外围设备同时联机操作)假脱机操作,SPOOLing系统的组成,(1)提高了I/O的速度(2)将独占设备改造成了共享设备(3)实现了虚拟设备功能,SPOOLing系统的特点,SPOOLing系统的应用 共享打印机,设备处理是通过设备处理程序来实现的,通常又称为设备驱动程序。它是I/O进程

13、和设备控制器之间的通信程序,常以进程的形式被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)及时响应由控制器或通道发来的中断请求,并根据其中断 类型调用相应的中断处理程序进行处理。(5)对于设置有通道的计算机系统,驱动程序还应能够根据 用户的I/O请求,自动地构成通道程序。,设备处理流程,每类(个)设备设置一个专门的I/O进程,且该进程只能在系统态下执行。整个系统设置一个I/O进程,全面复杂系统的数据传送工作。每类(个)设备设置一个专门的I/O进程,但该进程既可以用在用户态也可以在系统态下执行。,设备处理方式,谢谢大家!,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号