第9章 文件系统_第1页
第9章 文件系统_第2页
第9章 文件系统_第3页
第9章 文件系统_第4页
第9章 文件系统_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第九章 文件系统29.1 文件系统的概念9.1.1 引言数据的逻辑组织:数据结构数据的物理组织:文件系统数据库39.1 文件系统的概念9.1.2 文件一、文件定义1、文件是具有符号名的信息(数据)项的 集合。2、文件是具有符号名的记录的集合。49.1 文件系统的概念9.1.2 文件二、文件名 根据文件的定义,每个文件必须有一个唯一的文件名,不论是系统管理,还是用户使用文件都使用文件名。文件名是一个有限长度的字符串。 DOS、WINDOWS系统中文件名: 文件名文件名 文件扩展名文件扩展名 文 件 名 是 一 个 不 大 于 8 个 字 符 的 字 符 串 , 但WINDOWS系统中允许超长文

2、件名,最多可有256个字符,不区分英文字母的大小写。59.1 文件系统的概念9.1.2 文件 文件扩展名:不大于3个字符,一般用来表示文件的类型。例如:C C语言源程序文件COM 可执行文件(小模式)EXE 可执行文件(大模式)BAT 批处理文件OBJ 目标文件69.1 文件系统的概念9.1.2 文件UNIX系统中的文件名:文件名是一个不大于14个字符的字符串。并且区分英文字母的大小写。例如:unix linux ll.c a .out aa AA 注意:在UNIX系统中文件名就是一个字符串,没有文件名和文件扩展名之分,文件的类型由用户命名时确定。例如,li.c,UNIX系统认为这个文件名的长

3、度是4个字符。而在DOS、WINDOWS系统中则解释这个文件名,li是文件名,c是文件扩展名,表示该文件是一个C语言的源程序文件,而“”是文件名和文件扩展名的分隔符。79.1 文件系统的概念9.1.2 文件三、文件的分类教材讲了三种文件分类的方法,下面介绍UNIX系统文件分类方法:1、普通文件普通文件是无结构的字符的集合。2、目录文件目录文件是由文件的目录项组成的文件。3、特别文件特别文件就是设备。89.1 文件系统的概念9.1.2 文件四、文件的属性文件属性反映文件的类型、存取控制、等UNIX系统中文件属性: 普通文件 d 目录文件 p 管道文件 c 字符型设备文件b 块设备文件 99.1.

4、3 文件系统 文件系统是操作系统中负责管理和存取文件信息的软件机构,它是由管理文件所需的数据结构和相应的管理软件以及访问文件的一组操作组成。从系统的角度看:文件系统是一个负责文件存储空间管理的机构。从用户的角度看:文件系统是用户在计算机上存储信息、和使用信息的接口。109.1.3 文件系统一般地文件系统应具有以下功能:1、提供用户对文件操作的命令;2、提供用户共享文件的机制;3、管理文件的存储介质;4、提供文件的存取控制的机制,保障文件及文件系统的 安全性;5、提供文件及文件系统的备份和恢复功能;6、提供对文件的加密和解密功能。119.2 文件的逻辑组织与存取方法9.2.1 文件的组织可以用两

5、种不同的观点去进行研究文件结构用户观点用户观点: 是研究用户“思维思维”中的抽象文件,或称逻辑文件,其研究的侧重点在于为用户提供一种逻辑结构清晰、使用简便的逻辑文件形式。用户将按照这种形式去存储、检索和加工有关文件中的信息。实现观点实现观点: 是研究驻留在设备“介质”中的实际文件,或称物理文件。它研究的侧重点是选择一些工作性能良好、设备利用率高的物理文件形式。系统将按照这种形式同外部设备打交道并控制信息的传输。129.2 文件的逻辑组织与存取方法9.2.1 文件的组织文件的组织有两种:文件的逻辑结构: 文件的逻辑结构是指用户思维中文件的结构。文件的物理结构: 文件的物理结构是指文件在存储介质上

6、的结构(或称组织)。在当代,文件的存储介质是磁盘,包括软盘、硬盘和光盘、磁带,早期还有磁鼓。由于目前的磁带是模拟磁盘的结构,所以文件的物理结构主要是指磁盘上文件的结构。139.2.2 文件的逻辑结构和存取方法一、文件的逻辑结构文件的逻辑结构: 结构文件记录式文件。 无结构文件流式文件1、流式文件 无结构的流式文件是相关的有序字符的集合。文件的长度为所含字符数。 UNIX、DOS、WINDOWS系统中的普通文件都是流式文件。149.2.2 文件的逻辑结构和存取方法2、记录式文件 记录式文件是一种结构式文件,文件是记录的集合. 每个记录由彼此相关的域构成。记录可按顺序编号为记录1,记录2,记录n。

