湘潭大学操作系统第7章课件ppt_第1页
湘潭大学操作系统第7章课件ppt_第2页
湘潭大学操作系统第7章课件ppt_第3页
湘潭大学操作系统第7章课件ppt_第4页
湘潭大学操作系统第7章课件ppt_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

1计算机操作系统第7章文件管理2目录7.1概述7.2文件结构7.3文件目录7.4文件共享和安全3教学目的了解文件系统的概念、文件的使用、文件系统的层次模型。掌握文件系统的基本概念和实现过程。掌握文件的逻辑结构、物理组织及对不同类型文件的存取方法。掌握文件目录查询方法、文件共享及安全4文件管理计算机中使用到的大量数据和程序,都以文件的形式存放在外存当中,需要使用时才将其调入内存。要对外存上的大量文件进行有效管理,不仅要熟悉外存的特性,还要了解文件的各种属性以及它们在外存当中的位置,并且在多用户环境下,还要能保证数据的安全性和一致性。操作系统为文件管理的承担者,专门负责管理在外存上的文件,并把对文件的存取、共享和保护等手段提供给用户。即方便了用户、保证了文件的安全性,还有效的提高了系统资源的利用率。57.1概述文件系统是指计算机存储设备上组织文件的方法,是操作系统用于明确存储设备或分区上的文件的方法和数据结构。具体地说,操作系统中负责管理和存储文件信息的软件模块被称为文件管理系统,简称文件系统。67.1概述文件系统由三部分组成:与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。从功能角度来看,它负责为用户建立文件,读出、存入、修改、转存文件,控制文件的存取,当用户不再使用时撤销文件等。77.1.1文件文件系统的管理功能是将其管理的程序和数据通过组织为一系列文件的方式实现的。而文件则是指具有文件名的若干相关元素的集合。元素通常是记录,而记录又是一组有意义的数据项的集合。可见,基于文件系统的概念,可以把数据组成分为数据项、记录和文件三级。7.1.1文件

1.数据项

在文件系统中,数据项是最低级的数据组织形式,可把它分成以下两种类型:

(1)基本数据项。用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,又称为数据元素或字段。例如描述学生的基本数据项有:学号、年级等等。

(2)组合数据项。由若干个基本数据项组成,简称组项。例如工资这个组项就由基本工资、绩效工资、奖励工资等组成。7.1.1文件

2.记录

记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。一个记录应包含哪些数据项,取决于需要描述对象的哪个方面。由于对象所处的环境不同可把他作为不同的对象。

在诸多记录中,为了能唯一地标识一个记录,必须在记录的各个数据项中,确定其中的一个或几个项,把他们的集合称为关键字。也即,关键字是能唯一标识一个记录的数据项集。7.1.1文件

3.文件

文件是指由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。在有结构文件中,文件由若干相关记录组成,无结构文件则被看成是一个字符流。文件在文件系统中是一个最大的数据单位,描述了一个对象集。一个文件必须要有一个文件名,用户利用文件名来访问文件。

文件具有自己的属性,属性可包括:文件类型、文件长度、文件的物理位置、文件的建立时间。文件、记录和数据项之间的层次关系

文件名和扩展名

(1)文件名。是一个字符串,用以标识一个特定的数据集合。不同的OS对文件名的命名要求不一样。

(2)扩展名。是添加在文件名后面的若干个附加字符,又称为后缀名,用于指示文件的类型,是文件名的组成部分。在大多数OS中,用“.”将文件名和后缀名分隔开。文件类型

1)按文件的用途分类

(1)系统文件,这是指由系统软件构成的文件。大多数的系统文件只允许用户调用,但不允许用户去读,更不允许修改;有的系统文件不直接对用户开放。

(2)用户文件,指由用户的源代码、目标文件、可执行文件或数据等所构成的文件。用户将这些文件委托给系统保管。

(3)库函数文件,这是由标准子例程及常用的例程等所构成的文件。这类文件允许用户调用,但不允许修改。文件类型

2)按文件的组织形式分类

(1)普通文件。普通文件主要是指文件的组织格式为文件系统所规定的最一般格式的文件,例如由字符流组成的文件。

