操作系统文件管理.pptx
《操作系统文件管理.pptx》由会员分享,可在线阅读,更多相关《操作系统文件管理.pptx(81页珍藏版)》请在课桌文档上搜索。
1、第七章 文 件 管 理,7.1 文件和文件系统7.2 文件的逻辑结构7.3 文件目录7.4 文件共享7.5 文件保护习题,7.1 文件和文件系统,文件系统的管理功能是将其管理的程序和数据通过组织为一系列文件的方式实现的。而文件则是指具有文件名的若干相关元素的集合。元素通常是记录,而记录又是一组有意义的数据项的集合。可见,基于文件系统的概念,可以把数据组成分为数据项、记录和文件三级。,7.1.1 数据项、记录和文件,1 数据项在文件系统中,数据项是最低级的数据组织形式,可把它分成以下两种类型:(1)基本数据项 是描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,又称为字段。
2、(2)组合数据项 由若干个基本数据项组成,简称组项。,2.记录记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。一个记录应包含哪些数据项,取决于需要描述对象的哪个方面。由于对象所处的环境不同可把他作为不同的对象。,3文件文件是指由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。,图7-1 文件、记录和数据项之间的层次关系,7.1.2 文件名和类型,1.文件名和扩展名(1)文件名(2)扩展名,2.文件类型1)按用途分类 系统文件、用户文件、库文件2)按文件中数据的形式分类 源文件、目标文件、可执行文件3)按存取控制属性分类只执行文件、只读文件、读写文件
3、4)按组织形式和处理方式分类普通文件、目录文件、特殊文件。,7.1.3 文件系统的层次结构如图7-2所示,文件系统的模型可分为三个层次:最底层是对象及其属性,中间层是对对象进行操纵和管理的软件集合,最高层是文件系统提供给用户的接口。,图7-2 文件系统模型,1.对象及其属性文件管理系统管理的对象如下:(1)文件(2)目录(3)磁盘(磁带)存储空间,2.对对象操纵和管理的软件集合该层是文件管理系统的核心部分。文件系统的功能大多是在这一层实现的,其中包括有:对文件存储空间的管理;对文件目录的管理;用于将文件的逻辑地址转换为物理地址的机制;对文件读和写的管理;对文件的共享与保护等功能。在实现这些功能
4、时,OS通常都采取了层次组织结构,即在每一层中都包含了一定的功能,处于某个层次的软件,只能调用同层或更低层次中的功能模块。,3.文件系统的接口为方便用户的使用,文件系统以接口的形式提供了一组对文件和记录操作的方法和手段。通常是下面两种类型的接口:(1)命令接口,是指作为用户与文件系统直接交互的接口,用户可通过键盘终端键入命令取得文件系统的服务。(2)程序接口,是指作为用户程序与文件系统的接口,用户程序可通过系统调用取得文件系统的服务,例如,用于创建文件的系统调用Creat,用于打开一个文件的系统调用Open等。,7.1.4 文件操作,1.最基本的文件操作最基本的文件操作包含下述内容:(1)创建
5、文件(2)删除文件(3)读文件(4)写文件(5)设置文件的读/写位置,2.文件的“打开”和“关闭”操作当用户要求对一个文件实施多次读/写或其它操作时,每次都要从检索目录开始。为了避免多次重复地检索目录,在大多数OS中都引入了“打开”(open)这一文件系统调用,当用户第一次请求对某文件进行操作时,须先利用open系统调用将该文件打开。所谓打开是指系统将指名文件的属性,从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号返回给用户。,3.其它文件操作OS为用户都提供了一系列文件操作的系统调用,其中最常用的一类是有关对文件属性的操作,即允许用户直接设置和获得文件的属性,如改变已存文件的文件名、
6、改变文件的拥有者(文件主)、改变对文件的访问权,以及查询文件的状态(包括文件类型、大小和拥有者以及对文件的访问权等)。另一类是有关目录的操作,如创建一个目录,删除一个目录,改变当前目录和工作目录等。此外,还有用于实现文件共享的系统调用,以及用于对文件系统进行操作的系统调用等。,7.2 文件的逻辑结构,(1)文件的逻辑结构(File Logical Structure),又称文件组织。(2)文件的物理结构,又称为文件的存储结构。,7.2.1 文件逻辑结构的类型对文件逻辑结构所提出的基本要求,首先是有助于提高对文件的检索速度,即在将大批记录组成文件时,应采用一种有利于提高检索记录速度和效率的逻辑结
7、构形式。其次是该结构应方便对文件进行修改,即便于在文件中增加、删除和修改一个或多个记录。第三是降低文件存放在外存上的存储费用,即尽量减少文件占用的存储空间,不要求大片的连续存储空间。,按文件是否有结构分类1)有结构文件(1)定长记录(2)变长记录 2)无结构文件系统中运行的大量的源程序、可执行文件、库函数等,所采用的就是无结构的文件形式,即流式文件。其文件的长度是以字节为单位的。对流式文件的访问,则是利用读、写指针来指出下一个要访问的字符。可以把流式文件看做是记录式文件的一个特例:一个记录仅有一个字节。,2.按文件的组织方式分类根据文件的组织方式,可把有结构文件分为三类:(1)顺序文件(2)索
8、引文件(3)索引顺序文件,7.2.2 顺序文件(Sequential File),1.顺序文件的排列方式在顺序文件中的记录,可以按照各种不同的顺序进行排列。一般地,可分为两种情况:(1)串结构(2)顺序结构2.顺序文件的优缺点顺序文件的最佳应用场合是在对文件中的记录进行批量存取时(即每次要读或写一大批记录)。所有逻辑文件中顺序文件的存取效率是最高的。此外,对于顺序存储设备(如磁带),也只有顺序文件才能被存储并能有效地工作。缺点:在交互应用场合,如果用户要求查找或修改单个记录,系统要在文件记录中逐个查找,此时顺序文件表现出的性能很差。如果想增加或删除一个记录都比较困难。,7.2.3 记录寻址,1
9、.隐式寻址方式对于定长记录的顺序文件,如果已知当前记录的逻辑地址,便很容易确定下一个记录的逻辑地址。,图7-3 定长和变长记录文件,2.显式寻址方式该方式可用于对定长记录的文件实现直接或随机访问。因为任何记录的位置都很容易通过记录长度计算出来。而对于可变长度记录的文件则不能利用显式寻址方式实现直接或随机访问,必须增加适当的支持机构方能实现。下面我们通过两种方式对定长记录实现随机访问:(1)通过文件中记录的位置。(2)利用关键字。,7.2.4 索引文件(Index File),按关键字建立索引定长记录的文件可以通过简单的计算,很容易地实现随机查找。但变长记录文件查找一个记录必须从第一个记录查起,
10、一直顺序查找到目标记录为止,耗时很长。为变长记录文件建立一张索引表,为主文件中的每个记录在索引表中分别设置一个表项,记录指向记录的指针以及记录的长度,索引表按关键字排序,其本身也是一个定长记录的顺序文件。,图7-4 具有单个和多个索引表的索引文件,2.具有多个索引表的索引文件使用按关键字建立索引表的索引文件与顺序文件一样,都只能按该关键字进行检索。而实际应用情况往往是:不同的用户,为了不同的目的,希望能按不同的属性(或不同的关键字)来检索一条记录。为实现此要求,需要为顺序文件建立多个索引表,即为每一种可能成为检索条件的域(属性或关键字)都配置一张索引表。在每一个索引表中,都按相应的一种属性或关
11、键字进行排序。,7.2.5 索引顺序文件(Index Sequential File),1.索引顺序文件的特征 索引顺序文件是对顺序文件的一种改进,它基本上克服了变长记录的顺序文件不能随机访问,以及不便于记录的删除和插入的缺点。但它仍保留了顺序文件的关键特征,即记录是按关键字的顺序组织起来的。它又增加了两个新特征:一个是引入了文件索引表,通过该表可以实现对索引顺序文件的随机访问;另一个是增加了溢出(overflow)文件,用它来记录新增加的、删除的和修改的记录。,2.一级索引顺序文件最简单的索引顺序文件只使用了一级索引。其具体的建立方法是,首先将变长记录顺序文件中的所有记录分为若干个组,如50
12、个记录为一个组。然后为顺序文件建立一张索引表,并为每组中的第一个记录在索引表中建立一个索引项,其中含有该记录的关键字和指向该记录的指针。索引顺序文件是最常见的一种逻辑文件形式,如图7-5所示。,图7-5 索引顺序文件,3.两级索引顺序文件对于一个非常大的文件,为找到一个记录而须查找的记录数目仍然很多,例如,对于一个含有106个记录的顺序文件,当把它作为索引顺序文件时,为找到一个记录,平均须查找1000个记录。为了进一步提高检索效率,可以为顺序文件建立多级索引,即为索引文件再建立一张索引表,从而形成两级索引表。,7.2.6 直接文件和哈希文件,1.直接文件 采用前述几种文件结构对记录进行存取时,
13、都须利用给定的记录键值,先对线性表或链表进行检索,以找到指定记录的物理地址。然而对于直接文件,则可根据给定的关键字直接获得指定记录的物理地址。换而言之,关键字本身就决定了记录的物理地址。这种由关键字到记录物理地址的转换被称为键值转换。组织直接文件的关键在于用什么方法进行从记录值到物理地址的转换。,2.哈希(Hash)文件这是目前应用最为广泛的一种直接文件。它利用Hash函数(或称散列函数)可将关键字转换为相应记录的地址。但为了能实现文件存储空间的动态分配,通常由Hash函数所求得的并非是相应记录的地址,而是指向某一目录表相应表目的指针,该表目的内容指向相应记录所在的物理块,如图7-6所示。,图
14、7-6Hash文件的逻辑结构,7.3 文 件 目 录,(1)实现“按名存取”(2)提高对目录的检索速度(3)文件共享(4)允许文件重名,7.3.1 文件控制块和索引结点,1.文件控制块FCB(File Control Block)为了能对系统中的大量文件施以有效的管理,在文件控制块中,通常应含有三类信息,即基本信息、存取控制信息及使用信息。文件控制块的有序集合称为文件目录,即一个文件控制块就是一个文件目录项。通常一个文件目录被看做是一个文件,称为目录文件。1)基本信息类基本信息类包括:(1)文件名(2)文件物理位置(3)文件逻辑结构(4)文件的物理结构,2)存取控制信息类存取控制信息类包括文件
15、主的存取权限、核准用户的存取权限以及一般用户的存取权限。3)使用信息类使用信息类包括文件的建立日期和时间、文件上一次修改的日期和时间,以及当前使用信息。这些信息包括当前已打开该文件的进程数,是否被其它进程锁住,文件在内存中是否已被修改但尚未拷贝到盘上等。应该说明,对于不同OS的文件系统,由于功能不同,可能只含有上述信息中的某些部分。,图7-7 MS-DOS的文件控制块,2.索引结点1)索引结点的引入文件目录通常是存放在磁盘上的,当文件很多时,文件目录可能要占用大量的盘块。在查找目录的过程中,必须先将存放目录文件的第一个盘块中的目录调入内存,然后将用户所给定的文件名,与目录项中的文件名逐一比较。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 文件 管理

链接地址:https://www.desk33.com/p-353719.html