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

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

ID:48465388

大小:301.50 KB

页数:54页

时间:2020-01-18

计算机操作系统---设备管理.ppt_第1页
计算机操作系统---设备管理.ppt_第2页
计算机操作系统---设备管理.ppt_第3页
计算机操作系统---设备管理.ppt_第4页
计算机操作系统---设备管理.ppt_第5页
资源描述:

《计算机操作系统---设备管理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

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

3、缓冲区的不同设置,可把缓冲技术分为以下几类:单缓冲双缓冲循环缓冲缓冲池单缓冲单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个I/O请求时,操作系统便在主存中为之分配一缓冲区,该缓冲区用来临时存放输入/输出数据。对于块设备,单缓冲机制如下工作:OS为进程分配一缓冲区,块设备输入时从磁盘把一块数据输入缓冲区的时间为T,OS将缓冲区的数据传送给用户区的时间为M,计算时间为C,则T和C时可以并行的。数据处理时间约为max[C,T]+M。对于字符设备,缓冲区用于暂存用户输入的一行数据,输入时,进程挂起等待输入完毕;输出时进程将一行

4、数据输入到缓冲区,继续执行处理。如果前面的数据尚未提取完毕,则进程应阻塞。工作区用户进程处理机单缓冲输入(T)传送(M)I/O设备缓冲区属于临界资源,不允许多个进程同时对一个缓冲区操作,读、写在单缓冲上互斥发生,因此单缓冲无法实现CPU与设备的并行操作。缓冲区属于临界资源,不允许多个进程同时对一个缓冲区操作,读、写在单缓冲上互斥发生,因此单缓冲无法实现CPU与设备的并行操作。一次仅允许一个进程访问的资源称为临界资源。硬件资源如打印机、磁带机等。软件资源如共享变量、表格、队列、栈等。双缓冲--提高设备并行操作输入数据时,首先填满缓冲区A,

5、操作系统可从缓冲区A把数据送到用户进程区,用户进程便可对数据进行加工计算;与此同时,输入设备填充缓冲区B。当缓冲区A空出后,输入设备再次向缓冲区1输入。操作系统又可把缓冲区B的数据传送到用户进程区,用户进程开始加工缓冲B的数据。双缓冲工作区用户进程处理机缓冲区A缓冲区BI/O设备写读双缓冲工作区用户进程处理机缓冲区A缓冲区BI/O设备写读如果C

6、),显然,这种情况下可保证块设备连续工作;如果C>T,当上一块数据计算完毕后,需把一个缓冲区中的数据传送到用户区,花费时间为M,再对这块数据进行计算,花费时间为C,所以,一块数据的传输和处理时间为C+M、即max(C,T)+M,这种情况下进程不必要等待I/O。计算机系统中的外围设备较多,读/写数据速度有很大的差异,在向缓冲区读/写数据的过程中,高速设备等待的情况仍然比较严重,设备利用率比较低。双缓冲循环缓冲环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有一个指向下一个缓冲的指针,最后一个缓

7、冲区的指针指向第一个缓冲区,这样n个缓冲区就成了一个环形。三种类型的缓冲区:用于装输入数据的空缓冲区R、已经装满数据的缓冲区G、以及计算进程正在访问的工作缓冲区C。设置了四个指针。Current_WRRCGCGGNextiNextgCurrent_R循环缓冲Nexti:指示写进程下次可用的空缓冲区RCurrent_WRRCGCGGNextiNextgCurrent_R循环缓冲Nextg:指示读进程下一个可用的缓冲区GCurrent_WRRCGCGGNextiNextgCurrent_R循环缓冲Current_R:指示读进程正在使用的缓冲

8、区Current_WRRCGCGGNextiNextgCurrent_R循环缓冲Current_W:指示写进程正在使用的缓冲区进程同步问题(1)Nexti指针追赶上Nextg指针。这意味着进程输入数据的速度

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。