(2)目录文件。目录文件是由文件的目录构成的特殊文件,是用来管理和实现文件系统功能的系统文件。

(3)特殊文件。特指系统中的各类I/O设备。这些特殊文件的使用是和设备驱动程序紧密相连的。操作系统会把对特殊文件的操作转成为对应设备的操作。文件类型

3)按文件中数据形式分类

(1)源文件,这是指由源程序和数据构成的文件。通常,由终端或输入设备输入的源程序和数据所形成的文件都属于源文件。它通常是由ASCII码或汉字所组成的。

(2)目标文件,这是指把源程序经过编译程序编译过,但尚未经过链接程序链接的目标代码所构成的文件。目标文件所使用的后缀名是“.obj”。

(3)可执行文件,这是指把编译后所产生的目标代码经过链接程序链接后所形成的文件。其后缀名是 .exe。文件类型

4)按存取控制属性分类

根据系统管理员或用户所规定的存取控制属性,可将文件分为三类:

(1)只执行文件,该类文件只允许被核准的用户调用执行,不允许读和写。

(2)只读文件,该类文件只允许文件主及被核准的用户去读,不允许写。

(3)读写文件,这是指允许文件主和被核准的用户去读或写的文件。177.1.2文件系统

操作系统中负责管理和存储文件信息的软件模块被称为文件系统。

文件系统是计算机组织、存取和保存信息的重要手段,负责文件的创建、撤销、读写、修改、复制和存取控制等,它管理存放文件的各种资源,并且还负责对文件进行按名存取控制。18图7.1文件系统模型7.1.2文件系统19文件系统的层次结构

文件系统是指含有大量的文件及其属性的说明,对文件进行操纵和管理的软件,以及向用户提供使用文件的接口等的集合。文件系统接口逻辑文件系统基本I/O管理程序(文件组织模块)基本文件系统(物理I/O层)I/O控制层(设备驱动程序)对象及其属性说明对对象操纵和管理的软件集合(1)文件,文件管理的直接对象。(2)目录,对目录的组织和管理,是方便用户和提高文件存取速度的关键。(3)磁盘(带)存储空间。文件系统的核心部分。文件系统的大部分功能,都是在这一层实现。通过接口提供了一组对文件和记录操作的方法和手段,包括命令接口和程序接口两类。文件系统的最底层,主要由磁盘(磁带)驱动程序组成。主要用于处理内存与磁盘(带)机系统之间数据块的交换。完成与磁盘I/O有关的大量事务,有:选择文件所在设备;进行文件逻辑块号到物理块号的转换;空闲盘块的管理;I/O缓冲的制定。处理文件和记录的相关操作。207.1.2文件系统引入文件和文件系统后,所有的程序和信息都以文件的形式存放在计算机中。文件系统负责管理这些文件,并把对文件的存取、共享和保护等手段通过操作系统提供给用户。文件系统的有以下优点:(1)使用的方便性。文件系统具有按名存取的功能,能够对文件和文件目录实施有效的管理,用户不再需要考虑文件的存储空间的分配。(2)较强的数据安全性。文件系统提供各种文件保护和共享措施,防止对文件的意外或有意的破坏。(3)接口的统一性。文件系统具有统一的接口,用户可以利用统一的广义指令和系统调用存取各种介质上的文件,对文件的操作简单、直观,脱离了对存储介质的依赖。文件操作

1.最基本的文件操作

最基本的文件操作包含下述内容:

(1)创建文件。

(2)删除文件。

(3)读文件。

(4)写文件。

(5)设置文件的读/写位置。文件操作

2.文件的“打开”和“关闭”操作

当前OS提供的大多数对文件的操作,其过程大致分为两步:第一步是通过检索文件目录来找到指定文件的属性及其在外存上的位置;第二步是对文件实施相应的操作。为了避免多次重复地检索目录,引入“打开”(open)这一文件系统调用。

所谓“打开”是指在用户和指定文件之间建立起一个链接。此后,用户可通过该连接直接得到文件信息,从而避免了再次通过目录检索文件。同样,如果用户已不再需要对该文件实施相应的操作,可以利用“关闭”(close)系统调用关闭文件,既断开此链接,OS将把该文件从打开文件表中的表目上删除掉。237.2文件结构

