虚拟存储器精编版

上传人:ahu****ng1 文档编号:141971345 上传时间:2020-08-14 格式:PPTX 页数:90 大小:1.03MB
返回 下载 相关 举报
虚拟存储器精编版_第1页
第1页 / 共90页
虚拟存储器精编版_第2页
第2页 / 共90页
虚拟存储器精编版_第3页
第3页 / 共90页
虚拟存储器精编版_第4页
第4页 / 共90页
虚拟存储器精编版_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《虚拟存储器精编版》由会员分享,可在线阅读,更多相关《虚拟存储器精编版(90页珍藏版)》请在金锄头文库上搜索。

1、计算机操作系统,课程主要内容,操作系统引论(1章) 进程管理(2-3章) 存储管理(4章) 设备管理(5章) 文件管理(6章) 操作系统接口(7章) 系统安全性(9章) *分布式操作系统,第5章 设 备 管 理,I/O系统 I/O控制方式 缓冲管理 设备分配 设备处理 磁盘存储器管理 *UNIX系统中的设备管理,本章作业,5.1 I/O 系统,I/O设备 设备控制器 I/O通道 I/O系统的总线系统 I/O系统的结构,I/O 系统的组成: I/O设备、设备控制器、 I/O通道*、总线及相应软件,5.1 .1 I/O 设备,1、 I/O设备的类型 系统设备 1)按设备的从属关系分类 用户设备 系

2、统设备:在OS生成时就已登记在系统中的标准设备,如键盘、显示器、打印机等。 用户设备:在OS生成时未登记在系统中的非标准设备,如鼠标、绘图仪、扫描仪等。,独享设备 2)按使用方式/共享属性分类 共享设备 虚拟设备 独享/独占设备:在一段时间只允许一个用户进程访问的设备。多数低速设备属此类,打印机就典型的独享设备。 共享设备:在一段时间只允许多个用户进程同时访问的设备。磁盘就典型的共享设备。 虚拟设备:指通过虚拟技术将一占设备变换为若干台逻辑设备,供若干个用户进程同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。,低速设备 3)按传输速率分类 中速设备 高速设备 低速设备:传输速率仅为每

3、秒钟几个字节至数百个字节的设备。典型的有:键盘、鼠标、语音的输入/输出等。 中速设备:传输速率仅为每秒钟数千个字节至数数万个字节的设备。典型的有:打印机等。 高速设备:传输速率仅为每秒钟数百千个字节至数十兆字节的设备。典型的有:磁盘机、磁带机、光盘机等。,块设备 4)按信息交换的单位分类 字符设备 块设备:信息交换的基本单位为字符块,属于有结构设备,块大小一般为512B-4KB,典型的有:磁盘、磁带等。 字符设备:信息交换的基本单位为字符,典型的有:键盘、打印机和显示器等。 2、设备与控制器之间的接口 (P145 图5-1) 三种信号线,5.1 .2 设备控制器,设备控制器 是处于CPU与I/

4、O设备之间的接口,接收CPU发来的命令,并控制I /O设备工作,是一个可编址设备。 功能:接收和识别命令、实现数据交换、了解设备状态以及识别设备地址。 设备控制器的组成 设备控制器与处理机的接口 设备控制器与设备接口 I/O逻辑 寄存器:控制寄存器(存放命令及参数)、数据寄存器(存放数据)、状态寄存器(记录设备状态).,设备控制器的组成,5.1 .3 I/O 通道,根据信息交换方式的不同,通道可分成以下几种类型: 字节多路通道 数组选择通道 数组多路通道 注:“瓶颈”问题,字节多路通道,其工作原理: 数据传送是按字节交叉方式工作。 1)有一个主通道。 2)含有多个子通道A、B、C 3)每子通道

5、通过一控制器与一台中/低速的I/O设备相连,可同时并行向主通道传数据。 4)各子通道以时间片轮转方式按字节交叉使用主通道。 优点:可连多台中/低速设备;能分时并行操作。 缺点:传输率较低。,数组选择通道,数据传送是按成组方式进行工作,每次传输一批数据。主要用于连接高速I/O设备。 1)有一个主通道 2)含有多个子通道A、B、C 3)每子通道通过一控制器与一台中/低速的I/O设备相连,在一段时间内只能选择一个子通道程序执行。 优点:可连多台高速设备;传输率较高。 缺点:某子通道不传数据,而使主通道闲置,其它子通道也不能传数据。所以通道的利用率很低。,数组多路通道,数据传送仍是按数组方式工作。 工

