操作系统:第5章

上传人:j7****6 文档编号:61665459 上传时间:2018-12-09 格式:PPT 页数:94 大小:595.50KB
返回 下载 相关 举报
操作系统:第5章_第1页
第1页 / 共94页
操作系统:第5章_第2页
第2页 / 共94页
操作系统:第5章_第3页
第3页 / 共94页
操作系统:第5章_第4页
第4页 / 共94页
操作系统:第5章_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《操作系统:第5章》由会员分享,可在线阅读,更多相关《操作系统:第5章(94页珍藏版)》请在金锄头文库上搜索。

1、第5章 文件管理,前面几章分别介绍了处理机管理、存储管理和设备管理,它们涉及的管理对象都是计算机系统中的硬件资源,即中央处理机(CPU)、内存储器以及各种外部设备。计算机系统中还有一类资源,即软件资源,对它们的管理,要由操作系统中的“文件管理”来完成。,退出,目前,用户总是把长期要保存的或暂时要保存的大量信息,组织成文件的形式存放在辅助存储器中,成为计算机系统中的软件资源。用户不会愿意去考虑自己的文件以什么方式存放在辅存中(顺序式、链接式还是索引式);不会愿意去过问自己的文件具体存放在辅存的什么地方;也不会愿意去计算自己的文件需要占用多大的辅存空间。用户只希望能够通过文件的名称找到所需要的文件

2、,完成对它的操作。也就是说,用户希望的是能够“按名存取”。,要实现用户提出的“按名存取”,操作系统必须解决文件如何在辅存存放,如何按照文件的名称能够检索到这个文件,如何能够对文件的内容进行更新,如何能够保证文件的共享和保密等问题。当然,操作系统还必须向用户提供一系列可以在程序中调用的命令(也就是系统调用),以便实现对文件的具体操作。,本章着重讲述4个方面的内容: (1)用户组织文件的方式(逻辑结构)与存储文件时的组织方式(物理结构); (2)对文件存储空间磁盘的管理; (3)对文件目录结构的讨论; (4)文件的共享与保密。,5.1 文件的结构 5.2 磁盘存储空间的管理 5.3 文件管理与目录

3、结构 5.4 文件的使用,5.1 文件的结构,5.1.1 文件与文件系统 所谓“文件”,是指具有完整逻辑意义的一组相关信息的集合。它是一种在磁盘上保存信息、而且能方便以后读取的方法。文件用符号名加以标识,这个符号名就被称为“文件名”。 一个文件的文件名是在创建该文件时给出的。对文件的具体命名规则,在各个操作系统中不尽相同,大多数系统都允许用不多于8个字母组成的字符串作为合法的文件名。通常,也允许文件名中出现数字和某些特殊的字符,但要依系统而定。,有的系统区分文件名中的大小写英文字母,例如UNIX;有的则不区分,例如MS-DOS。很多操作系统采取用句点隔开成两部分的文件名形式,句点后面的部分称为

4、文件的“扩展名”。比如文件名zong.c和cathy.doc中的“.c”、“.doc”就分别是文件“zong”和文件“cathy”的扩展名。扩展名大多含13个字符,其作用是标明文件的类型。图5-1列出了通常使用的扩展名及其意义。 文件被存放在大容量的辅助存储器中。当用户需要使用时,就通过文件名把相应的文件读到内存,为此,操作系统中就必须要有与文件管理有关的软件。所谓“文件系统”,即是指与文件管理有关的那部分软件、被管理的文件以及管理所需要的数据结构(如目录、索引表等)的总体。,5.1.2 文件的逻辑结构 所谓文件的结构,是指以什么样的形式去组织一个文件。用户总是从使用的角度出发去组织文件,而系

5、统则总是从存储的角度出发去组织文件。因此,文件有两种结构:从用户使用角度组织的文件,被称为文件的“逻辑结构”;从系统存储角度组织的文件,被称为文件的“物理结构”。文件系统的主要功能之一就是在文件的逻辑结构与相应的物理结构之间建立起一种映射关系,并实现两者之间的转换。说得具体一点,就是如果用户要使用文件中的某个信息,那么系统就必须根据用户给出的文件名以及所指的信息,找到这个文件,找到这个文件里的那个信息。“找到”,就是进行逻辑结构与物理结构之间的映射。本节介绍文件的逻辑结构,下一节介绍文件的物理结构。,用户把数据信息汇集在一起形成文件,目的是要使用它,因此,用户都是从如何使用方便的角度去组织自己