文件系统的设计者从不同的角度研究文件的结构,根据视点的不同将文件的结构分为逻辑结构和物理结构。(1)逻辑结构是指一个文件在用户面前所呈现的形式,它主要为用户提供一种逻辑结构清晰、使用简便的逻辑文件,用户将按这种形式去存取、检索和加工文件。(2)文件的物理结构是指文件在文件存储介质上的存储形式,主要研究驻留在存储介质上的文件的存储结构,选择一些工作性能良好、设备利用率高的物理结构。247.2.1逻辑结构逻辑文件从结构上分成二种形式:(1)无结构的字符流式文件。这是一种无结构文件,构成文件的基本单位是字符,文件是有逻辑意义的、无结构的一串字符的集合,其内部不再划分结构。这可以理解为字符是该文件的基本信息单位,也可以将流式文件看成是记录式文件的特例。这种文件的优点是节省存储空间。在这种文件中无须额外的辅助信息和控制信息。文件的所有意义必须由用户层的程序来定义,这就给用户提供了最大的灵活性。257.2.1逻辑结构(2)有结构的记录式文件。有结构的记录式文件是一种结构文件。由若干个记录组成,用户以记录为单位来组织信息。每个记录都用于描述实体集中的一个实体,各记录着相同或不同数目的数据项。记录长度可以分为定长和不定长两类。

①定长记录。文件中所有记录的长度相同。

②变长记录。文件中所有记录的长度不同。267.2.1逻辑结构相对字符流式文件而言,记录式文件的使用不太方便,尤其是变长记录文件。在记录式文件中还要有说明记录长度的信息,这就会产生一些额外的存储开销。对于字符流的无结构文件来说,查找文件中的基本信息单位是比较困难的。但是,字符流的无结构文件管理简单,用户可以方便地对其进行操作。对基本信息单位操作不多的文件较适于采用字符流的无结构方式。除了字符流的无结构方式外,记录式的有结构文件可把文件中的记录按各种不同的方式排列,构成不同的逻辑结构,以便用户对文件中的记录进行修改、追加、查找和管理等操作。277.2.1逻辑结构选取文件的逻辑结构应遵循下述原则:

当用户对文件信息进行修改操作时,给定的逻辑结构应能尽量减少对已存储好的文件信息的变动。应能提高检索速度,当用户需要对文件信息进行操作时,给定的逻辑结构应使文件系统在尽可能短的时间内查找到需要查找的记录或基本信息单位。要降低文件信息占据的存储空间。要方便用户操作。287.2.2物理结构

文件的物理结构又称存储结构,是指文件在存储器上的存储组织形式,文件采用怎样的物理结构与存储介质的存储特性有关。

用户看到的是逻辑文件,处理的是逻辑记录,按照逻辑文件形式去存储、检索和加工有关的文件信息,也就是说数据的逻辑结构和组织是面向应用程序的。但这种逻辑上的文件总得以不同方式保存到物理存储设备,所以,文件的物理结构和组织是指逻辑文件在物理存储空间中的存放方法和组织关系。297.2.2物理结构

文件物理结构一般分为三种:顺序结构链接结构索引结构307.2.2物理结构

1.顺序结构

顺序结构又称连续结构,是一种最简单的物理文件结构。如果一个逻辑文件的信息顺序存放在文件存储器上的相邻物理块,则称该文件为顺序文件或连续文件,这样的结构称为顺序结构或连续结构。图7.2顺序结构317.2.2物理结构

顺序结构优缺点:顺序文件的最佳应用场合是在对文件中的记录进行批量存取时(即每次要读或写一大批记录)。所有逻辑文件中顺序文件的存取效率是最高的。此外,对于顺序存储设备(如磁带),也只有顺序文件才能被存储并能有效地工作。

在交互应用场合,若用户要求查找或修改单个记录,这时顺序文件表现出来的性能可能很差。其另一缺点是,若想要增加或修改一个记录,都比较困难。解决的办法是为顺序文件配置一个运行记录文件,每隔一定时间就将运行记录文件与原来的主文件合并,产生一个按关键字排序的新文件。327.2.2物理结构