6、作原理(结合两者:并行+数组) 1)有一个主通道 2)含有多个子通道A、B、C 3)每子通道通过一控制器与一台高/中速的I/O设备相连,可同时并行向主通道传数据。 4)各子通道以时间片轮转方式按数组方式使用主通道。 优点:可连多台高/中速设备;能分时并行操作,传输率较高。,“瓶颈”问题,单通路I/O系统,解决“瓶颈”问题的方法-多路方式,通道2,多通路I/O系统,5.1 .5 I/O 系统的结构,5.2 I/O 控制方式,常用的输入/输出控制方式: 1、程序控制方式 2、中断控制方式 3、直接存储器访问DMA方式 4、通道控制方式,1、程序直接控制方式,处理机对I/O的控制采用程序直接控制方式

7、 。 工作原理: 主程序,设备是否 “准备就绪”,传送数据,否,特点:控制简单,但CPU的利用率低(串行),出现忙等待(循环等待设备的I/O操作)-即轮询(Polling)问题-I/O中断,继续主程序,控制设备状态的控制位 1)command-ready (等待命令) 2)Busy(忙) 3)Error(错误),2、中断控制方式,)需数据的进程向CPU发出指令启动I/O设备输入数据。 )该进程放弃处理机,等待输入完成。 )输入完成后,I/O控制器向CPU发出中断请求,CPU收到后,转向中断服务程序。中断服务程序将数据输入寄存器中的数据送指定内存单元,并将原进程唤醒,继续执行。 )在以后,该进程

8、再被调度,从内存单元取出数据进行处理。 优点CPU利用率大大提高(可以与I/O设备并行工作)。 缺点-若中断次数较多将耗去大量CPU处理时间。,3、DMA方式,1)需数据的进程向CPU发出指令,向DMA控制器写入数据存放的内存始址、传送的字节数,并置中断位和启动位,启动I/O设备输入数据并允许中断。 2)该进程放弃处理机等待输入完成,处理机被其它进程占据。 3)DMA控制器采用挪用CPU周期,将一批数据写入内存中。 4)DMA控制器传送完数据后,向CPU发中断请求,CPU响应后转向中断服务程序,唤醒进程,并返回被中断程序。 5)在以后该进程再被调度,从内存单元取出数据进行处理。 优点CPU利用

9、率进一步提高(并行度有所提高)。 缺点数据传送方向、字节数、内存地址等需由CPU控制,且每一设备需一台DMA控制器,设备增多时,不经济。,4、通道控制方式,1)需数据的进程向CPU发出指令,CPU发启动指令指明I/O操作、设备号和对应的通道。 2)该进程放弃CPU等待输入完成,CPU被其它进程占据。 3)通道接收到CPU发来的启动指令后,取出内存中的通道程序执行,控制设备将数据传送到内存指定区域。 4)传送完数据后,通道向CPU发中断请求,CPU响应后转向中断服务程序,唤醒进程,并返回被中断程序。 5)在以后该进程再被调度,从内存取出数据进行处理。 优点一个通道可控制多设备,所需CPU干预更少

10、。 CPU利用率较高(并行度较高)。 缺点:通道价格较高。,5.3 缓冲管理,1、提高处理机与I/O设备的并行工作的技术: ) 数据传送控制方式 ) 缓冲技术 2、操作系统中,引入缓冲的主要原因 1)缓冲CPU与I/O设备间速度不匹配的矛盾。 2)减少中断CPU的次数、 3)提高CPU与I/O设备的并行性 3、缓冲实现方法两种: 1)采用硬件缓冲器实现 2)用软件缓冲区来实现,缓冲就是用来对数据传送速度不同的设备的传送速度进行匹配/缓冲的一种常用手段。其实现方法除在关键地方可采用硬件缓冲器外,大都采用软件缓冲来实现。软件缓冲区是指在I/O操作期间,专门用来临时存放输入/输出数据的一块存储区域。

