操作系统第6章文件管理(文件目录与目录文件)_第1页
操作系统第6章文件管理(文件目录与目录文件)_第2页
操作系统第6章文件管理(文件目录与目录文件)_第3页
操作系统第6章文件管理(文件目录与目录文件)_第4页
操作系统第6章文件管理(文件目录与目录文件)_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

2022/9/111现代操作系统第21讲:第6章文件管理(文件目录与目录文件)主讲:朱贵良20152022/9/1122022/9/113内容提纲一文件目录管理二文件共享与文件保护三

文件的访问控制四磁盘容错技术简介本章小结一文件目录管理2022/9/115一文件目录管理【一】目录管理的基本功能1.实现“按名存取”,目录管理中最基本的功能之一是通过提供的访问文件名,便客快速准确地找到指定外存上的文件存储位置。2.快速检索文件目录。通过合理地组织目录结构的方法,可加快对目录的检索速度,从而提高对文件的存取速度。这是在设计一个大、中型文件系统时所追求的主要目标。3.实现文件共享。在多用户系统中,通过保留在外存中的副本,供不同用户使用,以节省大量的存储空间,提高文件利用率。4.

文件重名。系统允许在不同级别的目录中,命名相同的文件名。

2022/9/116一文件目录管理【二】文件的组成与文件控制块(FCB)●文件管理是通过文件控制块(FCB

)进行的。FCB通常含有基本信息、存取控制信息及使用信息三类。1.文件的组成=文件头+文件体1)文件头

——

存放的是文件说明信息

2)文件体

——

文件本身的信息,记录集合或字符流集。2.基本信息类

——

包括:1)文件名;2)文件物理位置,即文件在外存上的存储位置,包括存放文件的设备名、起始盘块号、文件长度及所占用的盘块数或字节数;2022/9/117一文件目录管理3)文件逻辑结构,即说明文件是流式文件还是记录式文件、记录数;是定长记录还是变长记录等。4)文件的物理结构,即文件是顺序、链接或索引文件?

3.

存取控制信息类——

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

4.

使用信息类——

包括:文件的建立日期和时间,最近一次修改的日期和时间及当前使用信息(当前已打开该文件的进程数、是否被其它进程锁住、文件是否在内存?是否已被修改但尚未拷贝到盘上)。不同OS的文件系统,使用信息的内容可能会存在一定的差别。2022/9/118一文件目录管理以上三类信息简要归纳为:●文件名●文件的大小●文件的结构形式●文件的首地址●文件的修改日期,时间等●文件的归属(即上级目录,目录层,副本信息等,控制方式等)

2022/9/119一文件目录管理【三】文件系统的层次模型1.

目的:为用户提供一个完整的文件系统的概念;下层为上层服务;上层使用下层的功能。2.

优点:易于理解实现和维护;3.

问题:划分要考虑到如果分层太少,连接与访问简单,但每层内容复杂;分层太多,形成的参数太多,传递速度慢。4.

Madnick把文件系统画分为8层,如下图1所示

2022/9/1110一文件目录管理图1文件系统的层次模型2022/9/1111一文件目录管理【四】文件的磁盘索引节点●每个文件有惟一的一个磁盘索引结点,它主要包括以下内容:1.文件主标识符,即拥有该文件的个人或小组的标识符。2.文件类型,包括正规文件、目录文件或特别文件。3.

文件存取权限,指各类用户对该文件的存取权限。4.文件物理地址,每一个索引结点中含有13个地址项,即iaddr(0)~iaddr(12),它们以直接或间接方式给出数据文件所在盘块的编号。

5.文件长度,指以字节为单位的文件长度。6.文件连接计数,在本文件系统中所有指向文件名的指针计数。7.文件存取时间,指本文件最近被进程存取的时间、最近被修改的时间及索引结点最近被修改的时间。

2022/9/1112一文件目录管理●当文件被打开时,要将磁盘索引结点拷贝到内存的索引结点中,便于以后使用。在内存索引结点中又增加了以下内容:1.

索引结点编号,用于标识内存索引结点。2.

状态,指示i结点是否上锁或被修改。3.

访问计数,每当有一进程要访问此i结点时,将该访问计数加1,访问完再减1。4.

文件所属文件系统的逻辑设备号。5.

链接指针。设置有分别指向空闲链表和散列队列的指针。

2022/9/1113一文件目录管理【五】文件目录管理的知识准备1.目录文件——