2.链接结构

链接结构又称串联结构,是一种物理上非连续的结构,它将逻辑上连续的文件信息存放在外存的不连续物理块中。链接结构不要求所分配的各物理块是连续的,也不必按顺序排列。为了使系统能方便地找到逻辑上连续的下一块的物理位置,在每个物理块中设置一个指针,指向该文件的下一个物理块号。图7.3链接结构337.2.2物理结构

链接结构优缺点:

优点:文件可以方便的动态增加或删除,新建文件时,不必预留出文件的最大长度。由于可以不连续分配存储空间,所以不会造成几块连续区域的浪费。

缺点:是只适合顺序存取,不便于直接存取;其次,为了找到后面物理块的信息,必须从文件头开始,逐一查找每个物理块的链接字,以致降低了信息的查找速度;另外,由于在每个物理块中部设置了链接字,破坏了物理信息的完整性。347.2.2物理结构

3.索引结构

索引结构文件的组织方式是将一个文件的信息存放在若干个不连续的物理块中,并为每个文件建立一个专用数据结构——索引表,其中每一表目指出文件逻辑记录所在的物理块号,并将这些物理块号存放在索引表中。图7.4索引结构357.2.2物理结构

索引结构优缺点:

一个索引表事实上就是磁盘块地址数组,其中第i个条目指向文件的第i个物理块。

优点:它保持了串联结构访问快速的优点,又解决了串联结构要求空间连续的缺点,主要表现为既能顺序存取,又能随机存取,满足了文件动态增长、插入、删除的要求,能充分地利用存储空间,避免存储设备资源的浪费。

缺点:在于索引表本身带来了系统开销,例如为了存储索引表导致内存储空间开销增加。索引顺序文件1.索引顺序文件的特征

索引顺序文件是对顺序文件的一种改进,它基本上克服了变长记录的顺序文件不能随机访问,以及不便于记录的删除和插入的缺点。但它仍保留了顺序文件的关键特征,即记录是按关键字的顺序组织起来的。它又增加了两个新特征:一个是引入了文件索引表,通过该表可以实现对索引顺序文件的随机访问;另一个是增加了溢出(overflow)文件,用它来记录新增加的、删除的和修改的记录。一级索引顺序文件

最简单的索引顺序文件只使用了一级索引。其具体的建立方法是,首先将变长记录顺序文件中的所有记录分为若干个组,如50个记录为一个组。然后为顺序文件建立一张索引表,并为每组中的第一个记录在索引表中建立一个索引项,其中含有该记录的关键字和指向该记录的指针。

检索时,首先利用用户提供的关键字去检索索引表,找到该记录所在记录组中第一个记录的表项,从中得到该记录组第一个记录在主文件中的位置;然后再利用顺序查找法去查找主文件,从中找到所要求的记录。一级索引顺序文件图7-5索引顺序文件两级索引顺序文件对于一个非常大的文件,为找到一个记录而须查找的记录数目仍然很多,例如,对于一个含有106个记录的顺序文件,当把它作为索引顺序文件时,为找到一个记录,平均查找记录非常大。为了进一步提高检索效率,可以为顺序文件建立多级索引,即为索引文件再建立一张索引表,从而形成两级索引表。407.2.4直接文件和哈希结构

1.直接文件:采用前述几种文件结构对记录进行存取时,都须利用给定的记录键值,先对线性表或链表进行检索,以找到指定记录的物理地址。然而对于直接文件,则可根据给定的关键字直接获得指定记录的物理地址。换而言之,关键字本身就决定了记录的物理地址。

2.哈希(Hash)文件:利用Hash函数(或称散列函数)将关键字转换为相应记录的地址。但为了能实现文件存储空间的动态分配,通常由Hash函数所求得的并非是相应记录的地址,而是指向某一目录表相应表目的指针,该表目的内容指向相应记录所在的物理块。417.2.4文件存取方法