11、 4、缓冲技术的分类 单缓冲 双缓冲 循环缓冲 缓冲池,5.3 缓冲管理,单 缓 冲,在设备和处理机之间设置一个缓冲。设备与处理机交换数据时,先把交换的数据写入缓冲区,然后需要数据的设备/处理机再从缓冲区中取走数据。 特点:缓冲区数只有一个;设备与处理机对缓冲区的操作是串行的。,一块数据的处理时间,在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间T,CPU对一块数据进行处理的时间为C,将缓冲区的数据传送到用户区所花时间为M,那么在单缓冲情况下,系统处理大量数据时,一块数据的处理时间为多少?,T,M,C,Max(T,C)+MP156 图5-11,双 缓 冲,在设备和处理机之间设置2个缓冲。

12、设备与处理机交换数据时,先把交换的数据写入缓冲区,然后需要数据的设备/处理机再从缓冲区中取走数据。因缓冲区有2个,提高了设备与处理机并行操作的程度,只有当两个均为空时,需数据的进程才等待。 特点:缓冲区数有2个;设备与处理机对缓冲区的操作可并行,提高了设备与处理机并行操作的程度。,一块数据的处理时间,在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间T,CPU对一块数据进行处理的时间为C,将缓冲区的数据传送到用户区所花时间为M,那么在双缓冲情况下,系统处理大量数据时,一块数据的处理时间为多少?,T,M,C,当CT :C+M即MAX(C,T)+M 当CT : MAX(C,T) 图5-12,用

13、户进程,操作系统,传送,输入,I/O设备,循 环 缓 冲,在设备和处理机之间设置多个大小相等的缓冲区,这些缓冲区构成环形,每一个缓冲区中含一指针指向下一个缓冲区,最后一个指向第一个缓冲区,同时还含有2个用于输入/输出的指针IN和OUT。 特点:缓冲区数有多个;设备与处理机对缓冲区的操作可并行,进一步提高了设备与处理机并行操作的程度。,循环缓冲的组成,循 环 缓 冲,缓冲区的使用 Getbuf过程 Releasebuf过程 进程同步 Nexti指针追赶上Nextg指针输入进程阻塞 Nextg指针追赶上Nexti指针计算进程阻塞,1、缓冲池:将系统内所有的缓冲区统一管理起来,就形成了能用于输入/输

14、出的缓冲池。缓冲池通常由若干大小相同的缓冲区组成,是系统的公用资源,任何进程都可以申请使用缓冲池 中的各个缓冲区。 2、缓冲池的组成(数据结构) 三个队列:空缓冲队列、装满输入数据队列、装满输出数据队列 四个工作缓冲区: 收容输入缓冲区、提取输入 收容输出、提取输出缓冲区,缓 冲 池,3、getbuf过程和putbuf过程 Procedure Getbuf(type) begin wait(rs(type); wait(ms(type); B(number):=Takebuf(type); signal(ms(type); end,缓 冲 池,Procedure putbuf(type) be

15、gin wait(ms(type); Addbuf(type,number); signal(ms(type); signal(rs(type); end,4、操作系统对缓冲池的管理-工作方式,输入进程需要输入数据时:输入设备 收容输入缓冲区-Getbuf(emq) 1)从空缓冲队列的队首取一空缓冲区用作收容输入缓冲区 2)输入设备将数据输入收容输入缓冲区并装满 3)将此缓冲区挂到装满输入数据队列队尾。 计算进程需要输入数据时:提取输入缓冲区 CPU -Getbuf(inq) 1)从装满输入数据队列队首取一满缓冲区用作提取输入缓冲区 2)CPU从提取输入缓冲区中取出数据至用完 3)将空缓冲区挂到空缓冲队列队尾。,4、操作系统对缓冲池的管理-工作方式,计算进程需要输出数据时:CPU 收容输出缓冲区-getbuf(emq) 1)从空缓冲队列队首取一空缓冲区用作收容输出缓冲区 2)CPU将数据输入其中并装满 3)将收容输出缓冲区挂到装满输出数据队列队尾。 输出进程需要输出数据时:提取输出缓冲区- 输出设备-getbuf(outq) 1)从装满输出数据队列队首取一满缓冲区用作提取输出缓冲区 2)输出设备从中取出数据至用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号