7、如果文件中所有记录的长度都相同,则这种文件为定长记录文件。定长记录文件的长度 = 记录个数x记录长度。变长记录文件的长度为各记录长度之和。例如:学生登记表文件 xsdjb.dbf姓名 学号 籍贯 通信地址 邮政编码李铭 925678 武昌 武昌关山街125号 430074司马乐 925679 北京 北京海军路88号 100034159.2.2 文件的逻辑结构和存取方法两种文件的比较 流式文件就象给一张白纸给用户,用户可将他的信息任意地写到纸上,没有任何格式上的限制。信息建模能力强。 记录式文件就象给一张表格给用户,用户要按表规定的格式填信息。适合描述关系型数据。 显然,结构式文件对用户的限制很

8、大,使用起来就不方便。169.2.2 文件的逻辑结构和存取方法二、存取方法顺序存取: 后一次存取总是在前次存取的基础上进行的。每次存取不必给出存取开始的位置。随机存取: 每次存取操作都要指定存取操作的开始位置。在系统中提供文件存取操作有: n = read(fd, buffer, size); m =write(fd, buffer, size); 这两个操作总是从当前位置开始读(或写),执行顺序存取操作。179.2.2 文件的逻辑结构和存取方法seek(fd, offset, mode) 调整文件的读写起始位置的系统调用,若在read、write之前执行seek操作,就调整了文件的读写指针(

9、读写开始的位置),实现了随机存取。189.3 文件的物理结构 一个文件存储介质,格式化后就分成许多大小相等的单位存储块(物理盘块),在现代计算机系统中,一般来说,每个物理块是一个磁盘的扇区,512字节。并给每个存储块有个编号,称为物理块号。 文件的物理结构指文件在存储介质上的结构,目前有三种基本结构,即连续文件结构、串联文件结构和索引文件结构。连续分配(连续文件结构)不连续分配串联文件结构索引文件结构199.3 文件的物理结构209.3 文件的物理结构 9.3.1 连续文件219.3 文件的物理结构 9.3.1 连续文件优点: 连续分配方案的好处是文件存取非常简单迅速。 (1)连续分配方案下,

10、既可以顺序存取,也可以直接存取; (2)尤其对于磁盘来说,按照磁盘物理块号的编号方式在存取物理块b后,再存取b+1通常不需要移动磁头,即使需要也仅需移动一个磁道(从一个柱面的最后一个扇区移到下一柱面的第一个扇区)。这样,连续分配方案下对文件进行存取操作时,所需的磁盘寻道次数和寻道时间都是最少的。229.3 文件的物理结构 9.3.1 连续文件缺点: (1)在为一个新文件申请空间时,如果该文件长N块,就必须找到连续的N个空闲块,这显然要比找没有连续要求的N个空闲块难且慢。 (2)难于处理文件的动态扩充(动态伸缩)。这里的情况与内存管理是类似的,要么预留空间,要么重新分配和移动甚至比内存管理更复杂

11、。239.3 文件的物理结构 9.3.1 连续文件 (3)与内存的连续分配情况类似,无论采取哪种分配算法,都存在外部碎片外部碎片。也就是说,随着文件们不停地被分配和被删除,外存空闲空间逐渐被分割为很小的碎片,这些碎片越来越多、越来越小。最终导致出现这种情况:外存的总空闲盘块数比申请的要多但却因不连续而无法分配。外部存储碎片导致盘空间利用率低。249.3.2 串联文件 一个串联文件结构是按顺序由串联的块组成的,即文件的信息按存储介质的物理特性存于若干块中。 每个物理块的最末一个字(或第一个字)作为链接字,它指出后继块的物理地址。链首指针存放在该文件目录中。文件的结尾块的指针为“”。这种文件结构不

12、要求连续存放。 对于记录式文件一块中可包含一个逻辑记录或多个逻辑记录,也可以若干物理块包含一个逻辑记录。259.3.2 串联文件269.3.2 串联文件优点: 不连续分配可以解决连续分配导致的所有问题,包括外部存储碎片问题和文件长度说明问题等。 建立文件或动态扩充时,无需预留文件长度,无需分配连续盘块,解决了连续分配中空间浪费或移动费时的问题。无论是建立文件还是动态扩充,分配几个空闲盘块都比较简单,从空闲空间信息中得到前N个空闲块(不必连续,但盘块位置的具体选择可能影响效率)将该N块依次链到文件尾,并改变文件长度值即可。 不存在外部存储碎片,盘空间利用率高。只要还有足够多的空闲块,就可以分配,

