2019年 chapter7设备管理ppt课件.ppt

2019年 chapter7设备管理ppt课件.ppt

ID:58953467

大小:345.50 KB

页数:43页

时间:2020-09-28

2019年 chapter7设备管理ppt课件.ppt_第1页
2019年 chapter7设备管理ppt课件.ppt_第2页
2019年 chapter7设备管理ppt课件.ppt_第3页
2019年 chapter7设备管理ppt课件.ppt_第4页
2019年 chapter7设备管理ppt课件.ppt_第5页
资源描述:

《2019年 chapter7设备管理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、冲的实现方式:采用硬件缓冲器实现;在内存划出一块区域,专门用来存放临时输入输出的数据,这个区域称为缓冲区7.3缓冲管理(4)单缓冲在设备和处理机之间设置一个缓冲。设备与处理机交换数据时,先把交换的数据写入缓冲区,然后需要数据的设备/处理机再从缓冲区中取走数据。特点:缓冲区数只有一个;设备与处理机对缓冲区的操作是串行的。工作区缓冲区用户进程操作系统传送(M)输入(T)I/O设备处理(C)一块数据的处理时间在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间T,CPU对一块数据进行处理的时间为C,将缓冲区的数据传送到用户区所花

3、时间为M,那么在单缓冲情况下,系统处理大量数据时,一块数据的处理时间为多少?系统对每一块数据的处理时间为:Max(T,C)+M双缓冲在设备和处理机之间设置2个缓冲。设备与处理机交换数据时,先把交换的数据写入缓冲区,然后需要数据的设备/处理机再从缓冲区中取走数据。因缓冲区有2个,提高了设备与处理机并行操作的程度,只有当两个均为空时,需数据的进程才等待。特点:缓冲区数有2个;设备与处理机对缓冲区的操作可并行,提高了设备与处理机并行操作的程度。工作区缓冲区1用户进程(处理C)操作系统传送M输入TI/O设备缓冲区2一块数据的处理时间

4、在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间T,CPU对一块数据进行处理的时间为C,将缓冲区的数据传送到用户区所花时间为M,那么在双缓冲情况下,系统处理大量数据时,一块数据的处理时间为多少?系统对一块数据的处理时间:MAX(C+M,T)工作区用户进程缓冲区1缓冲区2I/O设备T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(a)(b)双机通信时缓冲区的设置缓冲区缓冲区A机B机(a)单缓冲发送缓冲区接收缓冲区接收缓冲区发送缓冲区A机B机(b)双缓冲RGGGGR123456Nex

5、tiNextgRGGGCR123456NexticurrentNextg循环缓冲在设备和处理机之间设置多个大小相等的缓冲区,这些缓冲区构成环形,每一个缓冲区中含一指针指向下一个缓冲区,最后一个指向第一个缓冲区。循环缓冲的组成多个缓冲区:用于装输入数据的空缓冲区R已装满数据的缓冲区G计算进程正在使用的现行工作缓冲区C多个指针:指示输入进程下次可用的空缓冲区R的指针Nexti指示计算进程下次可用缓冲区G的指针Nextg指示计算进程正在使用的缓冲区C的指针Current特点:缓冲区的数量有多个;设备与处理机对缓冲区的操作可并行,进

6、一步提高了设备与处理机并行操作的程度。循环缓冲缓冲区的使用Getbuf过程Releasebuf过程进程同步Nexti指针追赶上Nextg指针—输入进程阻塞Nextg指针追赶上Nexti指针—计算进程阻塞1、缓冲池:将系统内所有的缓冲区统一管理起来,就形成了能用于输入/输出的缓冲池。缓冲池通常由若干大小相同的缓冲区组成,是系统的公用资源,任何进程都可以申请使用缓冲池中的各个缓冲区。2、缓冲池的组成(数据结构)三个队列:空缓冲队列emq、装满输入数据队列inq、装满输出数据队列outq四个工作缓冲区:收容输入数据的缓冲区hin、

7、提取输入数据的缓冲区sin、收容输出数据的缓冲区hout、提取输出数据的缓冲区sout缓冲池(1)缓冲池(2)三个队列:空缓冲队列emq、装满输入数据队列inq、装满输出数据队列outq四个工作缓冲区:收容输入数据的缓冲区、提取输入数据的缓冲区、收容输出数据的缓冲区、提取输出数据的缓冲区3、Getbuf过程和Putbuf过程ProcedureGetbuf(type)beginwait(rs(type));wait(ms(type));B(number):=Takebuf(type);signal(ms(type));end缓

8、冲池(3)ProcedurePutbuf(type)beginwait(ms(type));Addbuf(type,number);signal(ms(type));signal(rs(type));end注:Takebuf(type)—用于从type所指的队列的队首摘下一缓冲区Addbu

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

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

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