对文件目录(文件说明信息)进行管理的文件叫目录文件,文件系统是通过目录文件对文件进行管理的2.文件系统1)定义:对文件进行管理的软件和数据的集合称为文件系统。2)主要功能:●为用户建立、撤消、读写、修改和复制文件提供服务;●完成对文件的按名存取●传输与存取控制管理。●文件的配、回收、同名冲突、共享与保护管理●文件搜索方法等(识别与查找)2022/9/1114一文件目录管理【六】单级目录●所有文件存入一个目录表,每个文件占目录表中的一项。目录项中含文件名、文件扩展名、文件长度、文件类型、文件物理地址以及其它文件属性。此外,为表明每个目录项是否空闲,又设置了一个状态位。单级目录的优点是简单,且能实现按名存取●所有的文件目录都是连续或顺序存放;●文件目录表调入内存工作;●缺点:查找速度慢;文件不能重名。不便于实现文件共享。表1单级目录2022/9/1115一文件目录管理【七】二级目录●为了克服单级目录所存在的缺点,可以为每一个用户建立一个单独的用户文件目录UFD(UserFileDirectory)。这些文件目录具有相似的结构,它由用户所有文件的文件控制块组成。此外,在系统中再建立一个主文件目录MFD(MasterFileDirectory);在主文件目录中,每个用户目录文件都占有一个目录项,其目录项中包括用户名和指向该用户目录文件的指针。如图2所示:2022/9/1116一文件目录管理

图2二级目录结构示意图2022/9/1117一文件目录管理●两级目录结构基本上克服了单级目录的缺点,并具有以下优点:1)

提高了检索目录的速度。如果在主目录中有n个子目录,采用两级目录可使检索效率提高n/2倍。2)

在不同的用户目录中,可以使用相同的文件名。3)

不同用户还可使用不同的文件名来访问系统中的同一个共享文件。但当多个用户之间要相互合作去完成一个大任务,且一用户又需去访问其他用户的文件时,这种隔离便成为一个缺点,因为这种隔离会使诸用户之间不便于共享文件。

2022/9/1118一文件目录管理【八】多级目录●对于大型文件系统,通常采用三级或三级以上的目录结构,以提高对目录的检索速度和文件系统的性能。多级目录结构又称为树型目录结构,主目录称为根目录,把数据文件称为树叶,其它的目录均作为树的结点。图2中,方框代表目录文件,圆圈代表数据文件。在该树型目录结构中,主(根)目录中有三个用户的总目录项A、B和C。在B项所指出的B用户的总目录B中,又包括三个分目录F、E和D,其中每个分目录中又包含多个文件。如B目录中的F分目录中,包含J和N两个文件。为了提高文件系统的灵活性,应允许在一个目录文件中的目录项既是作为目录文件的FCB,又是数据文件的FCB,这一信息可用目录项中的一位来指示。例如,在图3中,用户A的总目录中,目录项A是目录文件的FCB,而目录项B和D则是数据文件的FCB。2022/9/1119一文件目录管理●多级文件目录下的文件打开流程(按BDF和SDF方式排列)1.

将与MFD(主目录)相关的表目复制到内存;2.

将基本文件表中的BFD的相关部分复制到内存;3.

将符号文件表(SFD)找到所要使用的文件名;4.

打开文件。●被打开的文件叫活动文件;●内存中的BFD,整个系统才有1张。2022/9/1120一文件目录管理图3多级目录结构示意图2022/9/1121一文件目录管理●树形结构多级目录结构特点:◆层次清,不同层次、不同用户的文件可以被赋予不同的存取权限,有利于文件的保护。◆解决了文件重名问题。◆查找搜索速度快。其搜索速度较单级、二级目录时更快。◆但是在多级目录中查找一个文件,需要按路径名逐级访问中间节点,这就增加了磁盘访问次数,无疑将影响查询速度。●目前,大多数操作系统如UNIX、Linux和Windows系列都采用了多级目录结构。2022/9/1122一文件目录管理【九】目录查询技术1.线性检索法

——

线性检索法又称为顺序检索法。在单级目录中,利用用户提供的文件名,直接从文件目录中找到指名文件的目录项。在树型目录中,用户提供的文件名是由多个文件分量名组成的路径名,此时须对多级目录进行查找。2.Hash方法●在建立了一张Hash索引文件目录的基础上,可利用Hash方法进行查询,即系统利用用户提供的文件名并将它变换为文件目录的索引值,再利用该索引值到目录中去查找,这将显著地提高检索速度。●在现代操作系统中,通常都提供在文件名中使用了通配符“*”、“?”等模式匹配功能。Hash方法不能对使用了通配符的文件名进行目录检索。2022/9/1123一文件目录管理●在进行文件名的转换时,有可能把n个不同的文件名转换为相同的Hash值,即出现了所谓的冲突。处理该冲突的有效规则是:(1)