13、文件可以一直增长。279.3.2 串联文件缺点:只能顺序存取,不能直接存取。换句话说直接存取只能转化为顺序存取效率太低。对于顺序存取,可以在读上一块时将其中所含的下一块地址存人内存,这样,顺序存取一块只需访盘一次。而对于直接存取,例如,要找到一个文件的第i块,必须从该文件的首块开始沿着指针逐块谈下去,每读一个指针就要读一个盘块,一共要读i块,才能得到文件的第i块。 可靠性问题变得严重起来。如果某一个文件的某一个盘块中的指针丢了,则该文件中在该盘块后的所有盘块就都读写不到了。实际情形要更严重一些:如果指针出问题,通常是错了(读到一个错误的值)而不是丢了(读不出来)这个错误的值可能有几种情况:(a

14、)错指到一个不存在的地址或一个坏盘块;(b)错指到空闲块上;(c)错指到其他文件的盘块上。后两种情况将进一步引起其他文件(可能不止一两个文件)的错误。指针出问题可能是在当初写时出的,也可能是在存储时出的,也可能是在读时出的。289.3.2 串联文件由于不连续分配,一个文件的所有块在盘上是分散分布的,故与连续分配相比,访问一个文件需要更多的寻道次数和寻道时间。为尽量减少寻道和延迟时间,在为文件分配空闲盘块时,虽然不要求连续,但尽量分配同一磁道或相邻磁道与扇区。 链接指针需要占用一定的空间。如果块长512B,指针2B,则指针占用0.39的空间299.3.3 文件照映 为了克服链接文件的存取效率太低

15、的问题,人们提出文件映照的技术,即把链接文件中的链接字集中在一结构中,这样既保持了链接文件的优点,也克服了其缺点,FAT系统就采用了这样结构。309.3.3 文件照映FAT(File Allocation Table ):文件分配表。 磁盘格式化后建立,从磁盘的第二个扇区开始,有两个相同的FAT。磁盘的类型 : FDF,双面,FCH,单面(9扇区/磁道)F8H,硬盘000H:空闲簇FFFH:文件的结尾簇XXXH:文件的下一簇319.3.4 随机文件 随机文件结构是另一种形式的非连续文件,文件数据存放的存储介质上,同时建立数据记录和地址间的对应关系。 访问文件时,根据对应关系到相应地址检索需要的

16、数据实现文件访问。 随机文件有三种形式的结构: 直接地址结构;(对逻辑记录建立索引) 计算寻址结构(hash函数); 索引结构;(对块建立索引) 329.3.4 随机文件1.索引文件结构 数据结构:索引表(逻辑块号/物理块号)索引表位置:文件目录中,文件的开头等。339.3.4 随机文件2.索引文件组织直接索引 间接索引 349.3.4 随机文件 UNIX系统采用索引文件结构,UNIX系统采用多级间接索引结构,对小型文件采用直接索引,对大型文件采用间接索引,从而,既保证绝大多数的文件有高的存取效率,又能适应存取一些大型文件。(既保证了文件系统的高效率,又使其有很宽的适应面)。3536379.3

17、.5 文件物理结构的比较 连续文件的优点是不需要额外的空间开销,只要在文件目录中指出文件的大小和首块的块号即可,对顺序的访问效率很高;适应于顺序存取。缺点是动态地增长和缩小系统开销很大;文件创建时要求用户提供文件的大小;存储空间浪费较大。应用于脱机备份文件系统。 串联文件克服了连续文件的不足之处,但文件的随机访问系统开销较大;适应于顺序访问的文件。文件照映集中存放文件逻辑链,改善了文件随机访问的效率。 索引文件既适应于顺序存访问,也适应于随机访问,是一种比较 好的文件物理结构,但要有用于索引表的空间开销和文件索引的时间开销。389.4 文件存储空间管理 1.空闲文件目录(表9.3)2.空闲块链

18、3.位示图(图9.8)分配策略 静态 动态399.5 文件目录9.5.1 文件目录及内容文件目录: 文件目录即文件名址录。它是一张记录所有文件名及其存放地址、文件的说明和控制信息的表格。 一般情况下,每个文件占用一个表目,即每个文件有一个文件的目录项。409.5 文件目录9.5.1 文件目录及内容1.文件名。2.文件的大小。单位:字节。3.文件在物理存储介质中的位置。取决于文件的物理结构 。连续文件:文件起始块号;串联文件:指向第一个物理块的指针;索引文件:索引表。4.存取控制信息。文件主和其它用户对该文件的访问权限。5.管理信息。包含文件创建的日期和时间,最近修改该文件的日期和时间等。6.文

19、件的类型。419.5.2 一级目录结构一级文件目录 最简单的文件目录结构是在系统中建立一张线性表,每个文件占一表目,由文件名和文件的说明和管理信息组成。这样的表称为一级文件目录. 一级文件目录的主要功能是实现“按名存取”, 并且实现容易。主要问题是主要问题是 重名重名 问题问题 所谓“重名”是指不同用户对不同文件起了相同的名字,即两个或多个文件只有一个相同的符号名。 429.5.2 一级目录结构439.5.3 二级目录结构多用户系统中常见: 主文件目录 用户文件目录44目录文件:由文件的目录项组成的文件称为目录文件。 系统中有一个根目录(或根目录文件),在这个目录中可登记一般文件,也可以登记目

