操作系统 第5章 设备管理与文件管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章设备管理与文件管理学习目标:掌握设备的分类。掌握设备管理的主要功能。掌握常见的数据I/O控制方式。掌握文件的分类。掌握文件管理的主要功能。了解文件的逻辑结构方式及文件在外存上的分配存储方式。了解Linux系统中的设备管理。peripheral5.1设备管理概述5.1.1设备的分类5.1.2设备管理的任务和功能5.1.3缓冲技术5.1.4设备驱动计算机外部设备一般可分为两大类型:存储设备和输入输出设备I/O设备管理存储器管理主要目标:充分提高I/O设备的利用率,关键是实现设备的并行工作。设备与处理机运行的高度重叠I/O设备之间并行工作5.1.1设备的分类5.1.1设备的分类可以从不同的角度对I/O设备进行分类。按其使用方式可分为输入型设备(例如光电输入机、键盘、鼠标器等)、输出型设备(例如打印机、绘图仪、显示器等)以及输入/输出型设备(例如磁盘、磁带等)。ModernI/OSystems1.按从属关系分类-系统设备(显示器、硬盘、键盘、鼠标)-用户设备(MIC,打印机,扫描仪、手写笔等)2.按数据组织和传输方式分类-块设备(Blockdevice)(磁盘)-字符设备(打印机、键盘、鼠标等)3.按共享属性分类-独占设备(如打印机等低速I/O设备)-共享设备(磁盘等)-虚拟设备设备的类型5.1.2设备管理的任务和功能设备管理的主要任务如下:(1)选择和分配I/O设备以便进行数据传输操作。(2)控制I/O设备和CPU(或内存)之间交换数据。(3)为用户提供一个友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,由系统按用户的要求来对设备的工作进行控制。另外,这个接口还为新增加的用户设备提供一个和系统核心相连接的入口,以便用户开发新的设备管理程序。(4)提高设备和设备之间、CPU和设备之间以及进程和进程之间的并行操作程度,以使操作系统获得最佳效率。设备分配•设备分配的策略•设备分配中的数据结构•设备分配的过程•SPOOLing系统补充内容:设备分配的策略进程数量设备数量竞争平衡协调进程与设备之间的分配关系应考虑:•设备的固有属性;独占?共享?•采用什么样的分配算法?先来先服务?优先级高者优先?•安全性:是否导致死锁?•设备无关性设备无关性(独立性)为了提高OS的可适应性和可扩展性,在现代OS中都毫无例外地实现了设备独立性。其基本含义是:应用程序独立于具体使用的物理设备。为了实现设备独立性而引入了逻辑设备和物理设备这两个概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。在实现了设备独立性的功能后,可带来以下两方面的好处:1)设备分配时的灵活性2)易于实现I/O重定向设备分配中的数据结构1.设备控制表DCT设备类型type设备标识符:deviceid设备状态:等待/不等待忙/闲指向控制器表的指针重复执行次数或时间设备队列的队首指针DCT1DCT2DCTn设备控制表集合记录设备的特性、设备和I/O控制器的连接情况2.控制器控制表、通道控制表和系统设备表设备分配中的数据结构表目1…表目i…设备类设备标识符DCT驱动程序入口系统设备表SDT通道标识符:channelid通道状态:忙/闲与通道连接的控制器表首址通道队列的队首指针通道队列的队尾指针通道控制表CHCT控制器标识符:controllerid控制器状态:忙/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针控制器表COCT设备分配过程(1)根据用户请求的I/O设备的逻辑名,查找逻辑设备和物理设备的映射表;(2)以物理设备为索引,查找SDT,找到该设备所连接的设备控制表DCT;(3)继续查找与该设备连接的控制器控制表COCT和通道控制表CHCT,就找到了一条通路;某进程申请某I/O设备从SDT(系统设备表)中找到该设备的DCT(设备控制表)分配此设备给该进程分配此控制器给该进程分配该通道给该进程启动I/O设备进行具体的I/O操作将该进程放入此设备的等待队列将该进程放入此控制器的等待队列将该进程放入此通道的等待队列检查设备安全性?检查该设备对应的控制器是否忙?检查该控制器对应的通道是否忙?忙不安全安全忙不忙忙不忙设备分配流程图设备是否忙?不忙SPOOLing技术什么是SPOOLing为了缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入、脱机输出技术。该技术是利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上;或者相反。SPOOLing技术当系统中引入了多道程序技术后,完全可以利用其中的一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。这样,便可在主机的直接控制下,实现脱机输入、输出功能。此时的外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing(SimultaneousPeriphernalOperatingOn-Line),或称为假脱机操作。SPOOLing技术•输入井和输出井。这是在磁盘上开辟的两大存储空间。输入井是模拟脱机输入时的磁盘用于暂存I/O设备输入的数据;输出井是模拟脱机输出时的磁盘,用于暂存用户程序的输出数据。•输入缓冲区和输出缓冲区。为了缓和CPU和磁盘之间速度不匹配的矛盾,在内存中要开辟两个缓冲区:输入缓冲区和输出缓冲区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用于暂存由输出井送来的数据,以后再传送到输出设备。•输入进程SPi和输出进程SPo,进程SPi模拟脱机输入时的外围控制机;进程SPo模拟脱机输出时的外围控制机。作业信息1~m作业结果1~n输入缓冲区输出缓冲区作业1作业2…作业m输入进程输出进程输入井输出井作业1结果作业2结果…作业n结果位于磁盘位于内存设备管理的目标和功能设备管理的目标1.设备的有效性CPU与I/O设备的并行I/O设备之间的并行2.设备的通用性(独立性)通过OS来屏蔽外设操作的具体细节,提供给用户的是一种性能理想化的,操作简单的逻辑设备。设备管理程序的功能(1)提供进程管理系统的接口(2)进行设备分配(3)实现设备和设备、设备和CPU等之间的并行操作(4)进行缓冲管理(5)设备控制与驱动5.1.3缓冲技术引入缓冲区的主要原因:(1)缓和CPU与I/O设备间速度不匹配的矛盾。(2)减少CPU的中断频率,放宽对CPU中断响应时间的限制。(3)提高CPU和I/O设备之间的并行性。例如,在CPU和打印机之间设置了缓冲区后,便可使CPU和打印机并行工作。缓冲的分类根据系统设置缓冲区的个数,可把缓冲分为单缓冲,多缓冲和缓冲池。单缓冲是在设备和处理机之间设置一个缓冲区。多缓冲是把多个缓冲区连接起来,这些缓冲区被分为两个部分:一部分专门用于输入,另一部分专门用于输出。缓冲池则是把多个缓冲区连接起来统一管理,缓冲池中的缓冲区既可用于输入又可用于输出。工作区处理(C)缓冲区传送(M)输入(T)I/O设备(a)T1M1C1T2M2C2T3M3C3T4t(b)用户进程单缓冲工作区用户进程缓冲区1缓冲区2I/O设备T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(a)(b)双缓冲输出设备输入设备收容输入提取输出提取输入收容输出用户程序缓冲池收容输入缓冲区队列hin提取输出缓冲区队列sout提取输入缓冲区队列sin收容输出缓冲区队列hout5.1.4设备驱动目的:为了将设备的硬件复杂性与用户隔离,建立一种通用的I/O接口规范,使I/O设备的改变不会对操作系统本身产生影响。设备驱动程序又称为设备处理程序,它是I/O进程与设备控制器之间的通信程序。主要任务是接受上层软件发来的抽象要求,如read或write命令,再把它转换为具体要求,发送给设备控制器。此外,它也将由设备控制器发来的信号传送给上层软件,从而完成两者间的相互通信。设备驱动程序的处理过程(1)将抽象要求转换为具体要求(2)检查I/O请求的合法性(3)读出和检查设备的状态(4)传送必要的参数(5)工作方式的设置(6)启动I/O设备5.2数据输入输出控制方式5.2.1程序直接控制方式5.2.2中断控制方式5.2.3DMA方式5.2.4通道控制方式早期计算机系统以字节为单位,中断驱动以一个数据块为单位对一组数据块操作,设立通道执行I/O指令5.2.1程序直接控制方式优点:?缺点:?基本单位:?5.2.2中断控制方式优点:?缺点:?优点:?缺点:?基本单位:?•DMA方式又称直接存储器访问(DirectMemoryAccess)方式。其基本思想是在外设和主存之间开辟直接的数据交换通路。5.2.3DMA方式DMA方式的特点第一,数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;第二,所传送的数据是从设备直接送入内存的,或者相反;第三,仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。优点:?缺点:?基本单位:?DRMARDCCRI/O控制逻辑…主机—控制器接口控制器与块设备接口count内存CPU命令系统总线DMA控制器用于暂存从设备到内存,或从内存到设备的数据。DMA控制器的组成在输入时,它把存放数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。为了实现在主机与控制器之间成块数据的直接交换,必须在DMA控制器中设置如下四类寄存器:•内存地址寄存器MAR•数据缓冲寄存器DR•数据计数器DC存放本次CPU要读或写的字(节)数。用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。•命令/状态寄存器CRDMA与中断的区别⑴中断方式是在数据缓冲寄存器满之后发出中断,要求CPU进行中断处理,而DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理。这就大大减少了CPU进行中断处理的次数。⑵中断方式的数据传送是在中断处理时由CPU控制完成的,而DMA方式则是在DMA控制器的控制下,不经过CPU控制完成的。这就排除了CPU因并行设备过多而来不及处理以及因速度不匹配而造成数据丢失等现象。5.2.4通道控制方式1.通道是一个独立于CPU的专管输入/输出控制的处理机,它控制设备与内存直接进行数据交换。由于通道本质上是处理机,因此,它有自己的一套简单的指令系统,称为通道指令。在硬件方面,通道处理机具有与DMA控制器类似的硬件结构,由寄存器部分和控制部分组成。寄存器部分有:数据缓冲寄存器、内存地址寄存器、传输字节数寄存器、通道命令寄存器和通道状态寄存器。控制器部分有:分时控制、地址分配、数据传送等控制逻辑。正是由于这些硬件,以及通道程序软件的配备,通道控制器的功能比DMA控制器更强大,它能够承担外设的大部分工作。2.图6.7通道的种类·字节多路通道。·选择通道。·数组多路通道。3.CPU根据进程的I/O请求,形成有关通道程序,然后执行I/O指令启动通道。通道处理机则开始运行CPU存放在主存中的通道程序,独立负责外设和主存之间的数据传送。当整个I/O过程结束,才向CPU发出中断请求。CPU响应中断,进行关闭通道、记录相关数据等工作。采用通道方式,CPU基本上摆脱了I/O控制工作,大大增强了CPU和外设的并行处理能力,有效地提高了整个系统的资源利用率。4.通道和DMA控制器的区别(1)DMA控制器是借助硬件完成数据交换的,而通道是执行通道程序完成数据交换的。(2)一个DMA控制器只能连接同类外设,且如果是多台同类外设,则它们只能是以串行方式工作。一个通道可以连接多个不同类型的设备控制器

1 / 62
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功