在利用Hash法索引查找目录时,如果目录表中相应的目录项是空的,则表示系统中并无指定文件。(2)

如果目录项中的文件名与指定文件名相匹配,则表示该目录项正是所要寻找的文件所对应的目录项,故而可从中找到该文件所在的物理地址。(3)

如果在目录表的相应目录项中的文件名与指定文件名并不匹配,则表示发生了“冲突”,此时须将其Hash值再加上一个常数(该常数应与目录的长度值互质),形成新的索引值,再返回到第一步重新开始查找。

2022/9/1124一文件目录管理【十】文件目录管理方法小结1.单级目录管理方法:目录文件放置在外存,CPU浪费大,搜索慢。2.二级目录管理方法2启动时,将所有目录文件读入内存。◆优点:速度快;◆缺点:内存占用多。3.多级目录管理方法:把正在使用的文件目录存入内存指定区。关闭文件时,删除内存中的有关目录文件的内存副本。◆优点:速度快、内存占用少、层次清晰;●文件打开与关闭的含义(由系统调用方式完成)◆打开文件:把文件存储设备上的目录文件复制到内存,◆删除文件:

把内存文件的副本的删除操作称为关闭文件二文件共享与文件保护2022/9/1126二文件共享与文件保护

【一】基于索引结点的共享方式●在树型结构的目录中,当有两个或两个以上的用户要共享一个子目录或文件时,必须将共享文件或子目录链接到两个或两个以上的用户目录中,才能方便地找到该文件。此时该文件系统的目录结构已不再是树型结构,而是个有向非循环图。●解决该问题,可以引用索引结点,即文件的物理地址等文件属性,不再是放在目录项中,而是放在索引结点中。在文件目录中只设置文件名及指向相应索引结点的指针,如图4所示。此时,由任何用户对文件进行附加操作或修改,都会引起相应结点内容的改变。例如,增加其他用户可见的、新的盘块号和文件长度等,都可以给其他用户提供共享服务。2022/9/1127二文件共享与文件保护

图4基于索引结点的共享方式2022/9/1128二文件共享与文件保护

●在索引结点中还有一个链接计数count,用于表示链接到本索引结点(亦即文件)上的用户目录项的数目。当count=3时,表示有三个用户目录项连接到本文件上,即有三个用户共享此文件。【二】利用符号链实现文件共享●为使B能共享C的一个文件F,可以由系统创建一个LINK类型也取名为F的新文件,并将F写入B的目录中,以实现B的目录与文件F的链接,该链接方法称为符号链接。新文件中的路径名只被看作是符号链。当B要访问被链接的文件F且正要读LINK类新文件时,此要求将被OS截获,OS根据新文件中的路径名去读该文件,从而实现了用户B对文件F的共享。2022/9/1129二文件共享与文件保护

●符号链方式有一个很大的优点,是它能够用于链接(通过计算机网络)世界上任何地方的计算机中的文件,此时只需提供该文件所在机器的网络地址以及该机器中的文件路径即可。●符号链的问题是:当每次访问共享文件时,都能要多次地读盘。显然这会增加每次访问耗时,增加启动磁盘的频率。此外,要为每个共享用户建立一条符号链,仍然需要为其配置一个索引结点,也要耗费一定的磁盘空间。2022/9/1130二文件共享与文件保护

【三】通过文件目录实现文件共享的方法1.方法1——绕道法●绕道法要求每个用户处在当前目录下工作,用户对所有文件的访问都是相对于当前目录进行的。用户文件的固有名(为了访问某个文件而必须访问的各个目录和文件的目录名与文件名的顺序连接称为固有名)

是由当前目录到信息文件通路上所有各级目录的目录名加上该信息文件的符号名组成。使用绕道法进行文件共享时,用户从当前目录出发向上返回到与所要共享文件所在路径的交叉点,再顺序下访到共享文件。绕道法需要用户指定所要共享文件的逻辑位置或到达被共享文件的路径。绕道法的原理如图5所示。●绕道法要绕弯路访问多级目录,搜索效率不高。2022/9/1131二文件共享与文件保护