20、录文件,在每个目录文件中可以登记一般文件,也可以登记目录文件。 根据这个递归定义就形成了一个倒立的树的结构。对于一棵树,它有一个树根(只有一个,根目录),在树根上可以长树叶(一般文件),也可以长树枝(子目录文件);对于每个树技又可以长树枝,也可以长树叶。9.5.4 多级目录结构(树型目录结构)459.5.4 多级目录结构路径名路径名:一个文件的路径名是由根目录到该文件的通路上所有目录文件名和该文件的符号名组成的。DOS WINDOWS系统中文件路径名 ART BIUID BPUNIX系统中文件路径名/A/R/T /B/IU/I/D /B/P 46479.6 共享与安全9.6.1 文件共享与安全

21、性的关系减少重复劳动,提高效率共享;共享安全;安全文件保护;文件保护系统功能: 表示需要保护的目标文件; 表示文件保护访问类型; 表示文件访问的主体; 访问权限认证,实施保护;489.6 共享与安全9.6.2建立当前目录实现文件共享499.6 共享与安全9.6.3采用连接技术实现文件共享509.6 共享与安全9.6.4存取权限的类型及其验证方式 存取权限的类型: EXECUTE ACCESS READ ACCESS UPDATE ACCESS WRITE ACCESS DELETE ACCESS CHANGE ACCESS519.6 共享与安全9.6.4存取权限的类型及其验证方式 验证方式:

22、访问控制矩阵(图9.11) 存取控制表( 表9.5) 用户权限表( 表9.6) 口令 加密技术529.7 文件操作及文件备份9.7.1 文件操作( 表9.7) Open:用户在使用文件之前必须要使打开文件操作 文件是存放在磁盘上的,磁盘属于外存储器,它是CPU不能直接访问的存储器,用户当然就不能直接存取存放在磁盘上的文件。但用户又要使用文件,这样在使用文件之前就要在内存中建立存取文件的结构,然后通过对这个结构的访问来达到对文件的访问。9.7.2 文件备份全量备份增量备份539.8 UNIX文件系统9.8.1 UNIX文件系统特点1.树型层次结构;2.可安装、拆卸的文件系统;3.流式文件,利于用

23、户自己定义文件结构;4.把设备和目录都看成文件处理;549.8 UNIX文件系统9.8.2 UNIX文件系统静态结构文件目录项由文件名和文件I节点号组成 I节点号(2) 文件名(14) UNIX系统中文件目录项只包括文件名和I节点号,把通常目录项中的信息放在一个叫索引节点(I节点)的结构中,有两个优点:其一是便于文件的共享,即不同的用户可以通过不同的文件路径名来共享一个文件;其二是加快文件检索的速度。559.8 UNIX文件系统 9.8.2 UNIX文件系统静态结构569.8 UNIX文件系统 9.8.2 UNIX文件系统静态结构特别块(管理块)结构: 特别块是在磁盘格式化时建立的,当一个文件

24、子系统安装到系统中时,系统将申请一个内存缓冲区来存放特别块。579.8 UNIX文件系统 9.8.2 UNIX文件系统静态结构UNIX系统中,一个文件存在要占用如下资源:至少占用一个文件目录项;仅占用一磁盘I节点;占用一个或多个磁盘块(物理块)。589.8 UNIX文件系统 9.8.2 UNIX文件系统静态结构i_uid:文件主的用户名 i-gid:用户组名i-mode:文件的类型和文件的存取控制权限IALLOC:此I节点被占用IFDIR目录文件IFCHR字符文件IFBLK块文件IREAD读IWRITE写IEXEC执行共分三组,表示文件主、同组用户和其它用户的权限i_mode0表示该I节点空闲

25、i_nlink文件的联接数,在UNIX系统中一个文件可以登记在不同的目录文件中,目的是为不同的用户共享文件提供支持。i_atime最近使用时间i_mtime最近修改时间i_addr文件索引表599.8 UNIX文件系统 9.8.2 UNIX文件系统静态结构文件的索引结构:(在结构中的索引表有个表目) 前10个表目存放文件数据块的地址,采用直接索引,如果文件的长度超过10个数据块; 第11个表目登记的是一次间接索引块的物理块号,该块存放索引表,而不是文件的内容,采用一次间接索引; 第12个表目登记二次间接索引块的物理块号,该块存放二次间接索引表,每个表目中登记的是一次间索引表的物理块号; 第13个表目登记的是三次间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论