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

下载本文档

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

文档简介

操作系统原理PrinciplesofOperatingSystem,主讲:孔宪君,第7章文件系统,7.1文件7.1.1文件的定义定义:文件是具有文件名的一组逻辑上具有完整意义的信息集合。文件名是一个字符串。文件是可以是字符的集合,这是一种无结构的文件,称为流式文件。文件是也可以是记录的集合。记录是一组相关数据项的集合。数据项又称为数据元素或字段。文件可以是由若干记录组成的集合,也可以是无记录无结构的相关字符的集合,甚至可以是某些设备。,7.1.2文件的类型,1.按文件的用途分类:系统文件:库文件:用户文件:2.按文件的性质分类普通文件:指一般的用户文件和系统文件。目录文件:指由文件目录项组成的文件。特别文件:有的系统把设备作为文件统一管理和使用,并为区别起见,把设备称为特别文件。,3.按文件的操作保护分类只读文件:只允许授权用户进行读操作。标记为:r。读写文件:允许授权用户进行读写操作。标记为:rw。执行文件:允许授权用户调用执行。标记为e。不保护文件:不作任何操作限制。4.按文件中的数据形式分类源文件目标文件:可执行文件:,5.按存取的物理结构分类顺序文件:链接文件:索引文件:6.按文件的逻辑结构分类有结构文件:由若干个记录所构成的文件,也称为记录式文件。无结构文件:这是直接由字符序列所构成的文件,也祢为流式文件。,7.1.3文件命名,文件最重要的特征就是文件的命名,从对文件的创建到删除,所有对文件的操作管理和控制无一不以文件名为标识。不同操作系统对文件的命名规则各有不同,文件名称的长度因操作系统不同而不同。例如,MSDOS文件系统(FATl2/16)使用8.3命名规则NTFS文件系统文件名可以达到255个字符。EXT2文件系统(一种常用UNIX文件系统)则没有长度限制。FATl2/16文件系统不区分文件名的大小写;而EXT2文件系统则加以区分。例如,chap123.htm、CHAP123.HTM、Chap123.htm和Chap123.Htm等文件名在FATl2/16中表示同一文件,而在EXT2中则表示不同的文件。FATl2/16文件系统只能使用ASCII字符命名文件;NTFS文件系统则可以使用更为广泛的字符(如Unicode)。MS-DOS和Windows操作系统对不同的后缀有特定的解释;而UNIX操作系统则没有统一的规定。例如,在MS-DOS和Windows中,prog.c为C语言源文件,prog.CXX为C+源文件,prog.doc为Word文件,prog.hlp为帮助文件,prog.htm为HTML文档,prog.ini为配置文件等。,7,7.1.4文件属性,文件名:文件内部标识符:文件物理位置:文件主:文件权限:文件类型:文件长度:文件时间:,8,7.1.5文件控制块,文件有文件头和文件体两部分组成,文件体是指文件的数据部分,而文件头则是文件属性信息的数据结构,用于描述、控制和管理文件,也叫文件控制块(FileControlBlock,FCB)。文件控制块是操作系统为管理文件而设置的数据结构,文件控制块是文件存在的标志。文件控制块包含的内容:基本信息地址信息存取控制信息使用信息,9,7.1.6索引节点,I节点编号:用于标识内存I节点。状态:指示I节点是否上锁或被修改。访问计数:每当有一进程要访问I节点时,将该访问计数加1,访问完成再减1。文件所属文件系统的逻辑设备号。链接指针:设置有分别指向空闲链表和散列队列的指针。,10,7.1.7文件的操作,1.创建文件在UNIX中创建文件的系统调用格式如下:fd=creat(“/user/lib/testout.c”,664);fd是文件描述符,创建文件时系统返给用户的文件句柄。0664表示UNIX文件的属性。UNIX文件的属性包括可读、可写、可执行。只有给予了相应的属性才能应用。现在说明一下chmod的用法。chmod为八进制数,转成9位的二进制数,表示属性如下:前三位:文件主:read,write,execute中三位:同组用户:read,write,execute后三位:其他用户:read,write,execute1为允许,0为不允许。即:rwxrwxrwx110110100664,11,2.打开文件打开文件就是建立起用户、应用进程和文件之间的联系。将打开文件的文件控制块填入打开文件表中,如果打开文件表中存在该文件(共享文件),则该文件的访问计数器加一,此时用户就可以对文件进行访问了。文件系统为了改善性能,当打开文件时,一般将文件的数据提前读入内存。在UNIX中打开文件的系统调用格式如下:fd=open(“/user/lib/testout.c”,664);3.关闭文件close(fd);4.保存文件,12,5.删除文件当删除文件时,系统要先从目录中找到被删除文件的文件控制块,使之变成空白的文件控制块,然后回收该文件的存储空间,用于下次分配。如果该文件为共享文件,系统须给出提示,由用户确定是否继续删除该文件。在UNIX中删除文件的系统调用格式如下:unlink(“/user/lib/testout.c”);6.读文件nr=read(fd,buf,count);7.写文件nw=write(fd,buf,count);,13,7.2文件系统的结构,7.2.1文件系统的定义文件系统是操作系统中统一管理信息资源的一种系统软件,管理文件的存取、检索、更新,提供安全可靠的共享和保护手段,并且提供用户使用文件系统的接口。文件系统包含文件管理程序和所管理的全部文件(文件和目录)。文件和目录保存外存空间。因此,文件系统管理的对象是文件、目录和文件存储空间。,7.2.2文件系统的功能,实现文件的按名存取。按名存取是文件系统最基本的实现目标。管理文件的存储空间,实施文件存储空间的分配与回收。实现文件信息的共享,允许不同目录的文件重名,并提供文件的保护和保密措施,文件的安全措施。为用户提供一个方便使用的接口,向用户提供有关信息,提供系统维护的操作命令,提供对文件和目录的操作命令对等。,15,7.2.3文件系统层次模型,文件系统管理的对象具体如下:文件。它作为文件管理的直接对象。目录。文件存储空间。I/O控制层基本文件系统层文件组织模块层逻辑文件系统层,16,7.2.4虚拟文件系统,VFS层通过定义一个清晰的VFS接口,以将文件系统通用操作和具体实现分开。多个VFS接口的实现可以共存在同一台机器上,它允许访问已装在本地的多个类型的文件系统。,17,7.2.5常用文件系统,典型的文件系统如下:sysv:SystemV/386、Coherent和Xenix文件系统。Minix:最老的UNIX文件系统之一,可靠强,有些没有时间标记,文件名最长30个字符,每个文件系统最多管理64MB外存。EXT:EXT2的老版,不向上兼容。难于用新版安装程序安装,大部分人都改用EXT2。EXT2:Linux最为常用的文件系统,设计易于向后兼容,所以新版的文件系统代码无需改动就可以支持已有的文件系统。,18,NFS:网络文件系统,允许多台计算机之间共享文件系统,易于从所有这些计算机上存取文件。HPFS:IBMOS2文件系统。FAT:FAT文件系统于1982年开始应用于MS-DOS中。经过了MS-DOS、Windows3.x、Windows9x、WindowsNT、Windows2000、WindowsXP和OS/2等操作系统的不断改进,现已包含FATl2、FATl6和FAT32等。NTFS:NTFS是微软为了配合WindowsNT的推出而设计的文件系统,为系统捉供了极大的安全性和可靠性,它是当今世界上最出色的文件系统之一。,7.3文件的结构,7.3.1文件的逻辑结构流式文件流式文件是一种无结构的文件,基本信息单位是字节(Byte),是由字符流构成的文件。其长度是所含字节的数量。对大量的源程序、可执行文件、库函数等,所采用的就是无结构的文件形式,即流式文件。其长度以字节为单位。对流式文件的访问,则是采用读写指针来指出下一个要访问的字符。系统不对文件进行格式处理。这种文件的优点是节省存储空间,无需额外的说明和控制信息。,记录式文件记录式文件是一种结构文件,由若干个记录组成,文件中的记录可按顺序编号为记录1、记录2、记录n。如果文件中所有记录的长度相等,则称为定长记录文件。若文件中的记录长度不相等,则称为变长记录文件。相对流式文件而言,记录式文件的使用不很方便,尤其是变长记录文件。另外在文件中还要有说明记录长度的信息,这就浪费了一部分存储空间。因此许多操作系统(如UNIX等)都已取消了记录式文件。,7.3.2文件的物理结构,文件的物理结构(filephysicalstructure)是指文件在物理存储介质上的结构,它与存储介质的存储特性有关,它对文件的存取方法有较大的影响。文件的存储设备通常划分为大小相等的物理块,物理块是分配及传输信息的基本单位。物理块的大小与设备有关,与逻辑记录大小无关,因此一个物理块中可以存放若干个逻辑记录,一个逻辑记录也可以存放在若干个物理块中。为了有效利用物理存储设备和便于系统管理,一般把文件信息划分为与物理块大小相等的逻辑块。,1.顺序结构顺序结构也叫连续结构,它将一个文件在逻辑上连续的信息存放在外存上连续物理块中,采用顺序结构存放的文件称为连续文件。连续文件的信息逻辑相邻,物理也相邻。,顺序结构的主要优点如下:简单。顺序访问速度快。所需的磁盘寻道次数和寻道时间最少。顺序结构的主要缺点如下:文件不易动态增长。不利于文件插入和删除操作。外存存在碎片问题。,2.链接结构这是一种非连续的结构,它将一个文件逻辑上连续的信息存放在外存上不连续物理块中,为了系统能方便地找到后续信息,存放文件信息的每一物理块中有一个指针,指向下一个物理块的位置,这个指针的长度由物理设备的容量决定,通常放在该物理块的开头或结尾,利用指针将同一个文件的物理块链接起来。采用链接结构存放的文件称为链接文件。,链接结构的主要优点如下:提高了磁盘空间利用率,解决了碎片问题。有利于文件插入和删除。有利于文件动态扩充。链接结构的主要缺点如下:存取速度慢,不适于随机存取。链接指针占用一定的空间。可靠性问题,如指针出错。更多的寻道次数和寻道时间,3.文件分配表FAT扇区就是在各圆形磁道上的段,象一个个的扇区就构成了磁盘的物理存储块,扇区通常的容量是512byte。簇是扇区的大小整数倍,像512B、1K、2K、4K、8K、16K、32K、64K。实际中通常不超过32K。之所以簇为单位而不以扇区为单位进行磁盘的分配,是因为当分区容量较大时,采用大小为512B的扇区管理会增加FAT表的项数,对大文件存取增加消耗,文件系统效率不高。文件分配表(FileAllocationTable,FAT)是链接结构的一个变形,如图6-4所示,将盘块中的链接字按盘块号的顺序集中起来,构成盘文件映射表/文件分配表,利用FAT可方便地进行随机存取。在FAT文件系统中块称为簇。一个磁盘分区能分为多少簇则FAT就有多少表项。,4.索引结构索引结构是一种离散结构,一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构,即索引表,索引表就是文件信息所在的逻辑块号和与之对应的物理块号的对照表。采用索引结构存放的文件称为索引文件。索引表的查找策略对文件系统的性能影响很大。,索引结构的主要优点如下:保持了链接结构的优点,又解决了其缺点。即能顺序存取,又能随机存取。满足了文件动态增长、插入删除的要求。能充分利用外存空间。索引结构的主要缺点如下:索引表本身带来了系统开销。,如图6-8所示,UNIX文件系统采用的是混合多级索引结构。并依据文件的大小来确定索引表的大小。如果文件很大,那么相应的索引表也就很长,通常索引表也放在外存中。UNIX的文件分为小型、中性、大型、巨型四种类型。,27,在该方案中,各级索引结构的最大文件长度,7.3.3文件的存取方法1.顺序存取顺序存取是文件存取的最简单方法,即按文件信息的逻辑顺序依次存取。当打开文件时,文件的存取指针指向第一个信息单位,如第一个字节或第一个记录,每存取一个信息单位存取指针加1指向下一个信息单位,如此类推。文件顺序存取是按从前到后的顺序对文件进行读写操作,有的存储设备(如磁带)只能支持顺序访问。2.随机存取文件随机存取,也称为直接存取,是可以按任意的次序对文件进行读写操作。有的存储设备支持随机存取,如磁盘支持随机存取和顺序存取。根据地址(如记录编号)直接存取文件的任何部分(记录),而无需存取其前面的部分(记录),每次存取操作时必须先确定存取的位置。,文件的存取方法、存储设备和物理结构三者之间的关系如表6-1所示。,表6-1存取方法、存储设备和物理结构三者之间的关系,7.4目录管理,7.4.1目录管理的功能目录也被称为文件夹。所谓目录,就是把相关的文件控制块组织在一起,就构成了文件目录。构成文件目录的项目称为目录项,即文件控制块FCB。目录应具有如下几个功能:实现文件按名存取。提高文件检索速度。允许文件重名。便于文件共享。,7.4.2文件目录结构,根据目录的结构,可以将目录分为单级目录、二级目录、树型目录、无环图结构目录等。1.单级目录单级目录最为简单,在整个文件系统中仅仅建立和维护一张总目录,系统上的所有文件都在该目录中占有一项。但是存在以下明显的缺点:不允许文件重名。文件查找速度慢。,2.二级目录二级目录可以解决文件重名,系统建立二级目录,即把系统中的目录分为一个主文件目录(MasterFileDirectory,MFD)和多个用户文件目录(UserFileDirectory,UFD)。具有以下优点:提高了文件检索速度。二级目录结构较为简单,这是因为它们被不同的目录空间所分隔。二级目录也有其缺点,不能反映现实世界中多层次的关系。,3.树型目录为了更好地反映系统中众多文件的不同用途,为了方便查找文件,可以把二级目录加以推广,而形成多级层次目录。多级目录也称为树型目录,树型目录产生于UNIX操作系统,被现代操作系统广泛采用。在多级层次目录中,有一个根目录和许多子目录。子目录不但可以包含文件,而且还可以包含下一级的子目录,这样依次推广下去就形成了树型层次目录。,树型目录具有以下优点:提高文件检索速度。允许文件重名。不但不同用户可以使用同名文件,同一用户也可使用同名文件。利用多级层次结构关系,使用户文件的逻辑结构清晰,把不同类型和不同用途的文件分类,可以更方便地制定保护文件的存取权限,有利于文件的保护。树型目录也有其缺点,如不能直接支持文件或目录的共享。在整个目录树中,节点有两种类型:一类节点有子节点,这种节点为目录文件节点;还有一类节点是没有子节点的,这类节点称为叶子节点或树叶节点。,路径名在树型目录结构中一个文件的标识是路径名和文件名,而是从根目录开始,经过一个或多个中间节点,到达某个叶节点存在一条路径,我们称这条路径为该文件的路径名。路径名是由到达某个叶节点所经历的子目录名以及分隔符组成,通常使用分隔符“/”或“”,例如/user/vc/ccc.c。在树型目录结构中,文件路径名一般较长,而用户总是局部地使用文件,为了方便起见,可把正在使用目录指定为当前目录。查询时,若路径名以“/”或“”开头,则从根目录开始查找,否则从当前目录开始查找。,36,用目录树组织文件系统时,常用的方法有两种。第一种是绝对路径,对任何一个文件,从根目录开始,到该文件所经历的子目录名连成一个路径名,这个路径名以分隔符“/”或“”开头,再以分隔符将每两个子目录名分隔开,形成此文件的路径名称为绝对路径名。例如/user/vc/ccc.c。第二种是相对路径,从当前目录到指定文件所经过的子目录名就构成了相对路径。例如工作目录是user,上面文件ccc.c的相对路径为vc/ccc.c。设置绝对路径可以从文件系统根目录开始查找文件或目录,并且文件重名时路径不同而不会造成检索错误。但绝对路径名太长,用户使用不方便,在指定的当前目录下,相对路径名会很短,用户使用就方便了。,37,4.无环图结构目录无环图结构目录是树型目录的推广,有些教材称为带有链接的树型目录。为了允许文件或目录可以被不同的目录所共享,可以把树型目录的层次关系加以推广,而形成无环图结构目录,无环结构目录被现代操作系统广泛采用。在无环结构目录中,不同的子目录可以共享一个文件或子目录,而不是各自拥有文件或子目录的副本。,38,无环图结构目录的

温馨提示

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

评论

0/150

提交评论