用户通过对文件的存取操作实现对文件内容的修改、添加和搜索等。常用的存取方法包括:顺序存取法随机存取法按键存取法427.2.3文件存取方法1.顺序存取法是最简单的存取法,严格按照文件信息单位排列的顺序依次存取文件。它是早期的文件存取方式,一个进程只能从头开始顺序读取一个文件的所有字节和记录。当打开文件时,文件的存取指针指向第一个信息单位,如第一个字节或第一个记录,每存取一个信息单位存取指针加1,指向下一个信息单位,以此类推。顺序存取法不便于对信息项的查找。顺序存取是按照文件的逻辑地址顺序存取,所以固定长记录的顺序存取就非常简单。读操作总是读上一次读出的文件的下一个记录,同时,文件记录读指针向前推进,以指向下一次要读出的记录位置。437.2.3文件存取方法1.顺序存取法如果文件是可读可写的,就设置一个文件记录指针,它总指向下一次要写入记录的存放位置,执行写操作时,将一个记录写到文件末端。允许对这种文件进行前跳或后退N个记录的操作。若当前指针为rptr,L为文件记录的长度,则前跳或后退N个记录的指针计算公式为:

。对于可变长记录的顺序文件,每个记录的长度信息存放于记录前面一个单元中,它的存取操作分两步进行。读出时,根据指针值得到存放记录长度的单元。然后根据当前记录长度再把当前记录一起写到指针指向的记录位置,同时,调整写指针值。447.2.3文件存取方法2.随机存取法随机存取法又称直接存取法,每次存取操作必须先确定存取的位置。随机存取法允许用户根据记录的编号来存取文件的任一记录。随机存取方式对于许多应用来说是非常重要的,很多应用场合要求以任意次序直接读写某个记录。为了实现直接存取,一个文件可以看作由顺序编号的物理块组成的,这些块通常划成等长的物理块。直接存取文件对读或写块的次序没有限制。457.2.3文件存取方法3.按键存取法按键存取法是一种在复杂文件系统,特别是数据库管理系统中的存取方法。在按键存取法中,文件的存取是根据给定的键进行的。通常记录按键的某种顺序存放,例如,按代表健的字母先后次序来排序。除可采用按键存取外,也可以采用顺序存取或直接存取的方法。无论采用哪种存取方法,都要先搜索到操作对象的逻辑地址,再将逻辑地址映射到相应的物理地址,然后对物理地址中存放的数据信息进行操作。467.2.5常见的物理存储设备

文件的物理结构是指文件在外存上的存储组织形式,它不仅与存储介质的存储特性有关,而且与所采用的外存分配方式有关。

常见的存储设备有磁盘、光盘、磁带、U盘等,其中磁盘又包括硬盘和软盘。477.2.5常见的物理存储设备1.磁带磁带可以永久保存大容量的数据,是典型的顺序存取设备。前面的物理块被存取访问之后,才能存取后续物理块的内容,所以磁带的存取速度较慢,主要用于后备存储。磁带设备的存取速度或传输速率与信息密度、磁带带速和块间间隙三个因素有关。信息密度大、带速高、所需块间间隙小,则磁带的存取速度或传输速率就快。487.2.5常见的物理存储设备2.磁盘磁盘是典型的随机存取设备,存取磁盘上任一物理块的时间不依赖于该物理块所处的位置。磁盘由多个盘片组成,文件信息记录在各个盘片的磁道上,在盘片的两面都有磁头用于读取磁道上的数据,磁头由一动臂控制沿半径方向移动经过各条磁道读取各磁道上的信息。一次读写操作的完成过程由三个动作组成。寻道,磁头移动定位到指定磁道。旋转延迟,等待指定扇区从磁头下旋转经过。数据传输,数据在磁盘与内存之间的实际传输。497.2.5常见的物理存储设备3.光盘磁带和磁盘采用的存储介质都是磁介质,而光盘采用的存储介质是光介质。光盘容量大,属于便携式的外部存储设备。光盘的存取速度快、价格便宜,光盘有只读、一次写和可读写光盘三种。光盘的空间结构与磁盘是类似的。507.2.5常见的物理存储设备4.U盘U盘,全称USB闪存盘,是基于USB接口、以闪存芯片为存储介质的无需驱动器的新一代存储设备。U盘体积小,适合随身携带,可以随时随地、轻松交换资料数据,是理想的移动办公及数据存储交换产品。517.2.5常见的物理存储设备U盘的工作原理:USB端口负责连接电脑,是数据输入或输出的通道;主控芯片负责各部件的协调管理和下达各项操作指令,并使计算机将U盘识别为“可移动磁盘”,是U盘的“大脑”;FLASH芯片是保存数据的实体,其特点是断电后数据不会丢失,能长期保存;PCB底板是负责提供相应处理数据平台,且将各部件连接在一起。当U盘被操作系统识别后,USB移动存储盘的数据传输工作包含上述几个处理过程。527.3文件目录对文件实施有效的管理主要是通过文件目录实现的。文件目录管理的主要目标是:实现“按名存取”,即用户只须向系统提供所需访问文件的名字,便能快速准确地找到指定文件在存储设备上的存储位置。提高对目录的检索速度。实现文件共享。在多用户系统中,应允许多个用户共享一个文件。允许文件重名。系统应允许不同用户对不同文件采用相同的名字,以便于用户按照自己的习惯命名文件和使用文件。537.3.1文件目录内容