6、的文件的。这样组织出来的文件,就称为文件的逻辑结构。一个文件的逻辑结构,就是该文件在用户面前呈现的结构形式。 如上面文件的分类所述,按照文件的逻辑结构分类,可以把文件分为流式文件和记录式文件两种。这就是说,文件的逻辑结构有两种:流式和记录式。 如果把文件视为有序的字符集合,在其内部不再对信息进行组织划分,那么这种文件的逻辑结构被称为“流式文件”,如图5-2(a)所示。流式文件以字符为操作对象,适用于进行字符流的正文处理。UNIX操作系统总是以流式作为文件的逻辑结构。,如果用户把文件信息划分成一个个记录,存取时以记录为单位进行,那么这种文件的逻辑结构称为“记录式文件”,如图5-2(b)所示。在这

7、种文件中,用户为每个记录顺序编号,称为“记录号”。记录号一般从0开始,因此有记录0、记录1、记录2、记录n。出现在用户文件中的记录称为“逻辑记录”。每个记录由若干个数据项组成。图5-3给出了一个具体文件的逻辑结构形式,它的每一个记录包含:“学号”、“姓名”、“班级”和“各科成绩”(其中又分“外语”、“数学”、“操作系统”等课程)各数据项。,在记录式文件中,总要有一个数据项能够惟一地标识记录,以便对记录加以区分。文件中的这种数据项被称为主关键字或主键。比如,图5-3中的“学号”就是该文件的主关键字。要查找文件中的某个记录时,只要按主关键字去搜索,肯定能够找到。记录中的其他项被称为次关键字,或次键

8、。利用次键去查找记录,可以对文件中的记录进行分类。比如,用“操作系统=85”的条件去搜索图5-3,则会得到两个记录,即李伟业和袁中春的操作系统分数都是85分。,5.1.3 文件的物理结构 文件在辅存上可以有3种不同的存放方式:连续存放、链接块存放以及索引表存放。对应地,文件就有3种物理结构,分别叫做文件的顺序结构、链接结构和索引结构,也叫做连续文件、串联文件和索引文件。 1连续存放连续文件 用户总是把自己的文件信息看作是连续的。把这种逻辑上连续的文件信息依次存放到辅存连续的物理块中,所涉及的这些物理块,就是这个用户文件的物理结构。由于这些物理块是连续的,所以这个文件的物理结构被称为顺序结构,或

9、连续文件。,比如现在用户ZONG有一个名为MYFILE的用户文件,采用记录式的逻辑结构,共7个逻辑记录,每个逻辑记录长为500B,如图5-4(a)所示。一个磁盘片,共4个磁道,每个磁道4个扇区(块),每个扇区的尺寸为1000B。磁道与扇区(块)都从0开始编号。如图5-4(b)所示。图中每块左上角的小方框里标示的是块的顺序编号(即相对块号)。 由于每个逻辑记录为500B大小,因此一个磁盘块中可以存放2个逻辑记录。如果把文件MYFILE从第6个磁盘块开始顺序存放,那么该文件就占用从第6到第9共4个顺序的物理块(不过第9块只用了一半)。这就是文件MYFILE的物理结构,且是顺序结构,可以称它是文件M

10、YFILE的连续文件。,分配辅存上的连续物理块来存储文件,是存储文件最为简单的实现方案。不过它有两个不足之处:一是必须预先知道文件的最大长度,否则操作系统就无法确定要为它开辟多少磁盘空间;二是如同存储管理中所述,这样做会造成磁盘碎片,因为有一些小的磁盘块连续区满足不了用户作业的存储需求,因此也就分配不出去。,2链接块存放串联文件 如果把逻辑上连续的用户文件信息存放到辅存的不连续物理块中,并在每一块中包含一个指针,指向与它链接的下一块所在的位置,最后一块的指针放上“-1”,表示文件的结束。那么这时所涉及的物理块,就是这个用户文件的物理结构。由于这些物理块是不连续的,逻辑文件信息的连续性就要通过这

11、些块中的指针表现出来,因此把这个文件的物理结构称为链接结构,或串联文件。,仍以用户ZONG的文件MYFILE为例,假定现在把它存放在第6、10、9和14块中,显然这些块在辅存中不连续。第0、1两个逻辑记录存放在第6块,第2、3两个逻辑记录存放在第10块,第4、5两个逻辑记录存放在第9块,第6个逻辑记录存放在第14块(这一块只用一半)。为了反映出逻辑记录之间的顺序关系,在每块里都设置了指针,并且还要有一个该文件的首块指针,如图5-5(b)所示。,由首块指针指出该文件是从第6块开始存放的;由第6块中的指针“10”表明信息存放的下一块是第10块;由第10块中的指针“9”表明信息存放的下一块是第9块;