图5绕道法示意图2022/9/1132二文件共享与文件保护2.方法2——链接法1.方法:

将一个目录中的链指针直接指向被共享文件所在的目录。2.实现条件:

需要用户指定被共享的文件和被链接的目录。3.方法2——基本文件目录表(BFD)法●把所有文件目录的内容分成两部分:◆符号文件目录表(SFD):SFD中存放文件名和文件内部标识符,如文件的结构信息、物理块号、存取控制和管理信息等,并由系统赋予唯一的内部标识符来标识;◆基本文件目录表(BFD):另一部分则由用户给出的符号名和系统赋给文件说明信息的内部标识符组成。其多级目录结构如图4所示。2022/9/1133二文件共享与文件保护

图6基本文件目录的共享结构示意图三文件的访问控制2022/9/1135三文件的访问控制导语:文件的存取控制是和文件的共享、保护和保密三个不同而又相互联系的问题紧密相关的。文件的共享是指不同的用户共同使用一个文件。文件保护则指文件本身需要防止文件的拥有者本人或其他用户破坏文件内容。文件保密指未经文件拥有者许可,任何用户不得访问该文件。这三个问题实际上是一个用户对文件的使用权限,即读、写、执行的许可权问题。1.目的:访问控制是为了实现保护、共享及保密(文件安全)2.原则:授权访问,无权不能对文件进行读写操作;3.步骤:三步验证机制,即:●用户权审定●用户权与使用权比较审定;●使用权与访问文件有关属性比较审定;2022/9/1136三文件的访问控制【一】存取控制矩阵法●该方法是用平面二维矩阵的方式实现存取控制的。其中一维是所有的用户,另一维是所有的文件。对应的矩阵元素则是用户对文件的存取控制权,包括读R、写W和执行E。如图7所示。●实现过程:当用户向文件系统提出存取要求时,由存取控制验证模块根据该矩阵内容对本次存取要求进行比较,如果不匹配的话,系统拒绝执行。●问题:实现简单,但是当文件很多时,占用内存大,访问速度慢。2022/9/1137三文件的访问控制图7存取控制矩阵2022/9/1138三文件的访问控制【二】存取控制表法●以文件为单位,按照某种规则分组建立,并设定每组存取权限。●每个文件都有一张存取控制表,该表存放在BFD的有关表目中。文件被打开时,由于存取控制表也相应地被复制到了内存活动文件中,因此存取控制验证可高效进行。用户分组名文件名A.CA组RWEB组REC组RWEWANGE其它禁止RWE2022/9/1139三文件的访问控制【三】口令方式●口令方式的分类。◆当用户进入系统,获得系统赋予的使用权口令。◆每个用户在创建文件时,为创建文件设置的口令,且将其置于文件说明中。●优点:◆将口令设置权赋予其它用户,以达到文件共享和保密。

◆由于口令简单,占用内存少。●缺点:◆口令方式保密性能较差。

◆当要修改某个用户的存取权限时,文件主必须修改口令,这样,所有共享该文件的用户的存取权限都被取消,除非文件主将新的口令通知用户。2022/9/1140三文件的访问控制【四】密码方式●用户创建源文件并将其写入存储设备时对文件进行编码加密,在读出文件时对其进行译码解密。●文件的加、解密都需要用户提供一个代码键(KEY)。加密程序根据代码键对用户文件进行编码变换,然后将其写入存储设备。在读取文件时,通过用户给定的代码键与加密时的代码键相一致时,解密程序才能完成解密,将其还原为源文件。●加密方式具有保密性强的优点,与口令不同,进行编码解码的代码键没有存放在系统中。但是,由于编码解码工作要耗费大量的处理时间,因此,加密技术是以牺牲系统开销为代价的。工作要耗费大量的处理时间,加密技术是以牺牲系统开销为代价的。2022/9/1141三文件的访问控制

图8加密解密过程2022/9/1142三文件的访问控制【五】文件访问控制的补充1.文件系统以系统调用方式或命令方式为用户提供下列服务:●关于设置和修改用户对文件的存取权限的服务;●关于建立、改变和删除目录的服务;●关于文件共享、设置访问路径的服务;●创建、打开、读写、关闭,及撤消文件的服务。◆这些服务的调用名和参数都因系统不同而异。