1.文件控制块FCB(FileControlBlock):FCB是为文件设置的用于描述和控制文件的数据结构。文件与FCB一一对应,而把FCB的有序集合称为文件目录。一个FCB就是一个文件目录项。FCB包含如下三类信息:

1)基本信息类:包括文件名、文件物理位置(其中包括存放文件的设备名、文件在外存上的盘块号、文件长度)、文件逻辑结构、文件物理结构。

2)存取控制信息类:包括文件主的存取权限、核准用户的存取权限、一般用户的存取权限。

3)使用信息类:包括文件的建立日期和时间、文件上一次修改的日期和时间、当前使用信息。547.3.1文件目录内容

2.索引节点

1)索引节点的引入

在检索目录文件的过程中,只需用到文件名,不需文件的描述信息,有些系统如UNIX,就把文件名和文件描述信息分开。把文件描述信息单独形成一个称之为索引节点的数据结构,简称为i节点,而在文件目录中的每个目录项,则仅由文件名和指向该文件所对应的i节点的指针所构成。这样为找到一个文件,可大大节省系统开销。557.3.1文件目录内容2)索引节点的内容

索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素相对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。567.3.1文件目录内容2)索引节点的内容

磁盘索引节点是存放在磁盘上的索引节点。每个文件有唯一的一个磁盘索引节点,主要包括:⑴文件主标识符;⑵文件类型;⑶文件存取权限;⑷文件物理地址;⑸文件长度;⑹文件连接计数;⑺文件存取时间。

内存索引节点指存放在内存的索引节点。文件被打开时,要将磁盘索引节点拷贝到内存的索引节点中,以便于以后使用。其包括的内容有:⑴索引节点编号;⑵状态;⑶访问计数;⑷文件所在设备的逻辑设备号;⑸链接指针。577.3.2目录结构

文件的目录结构的组织,关系到文件系统的存取速度,也关系到文件的共享性和安全性。

常用的目录结构形式有单级目录、两级目录、多级目录和无环图目录。1.单级目录结构这是最简单的目录结构。在整个系统中只建立一张目录表,为每个文件分配一个目录项。

目录项中含文件名、文件扩展名、文件长度、文件类型、文件物理地址以及其它文件属性。587.3.2目录结构

单级目录结构的优点是简单,缺点则有:查找速度慢、不允许重名、不便于实现文件共享。只适用于单用户环境。文件名物理地址文件说明状态位AlphaReportText2.两级文件目录

两级目录结构如图:用户名子目录指针WangZhangGaoAlphaTestReportTestBetaDeviMisxWang用户目录AlphaTestReportTestBeta优点是提高了检索目录的速度、在不同的用户目录中可以使用相同的文件名、不同用户可使用不同的文件名来访问系统中的同一个共享文件。缺点是当多个用户之间要相互合作去完成同一个大任务,且一用户又要去访访问其他用户文件时,用户目录之间的隔离使诸用户之间不便于共享文件。GaoUFD主文件目录MFD602.两级文件目录

