工学软件技术基础操作系统设备管理与文件管理
工学软件技术基础操作系统设备管理与文件管理设备管理n基本内容I/O devices 设备基本概念.I/O请求的检测与控制设备管理程序Buffering 缓冲技术Spooling.虚拟设备技术I/O Control 控制方式Polling 轮询Interrupt 中断Direct memory access(DMA)I/O channel 通道技术第1页/共69页基本概念设备分类从数据组织的角度分块设备 以块为单位组织和传送数据,大小 n*512 磁盘字符设备 以字符为单位组织和传送数据 键盘、打印机从资源分配的角度分类独占设备 在系统运行期间,在某一段时间内,为某一进程所独占的设备多为低速设备,如纸带输入机、打印机等共享设备 允许若干用户或进程同时共同使用的设备 磁盘虚拟设备 通过软件技术(如假脱机技术),把原来的独占设备改造成共享设备第2页/共69页设备控制器第3页/共69页设备管理的任务(1)根据各类设备的特点确定相应的分配策略 (2)启动设备完成实际的输入输出操作(3)向用户提供一个统一的、友好的使用界面(4)优化设备的调度、提高设备的利用率第4页/共69页设备管理的主要内容(1)I/O请求的检测与控制(2)解决设备的低速性与CPU高速性之间的矛 盾,提高CPU的利用率(3)设备分配策略第5页/共69页控制器负责 CPU 与设备之间的通讯硬件接口CPUControllerMain MemoryControllerControllerControllerCD driverModemMonitorDisk driver第6页/共69页通常是可编程控制的芯片 每类芯片用于特定的硬件和 CPU 与内存通过总线通讯 操作码 寄存器操作数 寄存器Busy 寄存器状态寄存器数据缓冲区设备控制器第7页/共69页用汇编语言控制寄存器 对键盘的操作in al,60h push ax in al,61h mov ah,al or al,80h out 61h,al xchg ah,al out 61h,al pop ax test al,80hjnz cont第8页/共69页I/o端口地址分配系统板上接口芯片的端口地址I/O芯片名称端口地址DMA控制器100001FHDMA控制器20C00DFHDMA页面寄存器08009FH中断控制器102003FH中断控制器20A00BFH定时器04005FH并行接口芯片(键盘接口)06006FHRT/CMOS RAM07007FH协处理器0F00FFH第9页/共69页I/o端口地址分配扩展槽上接口控制卡的端口地址I/O接口名称端口地址游戏控制卡20020FH并行口控制卡137037FH并行口控制卡227027FH串行口控制卡13F83FFH串行口控制卡22F02FFH原型插件板(用户可用)30031FH同步通信卡13A03AFH同步通信卡238038FH单显MDA3B03BFFH彩显CGA3D03DFH彩显EGA/VGA3C03CFH硬驱控制卡1F01FFH软驱控制卡3F023F7HPC网卡36036FH第10页/共69页I/O 请求与检测如何知道I/O操作完成?缓冲的数据如何在内存与设备间传送?(1)查询方式(polling)利用I/O测试指令测试设备的忙与闲。
若设备处于闲状态,则执行输入输出指令;若设备处于忙状态,则I/O测试指令不断对设备进行测试,直到设备空闲为止.操作码 寄存器操作数 寄存器Busy 寄存器状态寄存器数据缓冲区设备控制器2主存主存CPUCPU341567第11页/共69页优点:实现简单缺点:CPU的负担过重,效率低第12页/共69页查询方式打印输出第13页/共69页典型的查询方式汇编指令代码第14页/共69页(2)中断方式(Interrupts)控制器完成I/O操作后,触发中断.CPU不必不断检测设备工作标志位.优点:CPU效率高缺点:技术实现较难CPU负责控制器缓存与主存间的数据传输,当数据量大时,仍要消耗大量的CPU资源,较多用于低速外设,如字符型设备,非块设备第15页/共69页中断驱动的I/O过程第16页/共69页设备1内存内存CPUCPU234567中断 操作码 寄存器操作数 寄存器Busy 寄存器状态寄存器数据缓冲区控制器第17页/共69页中断向量表与中断处理程序256 个中断4 个字节为一个中断处理程序入口偏移地址:段地址第18页/共69页第19页/共69页(3)直接内存访问Direct Memory Access(DMA)它使用一个专用DMA控制器,使用截取总线控制权的方法,由DMA控制器送出内存地址,发出内存读、设备写或设备读、内存写的控制信号来完成内存与设备之间的直接数据传输,而不用CPU干预。
当一次DMA传送的数据全部完成时,才产生中断通知CPU主要用于块设备与主存之间进行批量数据传输设备1内存内存CPUCPU23564中断 操作码 寄存器操作数 寄存器Busy 寄存器状态寄存器数据缓冲区控制器第20页/共69页直接内存存取(DMA)方式DMA数据传输过程第21页/共69页优点:比中断效率高,CPU 不负责控制设备与内存间数据传输.缺点:(1)窃取总线周期 若出现DMA和CPU同时访问主存,CPU总是将总线占有权让给DMA).(2)CPU仍需处理外设相关的问题 错误检测与恢复,设备特定指令转换(4)通道方式(I/O channel)专用I/O控制微处理器具有指令编程能力,可以与CPU并行工作,从而替代CPU对I/O操作控制第22页/共69页通道控制结构通道控制结构第23页/共69页通道工作原理通道控制设备的工作过程是由通道程序来实现的通道程序由通道指令组成,一般包括操作码、交换信息数及信息在内存的首地址通道程序的执行步骤 如下:(1)当进程要求设备输入时,CPU发指令指明I/O操作、设备号和对应通道2)对应通道收到CPU发来的启动指令后,读出内存中的通道指令程序、设置对应设备的控制状态寄存器的初值。
3)设备按通道指令的要求,把数据送往内存指定区域4)若传送结束,I/O控制器通过中断请求线发中断信号,请求CPU做中断处理5)中断处理结束后,CPU返回到被中断进程处继续执行6)当进程调度程序选中这个已得到数据的进程后,才能进行加工处理当通道或外设发生需要向CPU报告的事件时,产生外部设备中断事件操作 正常结束、操作中发生故障或错误以及人工输入控制命令等第24页/共69页缓存技术(Buffering)在内村中划出一个由n个单元组成的区域(缓冲区),作为外部设备传输数据的临时存储区单缓冲 仅设置一个缓冲区 串行工作双缓冲 设置两个个缓冲区,并行工作缓冲池 多个缓冲区连接起来统一管理多个缓冲区多个缓冲区缓冲池缓冲池空白队列空白队列输出队列输出队列输入队列输入队列第25页/共69页典型例子:键盘缓冲区队列第26页/共69页设备管理程序逻辑设备与物理设备 (1)设备的无关性即用户可不必指定特定设备,而代之指定逻辑设备,使得用户程序与实际使物理设备无关,可以脱离具体的物理设备来使用设备由系统进行逻辑设备与物理设备之间的对应关系维护,并由系统做相应的连接工作如LPT表示打印机等2)设备映射表为了实现与设备的无关性,系统中必须有一张联系逻辑设备和物理设备名称的映射表。
设备分配程序通过进程传送来的参数获得逻辑设备号,然后通过映射表找到相应的物理设备及其驱动程序,调用设备驱动程序,完成实际的操作注册表:HKEY_LOCAL_MACHINEHARDWAREDEVICEMAP第27页/共69页设备映射表第28页/共69页设备分配程序当多个进程同时要求使用同一类或同一台设备时,按照一定的算法,决定把某一台设备分配给某一个要求该设备的进程若系统不能立即满足进程的申请时,把它们排成一个等待队列,使这些进程按一定的次序使用设备设备驱动程序使CPU通过发I/O指令,去启动指定的I/O设备,进行I/O操作当I/O操作完成或发生其他事件时,I/O设备向CPU发出中断请求,要求处理机进行相应处理无I/O操作时,应该阻塞设备管理程序进程第29页/共69页 虚拟设备技术Spooling(假脱机)SPOOLing 是 Simultaneous Peripheral Operation On-Line(即外部设备联机并行操作)的缩写,通常称为“假脱机技术”原理当在外围设备和计算机处理器之间传送数据时,为了减少处理的延时,把辅助存储器作为缓冲存储器来使用的一种技术组成(1)输入井和输出井(外存中)(2)输入缓冲区(输入队列)和输出缓冲区(输出队列)(内存中)(3)输入进程SPI 和输出进程SPO第30页/共69页虚虚拟拟设设备备系系统统的的组组成成第31页/共69页特点:(1)提高了I/O速度I/O操作变为对输入井或输出井的操作,如同脱机操作一样(2)设备并没有分配给任何进程 在输入井或输出井中,分配给进程的是一个存储区和建立的一张I/O请求表(3)实现了虚拟设备功能 多个进程同时使用同一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备。
第32页/共69页文件管理n基本内容q基本概念与术语q文件的结构q文件目录q文件存储空间的管理q文件的共享q文件的存取控制第33页/共69页基本概念与术语文件:具有标识符(文件名)的一组相关信息的集合组成部分:(1)文件体:文件本身的信息(2)文件属性:文件存储和管理信息 文件名、文件内部标识、文件存储地址、访问权限和访问时间等文件系统:操作系统中负责存取和管理文件信息的机构组成部分:(1)数据结构 文件控制块,存储分配表等(2)管理软件(3)文件的一组操作:读、写、删除、拷贝等第34页/共69页文件分类从操作系统的角度:普通文件、目录文件、特殊文件(Unix中的某些设备)注意:目录与设备(显示器、键盘等)也是文件设备重定位功能的演示Dir1.txt -屏幕显示重定为到外部文件中Type 1.txt按照文件的逻辑结构:有结构文件(记录式文件)和无结构文件(流式文件)按照文件的存取控制属性:可执行文件、只读文件和读写文件按文件的物理结构:顺序(连续)文件、链接文件和索引文件第35页/共69页文件存取控制方法与存储设备(1)常见存取方法顺序存取法 磁带随机存取法(直接存取法)磁盘按键存取法 数据库(2)常见存储设备 磁盘、光盘、磁带等。
存储设备的特性决定了文件的存取设备和方法第36页/共69页文件的结构文件的逻辑结构 用户可见的结构,可分为有结构文件和无结构文件有结构文件 由若干个相关的记录构成的文件,又称记录式文件包括定长记录文件、变长记录文件(顺序文件、索引文件和索引顺序文件)无结构文件又称流式文件组成流式文件的基本信息单位是字节或字,其长度是文件中所含字节的数目源程序,库函数等采用的就是流式结构对流式文件的访问,是采用读写指针来指出下一个要访问的字符可以把流式文件看作是记录式文件的一个特例流式文件是程序设计中频繁处理的文件类型第37页/共69页文件的操作-ProgrammingOpenRead/Write|Text and Binary modeCloseDeleteRenameSearch第38页/共69页文件的物理结构 又称为文件的存储结构,是指文件在外存上的存储组织形式文件的物理结构决定了文件信息在存储设备上的存储位置,因此,文件信息的逻辑块号(逻辑地址)到物理块号(物理地址)的变换也是由文件的物理结构决定的常用的文件物理结构有连续分配、链接分配与索引分配A.连续分配把一个在逻辑上连续的文件信息依次存放到物理块中,为每个文件分配一组相邻的盘块内存外存应用程序按照逻辑结构访问文件OS按照物理结构获取文件第39页/共69页磁盘磁盘文件目录文件目录连续分配第40页/共69页优点:(1)算法简单;(2)支持顺序存取和随机存取;(3)顺序存取速度快;(4)另外所需的磁盘寻道次数和寻道时间最少。
缺点:(1)文件不能动态增长;(2)不利于文件插入和删除;(3)会产生外部碎片问题,解决要采用存储压缩技术第41页/共69页文件的结构(续)文件的物理结构链接分配是将文件存储在离散的盘块中,离散的盘块之间通过指针链接将同属于一个文件的多个离散的盘块链接成一个链表,由此所形成的物理文件称为链接文件各区块前两个字节存储指向下个区块的地址,其余部分为数据n优点:链接文件盘块动态分配,无外碎片易于部署文件n缺点随即访问时慢第42页/共69页FName BAddr EAddrjeep 9 25文件目录01234567891011121314151617181920212223242526272829303111016-125文件链接访问第43页/共69页链表结合分区表存储每个区块的指针存在文件分区表FAT(File Allocation Table)中最后一个区块在表中用特定标志(NIL)结束n优点随机访问速度快只需要知道文件的首个区块地址就可以定位整个文件n缺点分区表需要加载到内存中,占用了内存资源第44页/共69页显式链接文件目录和FAT表第45页/共69页索引分配 文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构索引表,并将这些块的块号存放在一个索引表中。
索引分配通过为每个文件分配一个索引块,存放索引表,记录文件的盘块号,文件目录项中保存索引块的盘块号24第46页/共69页n优点:索引分配保持了链接结构的优点,又克服了其缺点;即能顺序存取又能随机存取;同时满足了文件动态增长、插入删除的要求n缺点是需较多的寻道次数和寻道时间;此外索引块本身带来了系统开销第47页/共69页文件目录文件控制块(FCB)即文件的说明信息文件控制块的有序集合即为文件目录,每一个文件控制块就是一个文件目录项文件系统利用目录文件完成按名存取和对文件信息的共享与保护FCB中包括基本信息类、存取控制信息类和使用信息类其中基本信息类中有文件名、文件内部标识、文件物理位置、文件逻辑结构和文件的物理结构等信息文件的目录结构 可分为单级目录、二级目录和多级目录第48页/共69页单级目录 系统中的所有文件都建立在一张目录表中每个文件的信息占用一个目录项文件创建时,检索所有表目,以确定文件名唯一,然后找一个空白目录项,填入新文件的文件名和其他信息,并将状态位置1(该表项被使用)文件删除时,找到目录项,根据FCB信息回收外存空间,清除该目录项,状态位置0(该表项未被使用)优点:简单,易于实现,实现了“按名存取”。
缺点:在文件较多时,查找速度慢、不允许重名和不便于实现文件共享(即别名问题,一个文件有多个不同的文件名)第49页/共69页二级目录各个文件的说明信息被组织成目录文件,且以用户为单位把各自的文件说明划分为不同的组然后,把这些不同的组名和有关存取控制信息存放在主目录(MFD)的目录项中与主目录 MFD相对应,用户文件的文件说明所组成的目录文件被称为用户文件目录(UFD)由MFD和UFD就形成二级目录第50页/共69页多级目录(树型目录)多级目录结构由根目录和各级目录组成,除根目录外,其它各级目录均以文件的形式组成目录文件根目录中的每个目录项可以对应一个目录文件,也可以对应一个数据文件,同样目录文件中的每个目录项可以对应一个目录文件,也可以对应一个数据文件如此类推,就形成多级目录结构Windows 下的 tree 命令可以列出目录树结构第51页/共69页第52页/共69页A UNIX directory treeUnix目录树第53页/共69页路径:从树的根(即主目录)开始,把全部目录文件名与数据文件名,依次地用“/”连接起来,即构成该数据文件的路径名(path name)相对路径把从当前目录开始直到数据文件为止所构成的路径名,称为相对路径名l.表示当前目录l.表示上级目录eg./mailbox绝对路径把从树根开始的路径名称为绝对路径名eg./usr/ast/mailbox第54页/共69页文件的共享和存取控制文件的共享和存取控制 3 3种:按用户分类的存取控制权限、存取控制矩阵和口令方式。
种:按用户分类的存取控制权限、存取控制矩阵和口令方式按用户分类Unix使用按用户分类的存取控制权限,即在文件存取控制上把用户分为创建者(owner)、同组用户(group)和一般用户(public)三种权限有可读(R)、可写(W)和可执行(X)三种使用Unix命令chmod可设置某文件的权限 Windows NT以后开始采用文件权限控制第55页/共69页n存取控制矩阵方式 以一个二维矩阵来进行存取控制二维矩阵的一维是所有的用户,另一维是所有的文件对应的矩阵元素则是用户对文件的存取控制权,包括读,写和执行XNjuHhuZhangftA.CRWXXRWXB.CRWRRWXD.CRWRWXE.CRWRWX第56页/共69页n口令方式n当用户进入系统 为建立终端进程时获得系统使用权的口令n每个用户在创建文件时 为每一个创建的文件设置一个口令,且将其置于文件说明中第57页/共69页An Example Program Using File System Calls(1/2)第58页/共69页An Example Program Using File System Calls(2/2)第59页/共69页Thank you!&Questions?第60页/共69页。