2.所有文件操作的命令都基于操作系统提供的系统调用命令,如:2022/9/1143三文件的访问控制◆creat调用将根据用户提供的文件名和属性,在指定的文件存储设备上建立一个文件并把文件标识符返回给用户。◆open调用则把在文件存储设备上的有关文件说明信息复制到内存的活动文件目录表中。◆write调用将把从内存中某个位置开始的一段n字节长(字符流文件时)信息或n个记录经设备管理程序写入文件存储设备。◆read调用把指定文件的几个字节或记录读入内存中指定地区。◆close关调用撤消活动文件表中相应表目。◆delete调用删除该文件在文件存储设备上的有关说明信息,并释放该文件所占据的全部存储空间。…………

2022/9/1144三文件的访问控制3.外存分配方式简介1)空闲表法2)空闲链表法3)位示图法4)成组链接法◆以上所述之方法,与内存的动态分配方式基本雷同雷同,故略去不述,四磁盘容错技术简介2022/9/1146四磁盘容错技术简介

【一】影响文件安全性三大因素1.人为因素,即由于人们有意或无意的行为,而使文件系统中的数据遭到破坏或丢失。2.系统因素,即由于系统的某部分出现异常情况,而造成对数据的破坏或丢失。特别是作为数据存储介质的磁盘,在出现故障或损坏时,会对文件系统的安全性造成影响;3.自然因素,即存放在磁盘上的数据,随着时间的推移将可能发生溢出或逐渐消失。2022/9/1147四磁盘容错技术简介

【二】影响文件安全性三大因素的应对措施1.

通过存取控制机制来防止由人为因素所造成的文件不安全性。2.

通过磁盘容错技术,防止由磁盘部分故障所造成的文件不安全性。3.

通过“后备系统”来防止由自然因素所造成的不安全性。

【三】第一级容错技术SFT-Ⅰ●第一级容错技术(SFT-Ⅰ)是最基本的一种磁盘容错技术,主要用于防止因磁盘表面缺陷所造成的数据丢失。它包含双份目录、双份文件分配表及写后读校验等措施。

2022/9/1148四磁盘容错技术简介

1.

双份目录和双份文件分配表●在磁盘上存放的文件目录和文件分配表FAT,是文件管理所用的重要数据结构。为了防止这些表格被破坏,可在不同的磁盘上或在磁盘的不同区域中,分别建立(双份)目录表和FAT。其中一份为主目录及主FAT;另一份为备份目录及备份FAT。一旦由于磁盘表面缺陷而造成主文件目录或主FAT的损坏时,系统便自动启用备份文件目录及备份FAT,从而可以保证磁盘上的数据仍是可访问的。2.

热修复重定向和写后读校验●当磁盘表面有少量缺陷时,则可采取某种补救措施后继续使用磁盘。一般主要采取以下两个补救措施:2022/9/1149四磁盘容错技术简介1)热修复重定向:系统将磁盘容量的一部分(例如2%~3%)作为热修复重定向区,用于存放当发现磁盘有缺陷时的待写数据,并对写入该区的所有数据进行登记,以便于以后对数据进行访问。2)写后读校验方式。为了保证所有写入磁盘的数据都能写入到完好的盘块中,应该在每次从内存缓冲区向磁盘中写入一个数据块后,又立即从磁盘上读出该数据块,并送至另一缓冲区中,再将该缓冲区内容与内存缓冲区中在写后仍保留的数据进行比较。若两者一致,便认为此次写入成功,可继续写下一个盘块;否则,再重写。若重写后两者仍不一致,则认为该盘块有缺陷,此时,便将应写入该盘块的数据,写入到热修复重定向区中。2022/9/1150四磁盘容错技术简介

【四】第二级容错技术SFT-Ⅱ1.磁盘镜像

——

为了避免磁盘驱动器发生故障而丢失数据,便增设了磁盘镜像功能。为实现该功能,须在同一磁盘控制器下再增设一个完全相同的磁盘驱动器。当采用磁盘镜像方式时,在每次向主磁盘写入数据后,都需要将数据再写到备份磁盘上,使两个磁盘上具有完全相同的位像图。2.磁盘双工——

未避免磁盘控制器发生故障,或主机到磁盘控制器之间的通道发生了故障,磁盘镜像功能便起不到数据保护的作用。因此,在第二级容错技术中,又增加了磁盘双工功能,即将两台磁盘驱动器分别接到两个磁盘控制器上,此种模式为磁盘机双工模式。该级容错技术完全是一种通过增加硬件投入保证安全的模式!2022

温馨提示

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

评论

0/150

提交评论