图7.7两级目录结构3.多级目录结构1)树形目录

通常把三级及以上的文件目录结构称为树型结构的目录。它具有检索效率高、允许重名、便于实现文件共享等一系列优点。

主目录在树型目录结构中,作为树的根节点,称为根目录。数据文件作为树叶,其他所有目录均作为树的节点。树形目录结构:ABCABDFEDGAJNKJMKAHFAC123456789101311121415161718192021

为提高文件系统的灵活性,应允许把一个目录文件中的目录项,既能作为目录文件的FCB又能作为数据文件的FCB,具体是哪一种FCB,可用目录项中的一位来表示。例如,在用户A的总目录中,目录A是目录文件的FCB,而目录B和D,则是数据文件的FCB。3.多级目录结构2)路径名

在树形结构目录中,从根目录到任何数据文件都只有一条唯一的通路。在该路径上,从树的根(即主目录)开始,把全部目录文件名与数据文件名依次地用“/”连接起来,即构成该数据文件唯一的路径名。

3)当前目录

又称为工作目录,是树型目录结构中的某个结点。进程对各文件的访问都是相对于当前目录进行的。此时对各文件所使用的路径名,只需从当前目录开始,再逐级通过中间的目录文件,最后达到所要访问的数据文件。将这一路径上的全部目录文件名与数据文件名用“/”连接而成的路径名称为相对路径名。相应地,从树根开始的路径名称为绝对路径名。643.多级目录结构4)增加和删除目录

在树型目录中,对于一个已不再需要的目录,应如何删除其目录项,须视情况而定。不删除非空目录。当目录不空时,不能将其删除,而为了删除一个非空目录,必须先删除目录中的所有文件,使之先成为空目录,然后再予以删除。如果目录中还包含有子目录,还必须采取递归调用方式来将其删除。可删除非空目录。当要删除一个目录时,如果在该目录中还包含有文件,则目录中的所有文件和子目录也同时被删除。此操作较危险。654.无环图目录结构树形目录结构可便于实现文件分类,但不利于实现文件共享,为此在树形目录结构的基础上增加了一些指向同一结点的有向边,使整个目录成为一个有向无环图。引入无环图目录结构是为了更好的实现文件共享。图7.9无环图目录结构664.无环图目录结构当某用户要求删除一个共享结点时,若系统只是简单地将它删除,则当另一共享用户需要访问时,就无法找到这个文件,导致系统发生错误。为每个共享结点设置一个共享计数器,每当图中增加对该结点的共享链时,计数器加1;每当某用户提出删除该结点时,计数器减1。仅当共享计数器为0时,才真正删除该结点,否则仅删除请求用户的共享链。共享文件不同于文件拷贝。如果有两个文件拷贝,每个程序员看到的是拷贝而不是原件;但如果一个文件被修改,那么另一个程序员的拷贝不会有改变。对于共享文件,只存在一个真正文件,任何改变都会为其他用户所见。无环图目录结构方便实现了文件的共享,但使得系统的管理变得更加复杂。677.3.3目录查询当用户要访问一个已存在文件时:首先,系统利用用户提供的文件名对目录进行查询,找出该文件的文件控制块及对应索引结点;其次,根据文件控制块或索引结点中所记录的文件物理地址,通过磁盘驱动程序,将所需文件读入内存。目前对目录进行查询的方式有两种

线性检索法

Hash方法

1.线性检索法线性检索法又称为顺序检索法。在单级目录中,利用用户提供的文件名,用顺序查找法直接从文件目录中找到指名文件的目录项。在树形目录中,用户提供的文件名是由多个文件分量名组成的路径名,此时需对多级目录进行查找。

假定用户给定的文件路径名是 /usr/ast/mbox,则查找 /usr/ast/mbox文件的过程如图所示。1·1‥4Bin7Dev14Lib9Etc6Usr8tmp根目录132索引结点6是/usr的目录6·1‥19Disk30Erik51Jim26Ast45bal132#块是/usr的目录

496索引结点26是/usr/ast目录26·6‥64Grant92Books60Mbox81Minix17Src496#块是/usr/ast目录线性检索法的例子:查找/usr/ast/mbox的步骤1.线性检索法线性检索法的例子:查找/usr/ast/mbox的步骤1.线性检索法2.Hash方法

