操作系统 华理 chapter5.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:130 大小:3.7MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

操作系统 华理 chapter5.ppt

操作系统华理chapter5.ppt

预览

免费试读已结束,剩余 120 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

课程主要内容第5章设备管理5.1I/O系统5.1.1I/O设备独享设备1)按使用方式/共享属性分类共享设备虚拟设备独享/独占设备:在一段时间只允许一个用户进程访问的设备。多数低速设备属此类,打印机就是典型的独享设备。共享设备:在一段时间允许多个用户进程同时访问的设备。磁盘就是典型的共享设备。虚拟设备:指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。低速设备2)按传输速率分类中速设备高速设备低速设备:传输速率仅为每秒钟几个字节至数百个字节的设备。典型的有:键盘、鼠标、语音的输入/输出等。中速设备:传输速率为每秒钟数千个字节至数万个字节的设备。典型的有:打印机等。高速设备:传输速率为每秒钟数百KB至数十MB的设备。典型的有:磁盘机、磁带机、光盘机等。块设备3)按信息交换的单位分类字符设备块设备:信息交换的基本单位为字符块,属于有结构设备,块大小一般为512B---4KB,典型的有:磁盘、磁带等。块设备的基本特征:传输速率较高(几MB/s)、可寻址、I/O常采用DMA方式。字符设备:信息交换的基本单位为字符,典型的有:键盘、打印机和显示器等。基本特征:传输速率较低,几字节~数千B/s、不可寻址、I/O常采用中断驱动方式。2、设备与控制器之间的接口(见下图即P161图5-1)设备间接通过设备控制器与CPU进行通信,在设备与设备控制器之间有一接口,传递三类信号:数据信号线:双向(输入输出),用于传送数据信号控制信号线:控制器发给设备;要求设备完成相关操作状态信号线:设备发给控制器,用于传送指示设备当前状态的信号5.1.2设备控制器5.1.2设备控制器5.1.2设备控制器设备控制器的组成5.1.3I/O通道(1)5.1.3I/O通道(2)5.1.3I/O通道(3)5.1.3I/O通道(4)5.1.3I/O通道(5)5.1.3I/O通道(6)5.1.3I/O通道(7)5.1.3I/O通道(8)字节多路通道(1)字节多路通道(2)数组选择通道(1)数组选择通道(2)数组多路通道“瓶颈”问题解决“瓶颈”问题的方法-多路方式5.1.4I/O系统的结构(1)5.1.4I/O系统的结构(2)5.2I/O控制方式1、程序直接控制方式(1)1、程序直接控制方式(2)2、中断驱动I/O控制方式(1)2、中断驱动I/O控制方式(2)2、中断驱动I/O控制方式(3)3、DMAI/O控制方式(1)3、DMAI/O控制方式(2)3、DMAI/O控制方式(3)3、DMAI/O控制方式(4)3、DMAI/O控制方式(5)3、DMAI/O控制方式(6)3、DMAI/O控制方式(7)4、通道控制方式(1)4、通道控制方式(2)4、通道控制方式(3)4、通道控制方式(4)4、通道控制方式(5)总结:I/O控制方式5.3缓冲管理(1)5.3缓冲管理(2)5、缓冲技术实现的基本思想:进程执行写操作输出数据时,向系统申请一个缓冲区,若为顺序写请求,则不断把数据填到缓冲区,直到被装满。此后,进程继续它的计算,系统将缓冲区内容写到I/O设备上。进程执行读操作输入数据时,向系统申请一个缓冲区,系统将一个物理记录的内容读到缓冲区,根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程5、缓冲技术实现的基本思想(续):在输出数据时,只有在系统还来不及腾空缓冲区而进程又要写数据时,它才需要等待;在输入数据时,仅当缓冲区空而进程又要从中读取数据时,它才被迫等待6、缓冲的实现方式:采用硬件缓冲器实现;在内存划出一块区域,专门用来存放临时输入输出的数据,这个区域称为缓冲区单缓冲一块数据的处理时间双缓冲一块数据的处理时间循环缓冲1、缓冲池:将系统内所有的缓冲区统一管理起来,就形成了能用于输入/输出的缓冲池。缓冲池通常由若干大小相同的缓冲区组成,是系统的公用资源,任何进程都可以申请使用缓冲池中的各个缓冲区。2、缓冲池的组成(数据结构)三个队列:空缓冲队列emq、装满输入数据队列inq、装满输出数据队列outq四个工作缓冲区:收容输入数据的缓冲区、提取输入数据的缓冲区、收容输出数据的缓冲区、提取输出数据的缓冲区3、Getbuf过程和Putbuf过程ProcedureGetbuf(type)beginwait(rs(type));wait(ms(type));B(number):=Takebuf(type);signal(ms(type));end4、操作系统对缓冲池的管理--工作方式输入进程需要输入数据时:输入设备收容输入缓冲区-getbuf(emq)1)从空缓冲队列的队首取一空缓冲区用作收容输入缓冲区2)输入设备将数据输入收容输入缓冲区并装满3