虚拟存储器41458.pptx
《虚拟存储器41458.pptx》由会员分享,可在线阅读,更多相关《虚拟存储器41458.pptx(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机操作系统计算机操作系统主讲教师:曹建秋主讲教师:曹建秋 贺清碧贺清碧课程主要内容课程主要内容操作系统引论(操作系统引论(1 1章)章)进程管理(进程管理(2-32-3章)章)存储管理(存储管理(4 4章)章)设备管理(设备管理(5 5章)章)文件管理(文件管理(6 6章)章)操作系统接口(操作系统接口(7 7章)章)系统安全性(系统安全性(9 9章)章)*分布式操作系统分布式操作系统第第5 5章章 设设 备备 管管 理理vI/OI/O系统系统vI/OI/O控制方式控制方式v缓冲管理缓冲管理v设备分配设备分配v设备处理设备处理v磁盘存储器管理磁盘存储器管理 v*UNIXUNIX系统中的设备
2、管理系统中的设备管理本章作业本章作业5.1 I/O 5.1 I/O 系统系统qI/O设备q设备控制器qI/O通道qI/O系统的总线系统qI/O系统的结构I/O I/O 系统的组成系统的组成:I/O设备、设备控制器、I/O通道*、总线及相应软件5.1.1 I/O 5.1.1 I/O 设备设备 1 1、I/O I/O设备的类型设备的类型系统设备1)按设备的从属关系分类用户设备系统设备:在OS生成时就已登记在系统中的标准设备,如键盘、显示器、打印机等。用户设备:在OS生成时未登记在系统中的非标准设备,如鼠标、绘图仪、扫描仪等。独享设备2)按使用方式/共享属性分类共享设备虚拟设备独享/独占设备:在一段
3、时间只允许一个用户进程访问的设备。多数低速设备属此类,打印机就典型的独享设备。共享设备:在一段时间只允许多个用户进程同时访问的设备。磁盘就典型的共享设备。虚拟设备:指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。低速设备3)按传输速率分类中速设备高速设备低速设备:传输速率仅为每秒钟几个字节至数百个字节的设备。典型的有:键盘、鼠标、语音的输入/输出等。中速设备:传输速率仅为每秒钟数千个字节至数数万个字节的设备。典型的有:打印机等。高速设备:传输速率仅为每秒钟数百千个字节至数十兆字节的设备。典型的有:磁盘机、磁带机、光盘机
4、等。块设备 4)按信息交换的单位分类 字符设备 块设备:信息交换的基本单位为字符块,属于有结构设备,块大小一般为512B-4KB,典型的有:磁盘、磁带等。字符设备:信息交换的基本单位为字符,典型的有:键盘、打印机和显示器等。2、设备与控制器之间的接口(P145 图5-1)三种信号线5.1.2 5.1.2 设备控制器设备控制器v设备控制器是处于CPU与I/O设备之间的接口,接收CPU发来的命令,并控制I/O设备工作,是一个可编址设备。v功能:接收和识别命令、实现数据交换、了解设备状态以及识别设备地址。设备控制器的组成n设备控制器与处理机的接口n设备控制器与设备接口nI/O逻辑寄存器:控制寄存器(
5、存放命令及参数)、数据寄存器(存放数据)、状态寄存器(记录设备状态).设备控制器的组成数据数据寄存器寄存器控制、状态控制、状态寄存器寄存器I/O逻辑逻辑控制器控制器与设备与设备接口接口1控制器控制器与设备与设备接口接口iCPU与控制器接口与控制器接口控制器与设备接口控制器与设备接口数据线数据线地址线地址线控制线控制线数据数据状态状态控制控制数据数据状态状态控制控制.5.1.3 I/O 5.1.3 I/O 通道通道根据信息交换方式的不同,通道可分成以下几种类型:字节多路通道数组选择通道数组多路通道注:“瓶颈”问题字节多路通道字节多路通道q其工作原理:数据传送是按字节交叉方式工作。1)有一个主通道
6、。2)含有多个子通道A、B、C3)每子通道通过一控制器与一台中中/低低速速的I/O设备相连,可同时并行向主通道传数据。4)各子通道以时间片轮转方式按字节交叉使用主通道。q优点:可连多台中/低速设备;能分时并行操作。q缺点:传输率较低。数组选择通道数据传送是按成组方式进行工作,每次传输一批数据。主要用于连接高速I/O设备。1)有一个主通道2)含有多个子通道A、B、C3)每子通道通过一控制器与一台中/低速的I/O设备相连,在一段时间内只能选择一个子通道程序执行。优点:可连多台高速设备;传输率较高。缺点:某子通道不传数据,而使主通道闲置,其它子通道也不能传数据。所以通道的利用率很低。数组多路通道数组
7、多路通道数据传送仍是按数组方式工作。工作原理(结合两者:并行+数组)1)有一个主通道2)含有多个子通道A、B、C3)每子通道通过一控制器与一台高高/中中速速的I/O设备相连,可同时并行向主通道传数据。4)各子通道以时间片轮转方式按数组方式使用主通道。v优点:可连多台高/中速设备;能分时并行操作,传输率较高。“瓶颈瓶颈”问题问题存储器存储器通道通道1通道通道2控制器控制器1控制器控制器2控制器控制器3控制器控制器4设备设备1设备设备2设备设备3设备设备4设备设备5设备设备6设备设备7单通路I/O系统解决解决“瓶颈瓶颈”问题的方法问题的方法-多路方式多路方式通道通道2设备设备1设备设备2设备设备3
8、设备设备4存储器存储器通道通道1控制器控制器1控制器控制器2多通路I/O系统5.1.5 I/O 5.1.5 I/O 系统的结构系统的结构CPU存储器存储器磁盘磁盘控制器控制器打印机打印机控制器控制器其它其它控制器控制器磁盘驱动器磁盘驱动器打印机打印机微型机微型机I/O系统结构系统结构-总线型总线型计算机计算机I/O通道通道1I/O通道通道2控制器控制器控制器控制器控制器控制器控制器控制器主机主机I/O系统系统具有通道具有通道设设备备5.2 I/O 5.2 I/O 控制方式控制方式常用的输入/输出控制方式:1、程序控制方式2、中断控制方式3、直接存储器访问DMA方式4、通道控制方式1、程序直接控
9、制方式、程序直接控制方式处理机对I/O的控制采用程序直接控制方式。工作原理:主程序设备是否“准备就绪”传送数据否特点特点:控制简单,但CPU的利用率低(串行),出现忙等待(循环等待设备的I/O操作)-即轮询(轮询(Polling)问题-I/O中断 继续主程序控制设备状态的控制位控制设备状态的控制位1)command-ready (等待命令)2)Busy(忙)3)Error(错误)2、中断控制方式、中断控制方式)需数据的进程向CPU发出指令启动I/O设备输入数据。)该进程放弃处理机,等待输入完成。)输入完成后,I/O控制器向CPU发出中断请求,CPU收到后,转向中断服务程序。中断服务程序将数数据
10、据输输入入寄寄存存器器中的数据送指定内存单元,并将原进程唤醒,继续执行。)在以后,该进程再被调度,从内存单元取出数据进行处理。优点CPU利用率大大提高(可以与I/O设备并行工作)。缺点-若中断次数较多将耗去大量CPU处理时间。3、DMA方式方式1)需数据的进程向CPU发出指令,向DMA控制器写入数据存放的内存始址、传送的字节数,并置中断位和启动位,启动I/O设备输入数据并允许中断。2)该进程放弃处理机等待输入完成,处理机被其它进程占据。3)DMA控制器采用挪用CPU周期,将一批数据写入内存中。4)DMA控制器传送完数据后,向CPU发中断请求,CPU响应后转向中断服务程序,唤醒进程,并返回被中断
11、程序。5)在以后该进程再被调度,从内存单元取出数据进行处理。优点CPU利用率进一步提高(并行度有所提高)。缺点数据传送方向、字节数、内存地址等需由CPU控制,且每一设备需一台DMA控制器,设备增多时,不经济。4、通道控制方式、通道控制方式1)需数据的进程向CPU发出指令,CPU发启动指令指明I/O操作、设备号和对应的通道。2)该进程放弃CPU等待输入完成,CPU被其它进程占据。3)通道接收到CPU发来的启动指令后,取出内存中的通道程序执行,控制设备将数据传送到内存指定区域。4)传送完数据后,通道向CPU发中断请求,CPU响应后转向中断服务程序,唤醒进程,并返回被中断程序。5)在以后该进程再被调
12、度,从内存取出数据进行处理。优点一个通道可控制多设备,所需CPU干预更少。CPU利用率较高(并行度较高)。缺点:通道价格较高。5.3 5.3 缓冲管理缓冲管理1、提高处理机与I/O设备的并行工作的技术:)数据传送控制方式)缓冲技术2、操作系统中,引入缓冲的主要原因1)缓冲CPU与I/O设备间速度不匹配的矛盾。2)减少中断CPU的次数、3)提高CPU与I/O设备的并行性3、缓冲实现方法两种:1)采用硬件缓冲器实现2)用软件缓冲区来实现缓冲就是用来对数据传送速度不同的设备的传送速度进行匹配/缓冲的一种常用手段。其实现方法除在关键地方可采用硬件缓冲器外,大都采用软件缓冲来实现。软件缓冲区是指在I/O
13、操作期间,专门用来临时存放输入/输出数据的一块存储区域。4、缓冲技术的分类 单缓冲 双缓冲 循环缓冲 缓冲池 5.3 5.3 缓冲管理缓冲管理单单 缓缓 冲冲在设备和处理机之间设置一个缓冲。设备与处理机交换数据时,先把交换的数据写入缓冲区,然后需要数据的设备/处理机再从缓冲区中取走数据。特点:缓冲区数只有一个;设备与处理机对缓冲区的操作是串行的。用户进程操作系统传送输入I/O设备一块数据的处理时间一块数据的处理时间v在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间T,CPU对一块数据进行处理的时间为C,将缓冲区的数据传送到用户区所花时间为M,那么在单缓冲情况下,系统处理大量数据时,一块数
14、据的处理时间为多少?用户进程操作系统传送输入I/O设备TMCMax(T,C)+MP156图5-11双双 缓缓 冲冲 在设备和处理机之间设置2个缓冲。设备与处理机交换数据时,先把交换的数据写入缓冲区,然后需要数据的设备/处理机再从缓冲区中取走数据。因缓冲区有2个,提高了设备与处理机并行操作的程度,只有当两个均为空时,需数据的进程才等待。特点:缓冲区数有2个;设备与处理机对缓冲区的操作可并行,提高了设备与处理机并行操作的程度。用户进程操作系统传送输入I/O设备一块数据的处理时间一块数据的处理时间v在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间T,CPU对一块数据进行处理的时间为C,将缓冲区
15、的数据传送到用户区所花时间为M,那么在双缓冲情况下,系统处理大量数据时,一块数据的处理时间为多少?TMC当CT:C+M即MAX(C,T)+M当CT:MAX(C,T)图5-12用户进程操作系统传送输入I/O设备循循 环环 缓缓 冲冲 在设备和处理机之间设置多个大小相等的缓冲区,这些缓冲区构成环形,每一个缓冲区中含一指针指向下一个缓冲区,最后一个指向第一个缓冲区,同时还含有2个用于输入/输出的指针IN和OUT。特点:缓冲区数有多个;设备与处理机对缓冲区的操作可并行,进一步提高了设备与处理机并行操作的程度。RGGGGR123456NextiNextgRGGGGR123456NexticurrentN
16、extg循环缓冲的组成循环缓冲缓冲区的使用Getbuf过程Releasebuf过程进程同步Nexti指针追赶上Nextg指针输入进程阻塞Nextg指针追赶上Nexti指针计算进程阻塞1、缓冲池:将系统内所有的缓冲区统一管理起来,就形成了能用于输入/输出的缓冲池。缓冲池通常由若干大小相同的缓冲区组成,是系统的公用资源,任何进程都可以申请使用缓冲池中的各个缓冲区。2、缓冲池的组成(数据结构)三个队列:空缓冲队列、装满输入数据队列、装满输出数据队列四个工作缓冲区:收容输入缓冲区、提取输入收容输出、提取输出缓冲区缓缓 冲冲 池池3、getbufgetbuf过程和过程和putbufputbuf过程过程P
17、rocedureGetbuf(type)beginwait(rs(type);wait(ms(type);B(number):=Takebuf(type);signal(ms(type);end缓冲池 Procedure putbuf(type)begin wait(ms(type);Addbuf(type,number);signal(ms(type);signal(rs(type);end4 4、操作系统对缓冲池的管理、操作系统对缓冲池的管理-工作方式工作方式hinsinsouthout用户程序缓冲池提取输入收容输出提取输出收容输入缓冲区的工作方式缓冲区的工作方式输入进程需要输入数据时:输
18、入设备收容输入缓冲区-Getbuf(emq)1)从空缓冲队列的队首取一空缓冲区用作收容输入缓冲区2)输入设备将数据输入收容输入缓冲区并装满3)将此缓冲区挂到装满输入数据队列队尾。计算进程需要输入数据时:提取输入缓冲区CPU-Getbuf(inq)1)从装满输入数据队列队首取一满缓冲区用作提取输入缓冲区2)CPU从提取输入缓冲区中取出数据至用完3)将空缓冲区挂到空缓冲队列队尾。4 4、操作系统对缓冲池的管理、操作系统对缓冲池的管理-工作方式工作方式计算进程需要输出数据时:CPU 收容输出缓冲区-getbuf(emq)1)从空缓冲队列队首取一空缓冲区用作收容输出缓冲区2)CPU将数据输入其中并装满
19、3)将收容输出缓冲区挂到装满输出数据队列队尾。输出进程需要输出数据时:提取输出缓冲区-输出设备-getbuf(outq)1)从装满输出数据队列队首取一满缓冲区用作提取输出缓冲区2)输出设备从中取出数据至用完3)将空缓冲区挂到空缓冲队列队尾4 4、操作系统对缓冲池的管理、操作系统对缓冲池的管理-工作方式工作方式5.5.4 4 设备分配设备分配设备分配中的数据结构设备分配的策略/应考虑的因素设备独立性设备分配程序SPOOLING技术7.4.1 7.4.1 设备分配中的数据结构设备分配中的数据结构设备控制表DCT(device control table)控制器控制表COCT(controller
20、control table)通道控制表CHCT(channel control table)系统设备表SDT(system device table)DCT表目1表目i设备类型 设备标识符DCT指针获得设备的进程控制器标识符 控制器状态:忙/闲CHCT指针控制器等待队列指针通道标识符通道状态:忙/闲通道等待队列指针SDTCOCTCHDT设备类型 设备标识符设备状态:忙/闲COCT指针设备等待队列指针5.4.2 5.4.2 设备分配策略设备分配策略/应考虑的因素应考虑的因素1、设备的使用性质/固有属性 (独享分配、共享分配、虚拟分配)2、设备分配算法 (先请求先服务、优先级高者优先)3、设备分配
21、的安全性(防止进程死锁)4、设备独立性:是指用户在编制程序时所用的设备(逻辑)与实际使用的设备无关 先请求先服务先请求先服务当有多进程对同一设备提出I/O请求时,系统根据这些进程发出请求的先后次序将它们排成一个设备请求队列,设备分配程序总是把设备分配给队首的进程。优先级高者优先优先级高者优先按照进程优先级的高低进行分配。即当多进程对同一设备提出I/O请求时,谁优先级高,就将设备分配给谁。若优先级相同,则按先请求先服务进行分配。5.4.3 5.4.3 设备独立性设备独立性v设备独立性概念(设备无关性)v设备独立性的实现n逻辑设备(应用程序)和物理设备(执行)n设备分配时的灵活性n易于实现I/O重
22、定向n设备独立性软件n执行所有设备的公有操作n向用户层(文件层)软件提供统一的接口n逻辑设备名到物理设备名映射的实现n逻辑设备表LUT(LogicalUnitTable)nLUT设置问题(图5-8)整个系统设置一张LUT;每个用户设一张LUT设备独立性相关概念设备独立性相关概念v设备独立性概念(设备无关性)为提高OS的可适应性和可扩展性,而将应用程序独立于具体使用的物理设备。vI/O重定向指用于I/O操作的设备可以更换,即重定向,而不必改变应用程序。v所有设备的公有操作独立设备的分配与回收;将逻辑设备名映射为物理设备名;对设备进行保护(禁直访);缓冲管理;差错控制。逻辑设备表逻辑设备表LUT(
23、Logical Unit Table)逻辑设备名物理设备名驱动程序入口地址/dev/tty31024/dev/print52046逻辑设备名系统设备表指针/dev/tty3/dev/print5(a)(b)5.4.4 5.4.4 独占独占设备的分配程序设备的分配程序v基本的设备分配程序n分配设备n分配控制器n分配通道n问题(“瓶颈”)n进程以物理设备名来提出I/O请求n采用的是单通路的I/O系统结构v设备分配程序的改进n增加设备的独立性(进程以逻辑设备名来提出I/O请求)n考虑多通路情况分配设备分配设备物理设备名物理设备名在在SDT找找DCT设备状态设备状态忙忙进程插入进程插入设备等待队列设备
24、等待队列按算法计算按算法计算本次分配的安全性本次分配的安全性安全安全分配设备分配设备进程插入进程插入设备等待队列设备等待队列返回返回yNNY分配控制器分配控制器物理设备分配物理设备分配DCT找找COCT控制器状态控制器状态忙忙进程插入进程插入控制器等待队列控制器等待队列分配控制器分配控制器返回返回YN分配通道分配通道控制器分配控制器分配COCT找找CHT通道状态通道状态忙忙进程插入进程插入通道等待队列通道等待队列分配通道分配通道返回返回YNSPOOLINGSPOOLING技术技术(Simultaneaus Periphernal Operations On-Line)(Simultaneaus
25、 Periphernal Operations On-Line)v脱机输入、输出技术 为了缓和CPU的高速性与I/O设备的低速性间矛盾而引入,该技术在外围控制机的控制下实现低速的I/O设备与高速的磁盘之间进行数据传送。vSPOOLING技术vSPOOLING系统的组成vSPOOLING系统的特点n提高了I/O速度n将独占设备改造为共享设备n实现了虚拟设备功能SPOOLING技术技术(Simultaneaus Periphernal Operations On-Line)vSPOOLINGSPOOLING技术技术 在多道程序下,用一程序来模拟外围控制机,实现将数据从磁盘传送到低速的输出设备上,从
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟 存储器 41458
限制150内