第21 次课教案第6章文件管理在一个计算机系统中除了包含如内存、中央处理器和各种各样的输入输出设备等硬件资源外,还有一些更重要的资源,即软件资源。
它主要包括系统程序(如编译程序、汇编程序等)、标准库函数以及大量的应用程序等。
对于这些软件资源,从管理者的角度来看,把它们看成一个个的文件,并把它们保存在某种介质上。
操作系统本身就是一个很重要的软件资源,对于操作系统只有某部分的内容常驻内存,其它大部分的操作系统程序存放在磁盘上,当需要用到某部分内容时,才将其装入内存。
此外,在计算机系统中将要安装各种应用软件,内存的空间是有限的并且不能长期保存,所以通常都是将它们保存在外存上,需要时再调入内存。
因此,为了便于管理,操作系统中提供了文件管理功能,这样不仅方便了用户,而且还可以提高资源的利用率。
文件系统是操作系统中对文件进行控制和管理的模块,也是操作系统中不可缺少的部分,本章将介绍文件、文件系统、文件的存储和检索以及共享和保护等问题。
6.1 文件和文件系统一、文件文件是在逻辑上具有完整意义的信息的集合,它以文件名作为唯一标识。
文件名以字符串的形式描述。
不同的操作系统对文件名有不同的规定,有些系统采用扩展名表示文件的属性和类型,文件名与扩展名之间用“.”分隔,例如在DOS中使用扩展名.exe 表示该文件为二进制可执行文件;有些系统通过修改文件属性描述文件的类型,而不支持扩展名,如Linux中“.”只是一个字符,该字符之后的所有字符也被认为是文件名的一部分,不能以此识别文件类型,文件类型要通过文件属性来描述,在这点上DOS和Linux不同。
文件属性通常包括:⑴文件名,文件的唯一标识,由用户按规定取名。
⑵文件类型,标志该文件的类型,如可执行文件、源文件等。
⑶文件长度,文件的大小。
⑷文件的位置,文件在设备上存放位置的地址。
⑸文件的存取控制,文件的存取权限,如可读、可写、可执行等。
⑹日期和时间:文件的创建、修改和访问的时间和日期。
二、文件类型文件分类主要是为了便于系统对不同的文件进行不同的管理,从而提高处理速度,便于保护和共享。
⒈按用途分类⑴系统文件:支持操作系统实现其基本功能的文件。
这类文件用户不能直接调用,只能由系统程序调用为用户服务。
⑵库文件:由标准子程序及若干应用程序组成。
这类文件允许用户直接调用,但不允许用户对其进行修改。
⑶用户文件:在用户操作过程中建立、保存的各种文件。
如源程序、编译连接后的目标程序、输入的数据文件、计算结果的输出文件等。
这类文件,用户可以使用操作系统提供的命令对它进行修改、删除和编辑等。
2.按文件的存取控制属性分类⑴只读文件:允许具有权限的用户读取该文件的内容,但不允许写。
⑵读写文件:允许具有权限的用户对该文件进行读和写操作,但禁止没有此权限的用户进行读写。
⑶可执行文件:只允许文件主和具有权限的用户去调用执行文件而不允许读和写文件。
⑷不保护文件:所有用户都可以使用的文件。
3.按信息流向分类⑴输入文件:只能读入的文件,例如读卡机或纸带输入机上的文件,只能读入,所以它们是输入文件。
⑵输出文件:只能写的文件,例如打印机、穿卡机等文件,只能写,所以它们是输出文件。
⑶输入输出文件:既可以读又可以写的文件,在磁盘、磁鼓、磁带上的文件。
4.按文件的逻辑结构分类⑴流式文件:文件内的信息不再划分结构,文件就是一串信息,以结束符作为文件的结束标志。
⑵记录文件:文件内的信息可再划分为多个记录,用户以记录为单位组织使用信息。
三、文件系统文件系统是计算机组织、存取和保存文件信息的系统。
文件系统一般由文件目录、文件组织、文件存储空间的管理、文件操作以及文件的共享和保护等部分组成。
高文件系统接口操作和管理对象的软件集合对象和对象属性说明低图文件系统模型6.2 文件结构文件结构是指文件的组织形式,主要分为两种:逻辑结构和物理结构,逻辑结构是从用户的角度出发,为用户提供一个结构清晰、使用方便的结构。
物理结构是从系统的角度来进行研究,主要的目的是选择一个性能良好、设备利用率高的物理文件结构。
一、文件的逻辑结构文件的逻辑结构指的是从用户的角度所看到的文件的组织形式,文件的逻辑结构通常分为两种:流式文件和记录式文件。
常用的存取方法有顺序存取、随机存取和按键存取三种方法。
二、文件的物理结构把文件在存储介质上的组织方式称为文件的物理结构,或称为物理文件。
文件在磁盘上可以有多种组织方式,常用的组织方式有顺序结构、链接结构和索引结构。
6.3 文件存储空间的管理(简介,略讲)6.4 文件目录管理建立文件系统的主要任务之一,就是让用户借助于文件系统可以很方便地访问外存。
在文件系统支持下,用户只要给出文件名,就可以进行存取访问。
文件空间的按名存取,是通过文件目录来实现的,这也正是文件目录提供的最基本的功能。
⒈文件的组成为了能够对一个文件进行正确的存取,必须为文件设置文件控制块。
文件与文件控制块一一对应,而把文件控制块的有序集合称为文件目录。
换言之,一个文件控制块就是一个文件目录项。
通常一个文件目录也被看作一个文件,称为目录文件。
⒉文件目录文件目录是用于检索文件的,它是文件系统实现按名存取的重要手段。
文件目录由若干目录项组成,每一个目录项记录一个文件的有关信息。
在目录项中除了指出文件名和文件在存储介质上的位置外,还应该包含如何控制和管理文件的信息。
有了文件目录后,当用户要求使用某个文件时,文件系统可顺序查找目录项并比较文件名,就可以找到指定文件的目录项,根据该目录项中给出的有关信息,可以进行核对使用权限等工作,并读出文件供用户使用。
因此,文件目录的组织和管理应便于检索和防止冲突。
对文件目录的管理有以下要求:⑴实现“按名存取”。
用户只需要向系统提供其需要访问的文件名,就可以快速、准确的找到指定文件在外存上的位置。
实现“按名存取”是目录管理中要提供的最基本的功能,也是文件系统向用户提供的最基本的服务。
⑵提高对目录的检索速度。
通过合理地组织目录结构的方法,可以加快对目录的检索速度,从而能够提高对文件的存取速度。
⑶文件共享。
在多用户系统中,应该允许多个用户共享一个文件。
这样就需要在外存上保留一份文件的副本,供不同用户使用,以节省大量的存储空间。
⑷允许文件重名。
系统应该允许不同的用户使用相同的名字来表示不同的文件,这样可以方便用户按照个人的习惯给文件命名和使用文件。
常用的目录结构有一级目录、二级目录和多级目录。
6.5 文件的共享和保护为了减少用户的重复劳动,免除系统复制文件的时间开销,以及节省文件占用的存储空间,操作系统提供文件共享的功能是十分必要的。
此外,为了防止文件被破坏,操作系统还要提供保护机构,实现不同的用户对文件的存储权限进行控制并提供相应的保密机制。
一、文件共享文件共享是指一个文件可以让指定的某些用户共同使用。
文件共享有许多好处,例如,免除系统复制文件的工作;节省文件占用的存储空间等。
在允许文件共享的系统中,必须对共享文件进行管理,共享文件的使用有两种情况:●不允许同时使用任何时刻只允许一个用户使用共享文件,即不允许两个或两个以上的用户同时打开一个文件。
一个用户打开共享文件后,待使用结束关闭文件后,才允许另一个用户打开该文件。
●可以同时使用允许多个用户同时使用同一个共享文件,但系统必须实现对共享文件的同步控制。
一般说,允许多个用户同时打开共享文件执行读操作,而不允许读者与写者同时使用共享文件,也不允许多个写者同时对共享文件执行写操作,以确保文件信息的完整性。
在现代计算机系统中,有些文件可供许多用户所共享,或者,有若干人在共同的为一个项目而工作,有关该项目的所有文件能供这一组人员所共享。
为此,现代计算机系统必须提供文件共享功能,即指系统应允许多个用户(进程)共享同一份文件。
早期实现文件共享的方法有:绕道法、连访法和基本文件目录表法。
现代的文件共享方法也是在早期的文件共享方法发展起来的,现代常用的文件共享方法有:基于索引结点的共享方式和基于符号链的共享方式。
二、文件保护文件的保护是指防止文件被破坏,根据不同的用户对文件进行存取权限控制和保密控制。
造成文件可能被破坏的原因,有时是硬件故障、软件失误引起的,有时是由于用户共享文件时发生错误引起的,文件系统应根据不同的情况采用不同的保护措施。
⒈防止系统故障造成的破坏文件系统必须有防止硬、软件的各种意外可能破坏文件的能力。
为此,文件系统经常采用建立副本和定时转储的方法来保护文件。
⒉防止用户共享文件可能造成的破坏对共享文件要防止非法使用文件造成的破坏,这就涉及到用户对文件的使用权限。
对文件的使用权限可以分成只准读、可读可写、只准执行和有权删除等。
可以用下面的方法规定用户使用文件的权限:⑴采用树形目录结构⑵存取控制表⑶文件使用权限6.6 文件操作和使用我们把文件系统设计的这一组功能模块称为“文件操作”,文件操作主要有以下几种:⒈“建立文件”操作⒉“打开文件”操作⒊“读文件”操作⒋“写文件”操作⒌“关闭文件”操作⒍“删除文件”操作。