12、再由第9块中的指针“14”表明信息存放的下一块是第14块;最后,第14块中的指针是“-1”,表示文件存放到此结束。于是,从首块指针出发,顺着指针的指点,就能够找到该文件的所有记录。这个由第6、10、9、14组成的文件,就是用户文件MYFILE的物理结构,且是链接结构,它就是文件MYFILE的串联文件。,采用链接结构来存储文件,最大的好处是能够利用每一个存储块,不会因为磁盘碎片而浪费存储空间。但是要实现它,使用的指针要占去一些字节,每个磁盘块存储数据的字节数不再是2的幂,从而降低了系统的运行效率。,3索引表存放索引文件 如果把逻辑上连续的用户文件信息存放到辅存的不连续物理块中,系统为每个文件建立

13、一张索引表,表中按照逻辑记录存放的物理块顺序记录了这些物理块号,那么此时所涉及的物理块,就是这个用户文件的物理结构。由于这些物理块是不连续的,逻辑文件信息的连续性是通过索引表中记录的物理块的块号反映出来,因此把这个文件的物理结构称为索引结构,或索引文件。,仍以用户ZONG的文件MYFILE为例,并且仍假定现在把它存放在第6、10、9和14块中。显然这些块在辅存中不连续。第0、1两个逻辑记录存放在第6块,第2、3两个逻辑记录存放在第10块,第4、5两个逻辑记录存放在第9块,第6个逻辑记录存放在第14块(这一块只用一半)。为了反映出逻辑记录之间的顺序关系,系统为其设置一张索引表,如图5-6(b)所

14、示。索引表记录了依次分配给它的块的顺序与实际物理块的块号,也就是最先分配给它的第0块,实际是第6块;接着分配给它的第1块,实际是第10块,如此等等。,在此,索引表的作用有点像页式存储管理中的页表:通过逻辑记录号,可以知道它应该位于第几块;由它在第几块,去查索引表,就知道此块实际是第几块。于是,就能够找到该记录在辅存的真正存放位置了。这个由第6、10、9、14组成的文件,就是用户文件MYFILE的物理结构,且是索引结构,它就是文件MYFILE的索引文件。 文件的索引结构实际上就是把链接结构中的指针取出来集中存放在一起,这样它既能够完全利用每一个存储块的最大存储量,又保持物理块为2的幂,从而克服了

15、链接结构在这方面的缺点。,可以为每个文件建立自己的索引表,也可以为整个磁盘建立一张统一的索引表,称为“存储块索引表”。该表的表目个数与磁盘中的总块数相同,它以磁盘块的相对块号为索引,在每个表目中填写文件块的指针。比如图5-7中,有ZONG的两个索引文件MYFILE1和MYFILE2。MYFILE1的索引文件存放在磁盘块6、10、9和14中,MYFILE2的索引文件存放在磁盘块4、15和1中。系统统一设置一张存储块索引表。由于磁盘共有16个存储块,因此该表共有16个表目。,对于名为MYFILE1的索引文件,在与磁盘块6对应的表目中,填写它下一块的指针10;在与磁盘块10对应的表目中,填写它下一块

16、的指针9;在与磁盘块9对应的表目中,填写它下一块的指针14;在与磁盘块14对应的表目中,填写“-1”,表示结束。对于名为MYFILE2的索引文件,在与磁盘块4对应的表目中,填写它下一块的指针15;在与磁盘块15对应的表目中,填写它下一块的指针1;在与磁盘块1对应的表目中,填写“-1”,表示结束。当然,仅有存储块索引表还不够,还必须要指明每个文件从哪一块开始。这一信息将被记录在文件的目录中,详细的情形会在后面介绍。,5.1.4 文件的存取 存取方式可以作为文件的分类依据。用户在访问文件时,常采用顺序存取和随机存取(也称直接存取)两种方式。 (1)顺序存取:即按照文件记录的排列次序一个接一个地存取。为了存取第i个记录,必须先通过记录1到记录i-1。 由于磁带机的物理特性,文件只能采用顺序结构在其上存放,也只能采用顺序存取的方式对文件进行访问。对于磁盘,文件可以采用顺序结构、链接结构和索引表结构在其上存放。,(2)随机存取:即可以以任何次序存取文

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号