南京邮电大学第七章文件管理南京邮电大学第七章文件管理7.1文件和文件系统7.2文件逻辑结构7.3存储介质7.4文件的物理结构7.5目录管理7.6文件存储空间的管理7.7磁盘容错技术南京邮电大学第七章文件管理7.1文件和文件系统南京邮电大学7.1.1概述所有的计算机应用程序都要存储信息和检索信息三个基本要求:能够存储大量的信息长期保存信息可以共享信息解决方法:把信息以一种单元,即文件的形式存储在磁盘或其他外部介质上。文件是通过操作系统来管理的,包括:文件的结构,命名,存取,使用,保护和实现方法。南京邮电大学1.文件管理任务文件管理是软件(程序与数据集合)资源管理,是涉及用户作业和内部硬件管理任务:把存储、检索、共享和保护文件的手段,提供给本身和用户,以方便用户及资源利用功能:–分配与管理外存–提供合适的存储方法–文件共享,保护解决冲突南京邮电大学2.文件管理功能分配与管理外部存储器,用户以文件形式存放信息,“按名存取”,文件的机内码与磁盘、光盘等外存的地址建立起相对应的表格联系提供合适的存储方法,例如,鍵盘命令以及程序中使用系统调用控制。包括文件的创建(Create)、打开(Open)、关闭(Close)、读写(Read/Write)、刪除(Delete,Erase)和重命名或改名(Rename)等文件的共享与保护,解决文件命名中的冲突和存取权限的控制南京邮电大学3.文件的概念文件是软件机构,软件资源的管理方式具有符号名的一组相关元素的有序序列,是一段程序或数据的集合一组赋名的相关联字符流的集合,或者是相关联记录。而记录是有意义的信息集合信息项:构成文件内容的基本单位文件的特性:包括文件说明、文件体。文件是一个抽象机制,它提供了一种把信息保存在存储介质上,而且便于以后存取的方法,用户不必关心实现细节.南京邮电大学4.文件系统的概念友好的用户接口对文件实现按名存取,具体操作对用户透明某些文件可以被多个用户或进程所共享文件系统大都使用磁盘、磁带和光盘等大容量存储器作为存储介质,因此可存储大量信息文件系统=文件管理程序(文件和目录的集合)+它所管理的全部文件南京邮电大学7.1.2.文件分类–按文件性质与用途分类–按操作保护分类–按使用情况分类–按用户观点分类(UNIX或Linux操作系统)–按存取的物理结构分类–按文件中的数据形式分类南京邮电大学1)按性质和用途分类系统文件–由系统软件构成的文件,只允许用户通过系统调用或系统提供的专用命今来执行它们,不允许对其进行读写和修改–主要有操作系统核心和各种系统应用程序或实用工具程序和数据组成–例如:ibmbio.com,ibmdos.com,\comand.com,/unix库文件–文件允许用户对其进行读取和执行,但不允许对其进行修改–主要由各种标准子程序库组成–例如:C语言、FORTRAN子程序库存放在子目录下*.LIB,/lib/,/usr/lib/用户文件–是用户通过操作系统保存的用户文件,由文件的所有者或所有者授权的用户才能使用–主要由用户的源程序源代码、可执行目标程序的文件和用户数据库数据等组成–例如:*.c,*.for,*.f,*DBF,*.OBJ南京邮电大学2)按操作保护分类只读文件:只允许文件主及被核准的用户去读文件,而不允许写文件。标记为:-r-----可读可写文件:允许文件主及被核准的用户去读和写文件。标记为:-rw----可执行文件:允许文件主及被核准的用户去调用执行该文件而不允许读和写文件,标记为:---x---各个操作系统的保护方法和级别有所不同–DOS操作系统三种保护:系统、隐藏、可写–UNIX或Linux操作系统有九个级别的保护南京邮电大学3)按存放时限分类临时文件:用于系统在工作过程中产生的中间文件,一般有暂存的目录,正常工作情况下,工作完毕会自动删除,一旦有异常情况往往会残留不少临时文件永久文件:指一般受系统管理的各种系统和用户文件,经过安装或编辑、编译生成的文件,存放在软盘、硬盘或光盘等外存上档案文件:系统或一些实用工具软件包在工作过程中记录在案的文挡资料文件,以便查阅历史挡案南京邮电大学4)按用户观点分类普通文件(常规文件)–是指系统中最一般组织格式的文件,一般是字符流组成的无结构文件目录文件–是由文件的目录信息构成的特殊文件,操作系统将目录也做成文件,便于统一管理特殊文件(设备驱动程序)–在UNIX或Linux操作系统中,所有的输入输出外部设备都被看作特殊文件便于统一管理–操作系统会把对特殊文件的操作转接指向相应的设备操作,真正的设备驱动程序不包含在这特殊文件中,而是指向与链接到操作系统核心中存放在内存高端部分南京邮电大学5)按存取的物理结构分类顺序(连续)文件–文件中的纪录,顺序地存储到连续的物理盘块中,顺序文件中所记录的次序,与它们存储在物理介质上存放的次序是一致的链接文件–文件中的纪录可存储在并不相邻接的各个物理块中,通过物理块中的链接指针组成一个链表管理,形成一个完整的文件,又称指针串连文件或直接存取文件索引文件–文件中的纪录可存储在并不相邻接的各个物理块中,纪录和物理块之间通过索引表项按关键字存取文件,通过物理块中的索引表管理,形成一个完整的文件南京邮电大学6)按文件的逻辑存储结构分类有结构文件由若干个记录所构成的文件,故又称为记录式文件无结构文件这是直接由字符序列所构成的文件,故又祢为流式文件南京邮电大学第七章文件管理7.2文件逻辑结构南京邮电大学逻辑结构文件的逻辑结构(组织):是指从用户组织、使用文件时可见的结构。选取文件逻辑结构时应该遵循的原则:(1)能减少修改文件时的处理工作量(2)能有较快的查找速度(3)能尽量节约存储空间(4)便于用户进行操作南京邮电大学文件逻辑结构主要分为两类:流式文件和记录文件1.对于流式文件:由连续字符流组成,存取、检索的基本单位是字符,如DOS、UNIX、WINDOWS等2.对于记录式文件:由记录组成,存取、检索的基本单位是记录记录是具有特定意义的信息单位,它由记录逻辑地址、一组键、属性(数据项)组成,属性是可命名的最小单位3.文件时存储空间分配的基本单位南京邮电大学文件的记录式文件结构(1)连续结构按记录生成先后顺序排列的逻辑结构特点:适用性,可用于所有文件,记录的排列与记录的内容无关,便于追加和更新,但不利于随机检索。(2)多重结构按键值组织多个队列,每个队列中的所有记录都包含该键值特点:有利于按键值检索南京邮电大学(3)转置结构把所有与同一键值对应的记录指针连续的置于目录中该键的位置下。特点:最适合于按键值检索记录(4)顺序结构:所有记录按给定的键所规定的顺序排列的方式特点:增加和删除记录时比较麻烦,因为文件是按键排序的,增、删记录均需调整记录顺序。南京邮电大学存取方法(1)顺序存取法按文件的逻辑地址进行顺序存取,对于记录式文件,按记录好的顺序存取,对于字符流(无结构文件),存取位置由读写指针指明,且读写指针根据读取的字符量自动调整。(2)随机存取法按记录号直接进行存取,或根据存取命令直接把读写指针移到欲读写位置来读写(3)按键存取法按给定的键值或记录名进行存取按键存取时的几种搜索算法:(1)线性搜索法(逐个比较搜索),效率较低(2)散列法(由散列函数直接产生键所对应的逻辑地址)(3)二分法(适用于文件中的键或记录是有序的情况,效率较高)南京邮电大学第七章文件管理7.3存储介质南京邮电大学物理块(块)在文件系统中,文件的存储设备常常划分为若干大小相等的物理块。同时也将文件信息划分成相同大小的逻辑块(块),所有块统一编号。以块为单位进行信息的存储、传输,分配存储介质:磁盘,磁带,光盘物理块与存储介质南京邮电大学1.磁带永久保存大容量数据顺序存取设备:前面的物理块被存取访问之后,才能存取后续的物理块的内容,存取速度较慢,主要用于后备存储,或存储不经常用的信息,或用于传递数据的介质南京邮电大学第i块间隙第i+1块南京邮电大学直接(随机)存取设备:存取磁盘上任一物理块的时间不依赖于该物理块所处的位置2.磁盘南京邮电大学磁道扇区南京邮电大学柱面扇区磁臂磁头南京邮电大学1)磁道与柱面信息记录在磁道上,多个盘片,正反两面都用来记录信息,每面一个磁头所有盘面中处于同一磁道号上的所有磁道组成一个柱面物理地址形式:磁头号(盘面号)磁道号(柱面号)扇区号南京邮电大学2)磁盘系统与磁盘分类磁盘系统由磁盘本身和驱动控制设备组成,实际存取读写的动作过程是由磁盘驱动控制设备按照主机要求完成的硬盘又分为两种:固定头磁盘:每个磁道设置一个磁头,变换磁道时不需要磁头的机械移动,速度快但成本高移动头磁盘:一个盘面只有一个磁头,变换磁道时需要移动磁头,速度慢但成本低南京邮电大学3)访盘请求完成过程磁盘地址(设备号,柱面号,磁头号,扇区号),内存地址(源/目)一次访盘请求(读/写)完成过程由三个动作组成:寻道(时间):磁头移动定位到指定磁道旋转延迟(时间):等待指定扇区从磁头下旋转经过数据传输(时间):数据在磁盘与内存之间的实际传输南京邮电大学光盘容量大,速度快,价格便宜,但一般不可写可读写光盘驱动器价格贵,写过程很麻烦光盘的空间结构与磁盘类似3.光盘南京邮电大学4.外存的特点容量大,断电后仍可保存信息,速度较慢,成本较低两部分组成:驱动部分+存储介质种类很多外存空间组织与地址与存取方式非常复杂I/O过程方式非常复杂南京邮电大学5.用户对外存的要求用户对外存的使用:读写外存数据用户对外存的要求:方便、效率、安全(1)在读写外存时不涉及硬件细节,使用逻辑地址和逻辑操作(2)存取速度尽可能快,容量大且空间利用率高(3)外存上存放的信息安全可靠,防止来自硬件的故障和他人的侵权(4)可以方便地共享,动态扩缩,携带拆卸,了解存储情况和使用情况(5)以尽可能小的代价完成上述要求南京邮电大学第七章文件管理7.4文件的物理结构南京邮电大学文件的物理结构在文件系统中,文件的存储设备通常划分为若干那个大小相等的物理块,每块的长为512或1024字节。文件信息也同样划分为与存储设备的物理块大小相等的逻辑块,因此,块作为文件空间和传送信息的基本单位。文件的物理结构是指文件在外存上的存放结构常用的文件物理结构:(1)连续文件把一个在逻辑上连续的文件信息依次存放到连续的物理块中。南京邮电大学特点:1)文件逻辑号到物理块号的映射简单,读写速度快;2)不利于文件内容的增减,而且会限制文件的大小。2)串联文件串联文件采用非连续的物理块来存放文件信息,在每个物理块中设置一个指针指向其后续的物理块,而使得存放同一文件的物理块结成一个串联队列。南京邮电大学特点:1)不必在文件信息中指明文件的长度,只需指明第一块号;2)文件的长度可以动态地增加,通过调整指针就可以实现插入和删除一个信息块;3)查找文件信息块时要顺着链进行,所以搜索效率较低,因此不适合随机存取。南京邮电大学(3)索引文件为每个文件建立一张索引表,表中每一栏指出文件信息所在的逻辑块号和与之相对应的物理块号,索引表的物理地址由文件说明信息给出特点:1)索引文件能满足文件动态增长的要求,又适用于顺序访问的随机访问2)增加了空间开销,因索引表要占用空间;另外,存取文件需两次访问存储器,一次读索引表,第二次才读数据南京邮电大学文件类型与文件存取器、存取方法的关系存取设备磁盘、磁鼓磁带文件类型连续文件串联文件索引文件Hssh文件连续文件文件长度固定固定、可变固定、可变固定、可变固定存取方法直接、顺序顺序直接、顺序直接、顺序顺序南京邮电大学第七章文件管理7.5目录管理南京邮电大学7.5目录管理(1)实现“按名存取”(2)提高对目录的检索速度(3)文件共享(4)允许文件重名南京邮电大学文件目录管理就是对文件说明信息的管理。文件系统中实现按名存取就是通过文件目录管理来实现的。从管理角度看,文件由文件说明和文件体组成·文件说明:也叫文件控制块(FCB),它包