在之前介绍了Hash文件。如果我们建立了一张Hash索引文件目录,便可利用Hash方法进行查询,即系统利用用户提供的文件名,并将它变换为文件目录的索引值,再利用该索引值到目录中去查找,这样将显著地提高检索速度。722.Hash方法在进行文件名的转换时,有可能把n个不同的文件名转换为相同的Hash值,即出现所谓的“冲突”,处理的规则:在利用Hash法索引查找目录时,如果目录表中相应的目录项是空的,则表示系统中并无指定文件;如果目录项中的文件名与指定文件名相匹配,则表示该目录项正是所要寻找的文件所对应的目录项,故而可从中找到该文件所在的物理地址;如果在目录表的相应目录项中的文件名与指定文件名并不匹配,则表示发生了“冲突”,此时须将其Hash值再加上一个特定常数,形成新的索引值,再返回到第一步重新开始查找。737.4文件共享和安全

文件共享是指多个用户可以共同使用某一个或多个文件。文件共享不仅是多个用户共同完成某一任务所必需的,而且能节省大量存储空间,同时也为用户使用文件提供了极大的方便。因此,文件共享是衡量文件系统性能好坏的重要标准之一。

由于文件实现了共享,文件的安全性就遭到了威胁,因此必须对文件进行保护。文件保护是指文件不得被未经授权的任何用户存取,对于授权用户也只能在其允许的存取权限范围内使用文件。747.4.1文件共享1.利用符号链实现文件共享2.基于索引节点的共享方法1.利用符号链接实现文件共享1)利用符号链接的基本思想

利用符号链接实现文件共享的基本思想,是允许一个文件或子目录有多个父目录,但其中仅有一个作为主(属主)父目录,其它的几个父目录都是通过符号链接方式与之相链接的(简称链接父目录)。使用符号链接的目录层次1.利用符号链接实现文件共享2)如何利用符号链实现共享

为使链接父目录D5能共享文件F,可以由系统创建一个LINK类型的新文件,也取名为F,并将F写入链接父目录D5中,以实现D5与文件F8的链接。在新文件F中只包含被链接文件F8的路径名。这样的链接方法被称为符号链接。新文件F中的路径名则只被看做是符号链。当用户通过D5访问被链接的文件F8,且正要读LINK类新文件时,此要求将被OS截获,OS根据新文件中的路径名去找到文件F8,然后对它进行读(写),这样就实现了用户B对文件F的共享。1.利用符号链接实现文件共享3)利用符号链实现共享的优点

在利用符号链方式实现文件共享时,只是文件主才拥有指向其索引节点的指针;而共享该文件的其他用户则只有该文件的路径名,并不拥有指向其索引节点的指针。这样,也就不会发生在文件主删除一共享文件后留下一悬空指针的情况。4)利用符号链的共享方式存在的问题

利用符号链的共享方式也存在着一些问题:每次访问文件的开销大,增加了磁盘启动的频率,LINK类型文件要消费一定的磁盘空间。一个很大的优点是能够用于链接世界上任何地方的机器中的文件。1.利用符号链接实现文件共享2.基于索引节点的共享方式为了解决这个问题,可以引用索引节点,即诸如文件的物理地址及其它的文件属性等信息,不再是放在目录项中,而是放在索引节点中。在文件目录中只设置文件名及指向相应索引节点的指针,如图7-11所示。此时由任何用户对文件进行Append操作或修改,所引起的相应索引节点内容的改变,如新增盘块号等,都是其他用户可见的,从而也就能提供给其他用户共享。在索引节点中应有一个链接计数,表示链接到本索引节点上的用户目录项的数目。图7.11基于索引节点的共享方式2.基于索引节点的共享方式进程B链接前后的情况2.基于索引节点的共享方式在现代计算机系统中,存放了越来越多的宝贵信息供用户使用,给人们带来了极大的好处和方便,但同时也有着潜在的不安全性。影响文件安全性的主要因素有:

(1)

温馨提示

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

评论

0/150

提交评论