目录
学习建议:
在计算机中,各种信息都是以文件的方式存储和管理的。在本章中,我们需要掌握如下内容:文件、文件系统的概念;理解为实现按名存取文件管理应该做哪些工作;文件的逻辑组织和物理组织的概念;目录和目录结构;文件管理怎样管理用户信息的存储和检索;路径名和文件链接;文件的存取控制;怎样实现文件的保护和保密;文件操作的作用以及用户如何使用文件操作。
在本章的学习中,我们可以结合第十章UNIX中的相关文件管理章节进行学习,重点需要掌握逻辑文件与物理文件间的转换;文件目标;基本文件操作的作用及使用。
基本内容:
一.文件系统的概念:
文件管理系统和处理机管理、内存管理、设备管理称为操作系统的四大资源管理。
而文件管理系统是最接近用户层的系统。文件系统将要管理的信息统一组织成文件形式进行管理。
文件系统为用户提供了一种简便、统一地存取信息和管理信息的方法。用户只需给出文件的名称,通过文件系统提供的有关的操作命令就可以调用和管理文件。这些命令使用方便,易懂易学。所以文件系统使用户彻底摆脱了与外存在物理特性方面的联系。
二.文件的概念:
文件是在逻辑上具有完整意义的一组相关信息的有序序列。文件有一个名字,用以识别文件。为了管理文件,系统为每个文件建立一个文件说明,它包含管理这个文件的全部信息。
文件系统通过文件说明来完成对文件的管理。所以,文件系统中的文件是由文件说明和文件体两部分组成.前者是为管理文件信息的数据,后者是文件信息的本体,称为文件体。
文件说明主要包括:
文件名
文件体所在的物理地址
文件所有者名及其存取权限
文件授权使用者名及其存取权限
文件建立日期
记录数及记录长度
文件属性
文件名是由用户指定的,文件系统根据用户给出的文件名,在系统中中查找各文件说明,找到具有这个文件名的文件说明后,通过其文件体所在地址,就可以在外存中找到这个文件的信息(文件体)。这样从用户角度看就实现了按名存取文件信息的功能。
三.文件的分类:
文件是一组带有标识名的信息,由于用途和本身的特点不同,所以可以从不同的角度中角度对其进行分类。
1.按文件用途分类
(1)系统文件。支持操作系统实现其基本功能的文件。这类文件用户不能直接调用,只能由系统程序调用为用户服务。
(2)库文件。由标准子程序及若干应用程序组成。这类文件允许用户直接调用,但不允许用户对其进行修改。
(3)用户文件。在用户上机过程中建立、保存的各种文件。如源程序、编译连接后的目标程序、输入的数据文件、计算结果的输出文件等。这类文件,用户可以使用操作系统提供的命令对它进行修改、删除、编辑等;
2.按文件属性分类
(1)只读文件。允许文件主及核准的用户读该文件.但不允许写。
(2)读写文件。允许文件王及核准的用户读写该文件,但禁止未核准的用户进行读写。
(3)不保护文件。所有用户都可以使用的文件。
3.根据文件的使用情况
(1)临时文件。在用户解题过程中建立的中间文件时,此类文件也就随之撤销。它只能保存在磁盘上,当用户撤离系统时,此类文件也随之撤销。
(2)永久文件。用户经常使用的文件。它不仅在磁盘上有副本,同时在作为档案的磁带上也有副本。
(3)档案文件
4.根据文件在外存上的组织形式
(1)连续文件。文件信息存放在外存内连续的存储块中:
(2)随机文件,也叫作索引文件。这类文件的每一个文件都有件信息的存储块位置,其顺序也由索引给出。
(3)串联文件。文件信息存放在外存内以链接方式连接的存储块中,块间在物理位置上不一定连续。
5.根据文件内的信息是否有逻辑结构
(1)流式文件。文件内的信息不再划分结构,文件就是一串信息,以结束符作为文件的结束标志。
(2)记录文件。文件内的信息可再划分为多个记录,用户以记录为单位组织使用信息。
6.由文件的信息流向
(1)输入文件--只能读入的文件。
(2)输出文件一--只能写的文件。
(3)输入输出文件--既可读又可写的文件。
四.文件的存取方式
用户在一个文件上的操作大多是"读"和"写",用户要求写一个文件时,文件系统便把用户组织好的逻辑文件保存到存储介质上,用户要求读一个文件时,文件系统就要从存储介质上取出文件信息并把它存放到主存储器中。但是,按怎样的方式完成文件信息的存和取呢?计算机系统往往提供多种存取方式,采用哪种存取方式与用户的使用要求及存储介质的特性有关。
1.文件的存储介质
把可用来记录信息的磁带、硬磁盘组、软磁盘片、卡片等称为存储介质,目前大量使用的文件存储介质是磁带和磁盘。
把存储介质的物理单位定义为"卷",例如,一盘磁带、一张软盘片、一个磁盘组都可称为一个卷。一个卷上可以保存一个文件(称为单文件卷)或多个文件(称为多文件卷),也可以把一个文件保存在多个卷上(称为多卷文件)或多个文件保存在多个卷上(称为多卷多文件)。
把存储介质上连续信息所组成的一个区域称为"块"(或称"物理记录"),块是存储设备与主存储器之间进行信息交换的物理单位,每次总是把一块或几块(整数块)信息读入主存储器,或是把主存储器中的信息写到一块或几块中。划分块的大小应根据用户要求、存储设备类型、信息传输效率等多种因素来考虑。不同类型的存储介质,块的长度往往各不相同,对同一类型的存储介质,块的长度也可以不同。
2.文件的存取方式
从对文件信息的存取次序考虑,存取方式可以分成两类:顺序存取和随机存取。
采用哪种存取方式,主要取决于两个方面的因素:
(1)与怎样使用文件有关
文件的性质决定了文件的使用,也就决定了存取方式的选择。
(2)与存储介质的特性有关
目前常用的存储设备是磁带机和磁盘机。磁带机是一种适合顺序存取的存储设备,它总是从磁头的当前位置开始读写磁带上的信息。当磁头读写了第i块的信息后,走过其后的间隙就到达了第i+1块的位置。当磁带机继续工作时,一定是读写第i+1块的信息。所以,对存储在磁带上的文件,一般均采用顺序存取的方式。
图1 信息在磁带上的存储结构
磁带上的块不是用地址标识,而是由它在磁带上的物理位置来识别。因此,若想随机地读某一块的信息,则必须让磁头先定位到磁带的始端,然后才能正确定位到指定块的位置。例如,为了读出第100块上的信息,则必须让磁头从头开始走过前面的99块。这样,花费在定位上的时间就非常多,影响系统效率,故对组织在磁带上的文件很少采用随机存取方式。
磁盘机是一种可按指定的块地址进行信息存取的设备。磁盘上的每一个块都有确定的位置和一个惟一的地址,地址用"柱面号、磁头号、扇区号"三个参数表示。
磁盘机能根据给定的地址带动读写磁头到达指定柱面后,让指定的磁头存取指定扇区上的信息。所以,磁盘机能随时读写任何一块的信息,具有随机存取的功能。于是,对存储在磁盘上的文件,既可采用顺序存取方式,又可采用随机存取方式。但是,在建立文件时,应定义好存取方式,使用文件时必须与预定义的存取方式一致。
五.文件管理系统
文件系统对文件统一管理, 目的是方便用户且保证文件的安全可靠。面向用户,文件系统主要是实现"按名存取"。为此,文件系统应由如下一些部分组成:
1.目录管理
文件目录是实现按名存取的一种手段,对用户要求建立的一个新文件,应把与该文件有关的一些属性登记在文件目录中;用户要求读一个文件时,应从文件目录中查找指定文件是否存在并核对是否有权使用。一个好的目录结构应既能方便检索,又能保证文件的安全。
2.文件的组织
用户按信息的使用和处理方式组织文件,称为文件的逻辑结构或称为逻辑文件。把逻辑文件保存到存储介质上的工作由文件系统来做,这样可减轻用户的负担。根据用户对文件的存取方式和存储介质的特性,文件在存储介质上可以有多种组织形式。把文件在存储介质上的组织方式称为文件的物理结构或称为物理文件。因此,当用户要求保存文件时,文件系统必须把逻辑文件转换成物理文件,而当用户要求读文件时,文件系统又要把物理文件转换成逻辑文件。
六.文件目录
建立文件系统的主要任务之一,就是让用户借助于文件系统可以很方便地访问外存。在文件系统支持下,用户只要给出文件名,就可上进行存取访问。文件空间的按名存取,是通过文件目录来实现的。文件目录是各文件的文件说明的集合。
文件目录是用于检索文件的,它是文件系统实现按名存取的重要手段。文件目录由若干目录项组成,每一个目录项记录一个文件的有关信息。在目录项中除了指出文件名和文件在存储介质上的位置外,还应包含如何控制和管理文件的信息。
目录项应包含如下内容:
(1)有关文件存取控制的信息。
(2)有关文件结构的信息。
(3)有关文件管理的信息。
有了文件目录后,当用户要求使用某个文件时,文件系统可顺序查找目录项并比较文件名,就可找到指定文件的目录项,根据该目录项中给出的有关信息可进行核对使用权限等工作,并读出文件供用户使用。因此,文件目录的组织和管理应便于检索和防止冲突。
七.简单的文件目录
为了便于管理,把所有文件的文件说明都集中放在一起,就构成了简单的文件目录。
八.二级目录
采用简单文件目录的文件系统,文件名与文件信息有一一对应关系,不允许两个不同文件具有相同的名字。但文件系统是为很多个用户眼务的.在动态使用过程中,很容易发生文件重名。为了使每个用户都可以按照自己的习惯给文件取名,不必考虑用户间的重名问题,可采用二级目录。
二级目录由主目录和用户目录构成。系统允许每个用户有个用户目录。属于哪个用户的文件,其文件说明就登记在该用户的目录上。整个系统有一个主目录,用来登记所有用户目录名称及其所在的物理地址,以及用户目录的长度、物理结构等属性。
采用二级目录结构后,用户要求存取文件时,总是搜索该用户自己的文件目录。因此,即使不同的用户在为各自的文件命名时,取了相同的文件名也不会引起混乱。但是,在同一个用户文件目录中的各个文件的文件名应该是不相同的。
九.树形目录记录
如果允许用户在自己的文件目录中根据不同类型的文件再建立子目录,则可把二级目录结构推广成多级目录结构。多级目录结构像一颗倒置的有根树,故把它称为树形目录结构。
图2 树形目录机构
在树形目录结构中,主文件目录是树根,因此,常常把主文件目录称为根目录(root)。允许用户在根目录下建立子目录和组织文件,子目录可以是多层次的,就像是树枝,文件在最末端,就像是树叶。在UNIX系统和MSDOS系统中都采用于树形目录结构。
在树形目录结构中,每一个文件都有一个从根到叶的路径。从根目录出发到某文件的通路上所有各级子目录名和该文件名的顺序组合称为文件的"路径名",在各级子目录名和文件名之间可用"/"隔开,例如,图2中:
root/program/p/list
root/spell/mail/prt/first
都是文件的路径名。
每个文件都有一个惟一的路径名,用户存取文件时必须给出文件所在的路径名。文件系统根据用户指定的路径名检索各级目录,从而确定文件所在的位置。由于查找文件总是从根目录开始,因而查找的时间较长;事实上,用户在一段时间内会经常访问-个子目录下的文件。为了提高效率和方便用户,文件系统引进了"当前目录"的概念。系统初始启动后,当前目录就是根目录。以后,用户可以用"改变当前目录"命令指定自己当前的工作目录。例如,用户要求把当前目录改为:
root/spell/mail
则用户当前的工作目录就是mail。
有了当前目录后,文件系统把路径名分成两类:绝对路径名和相对路径名。
绝对路径名指出了从根目录开始跟随的一条指向指定文件的路径;
相对路径名指出了从当前目录出发到指定文件的路径。
如果文件就在当前目录中,则存取文件时只要指出文件名就行,文件系统将在当前目录中寻找该文件。如果文件不在当前目录中,但在当前目录的下级目录中,则可用相对路径名指定文件,文件系统就从当前目录开始沿着指定的路径查找该文件。例如:
相对路径名 prt/first
绝对路径名 root/spell/mail/prt/first
都指向同一个文件,文件系统用相对路径名和绝对路径名均可找到名为first的文件使用相对路径名可以减少查找文件所花费的时间。
在树形目录结构中,根目录或子目录中的目录项可能指向文件,也可能指向下一级子目录。由于每个目录项都有相同的形式,怎样区分它指向的是文件,还是子目录呢?我们可以在目录项中用一个二进制位区分该目录项所指向的是文件(当二进制位取值为"0"时),还是子目录(当二进制位取值为"1"时)。用户可以请求系统为其建立一个文件、删除一个文件、建立一个子目录、删除-个子目录。通常,只允许用户删除"空"子目录,如果子目录非空(含有若干文件或下级子目录),则应先删除该子目录中的所有文件,然后再删除该子目录。
树形目录结构的优点:
(一)解决了重名问题
允许在不同的子目录中使用相同的名字命名文件或下级子目录。这样,系统在检索时使用的路径名是不同的,故对同名文件不会引起混淆。
(二)有利于文件的分类
系统或用户可以把不同类型的文件登录在不同的子目录下,并可按层次建立子树。
(三)提高检索文件的速度
利用当前目录和相对路径不仅方便用户,而且系统从当前目录开始检索文件,缩短了检索路径,提高了检索速度。
(四)能进行存取权限的控制
在子目录中可规定存取权限,在检索文件时核对存取权限,避免一个用户未经授权就存取另一个用户的文件,保证了用户文件的私有性,可实现对文件的保护和保密。
十.文件控制块FCB
FCB中的数据项可分为两部分:文件名和文件说明。
1.文件名:
- 信息项:构成文件内容的基本单位;
- 文件长度可以为单个字节,或多个字节;
- 文件内容的意义:由文件的建立者和使用者解释;
- 各信息项之间具有顺序关系。
2.文件说明:
- 设备类型和设备号
- 文件物理位置:指明文件体(即文件正文)所在外存起始块号及所占块数。
- 文件逻辑结构及长度:指出是记录式文件还是流式文件。对于记录式文件,"长度"是记录个数和记录长度。对于流式文件,"长度"是字符(或字节)个数。
- 文件物理结构:连续结构或链表结构或索引结构或散列结构。若是散列结构还应给出Hash函数形式。
- 文件属性:系统文件或用户文件或目录文件。
- 文件主及操作权限:文件主即文件创建者。操作权限为"只读"、"可读写"或"可执行"。
- 共享者及其操作权限:指明哪些用户被授权访问该文件以及他们的访问权限(只读、可读写、可执行等),或者规定保密口令,凡获悉口令者按规定的访问权限访问文件。这些由文件主规定。
- 文件连接计数:因共享而被连接的次数。
十一.文件目录的管理
操作系统要管理许多用户的大量文件,因此,系统中也就有许多的文件目录(或子目录)。如果把文件目录都存放在主存储器中,则会占去大量的主存空间。事实上,任何一个用户,在一段时间里只使用少数文件,也就仅涉及到少量文件目录。
文件目录是需要长期保存的,为了对文件目录进行管理,通常把文件目录也作为文件保存在辅助存储器中。由文件目录组成的文件称为"目录文件",目录文件可以像其他文件一样进行读写等处理。当需要时可把目录文件中的有关文件目录读到主存储器进行检索或修改,也可把主存储器中的文件目录写回到辅助存储器上的目录文件中。所以,文件系统可以根据用户的要求从目录文件中找出用户的当前目录,把当前目录读入主存储器作为值班目录。这样,既不占用太多的主存空间,又可减少搜索目录的时间。
十二.文件的组织结构
文件的组织结构是指文件的构造方式,用户和文件系统往往从不同的角度对待同一个文件。
用户从使用的角度组织文件,用户把能观察到的且可以处理的信息根据使用要求构造文件,由用户构造的文件称文件的逻辑结构。
文件系统要从文件的存储和检索的角度组织文件,文件系统根据用户对文件的存取方式以及存储介质的特性决定以怎样的形式把用户文件存放到存储介质上,在存储介质上的文件构造方式称文件的物理结构。
文件的物理结构对用户来说是不必关心的,但对文件系统来说却是至关重要的,因为它直接影响存储空间的使用和检索文件信息的速度。用户按逻辑结构使用文件,文件系统按物理结构管理文件。因此,当用户请求读写文件时,文件系统必须实现文件的逻辑结构与物理结构之间的转换。
十三.文件的逻辑结构
文件的逻辑结构就是文件的信息结构。文件的信息结构分为流式文件和记录式文件两种。
1.流式文件
例如,源程序文件就是由-串顺序的字符流组成的流式文件。对流式文件,用户常常以长度或特殊字符提出读取文件信息的要求。
2.记录式文件
一个逻辑文件是由若干个逻辑记录组成的,称为记录式文件。记录式文件中的逻辑记录可依次编号,其序号称为逻辑记录号(简称记录号)。
对记录式文件,逻辑记录是文件内可以独立存取的最小信息单位。当用户请求文件系统读出一个逻辑记录后,用户可以对逻辑记录中的各个数据项进行处理。为了能正确快速地存取逻辑记录,对记录式文件中的每个逻辑记录至少要有-项特殊的信息,利用它可把同一文件中的各个逻辑记录区分开来。
十四.文件的物理结构
用户的逻辑文件要存放到存储介质上时,文件系统要根据存储设备的类型、用户采用的存取方式决定文件在存储介质上的组织方式。组织在存储介质上的文件是依赖于物理的存储设备、物理的存储空间,可以看作是相关的物理块的集合。所以,把文件在存储介质上的组 织方式称为文件的物理结构,或称物理文件。
1.磁带文件的组织
磁带机是一种顺序存取的设备,因此,组织在磁带上的文件都采用顺序结构。
磁带上的每个文件都有文件头标、文件信息和文件尾标三个组成部分。
文件头标:
文件头标用来标识一个特定的文件和说明文件的属性,文件头标的内容可以有用户名、文件名、文件的分块数和块的长度等。
文件信息:
这是用户逻辑文件中的信息,可把这些信息存放在若干块中,这些块中信息的顺序与逻辑文件中的信息顺序-致。
文件尾标:
文件尾标用来表示一个特定的文件信息结束。
2.磁盘文件的组织
文件在磁盘上可以有多种组织方式,常用的组织方式有顺序结构、链接结构和索引结构。
(1)顺序结构
若一个逻辑文件有一个逻辑记录,每个逻辑记录要占用一个磁盘块,如果第一个记录占用了磁盘上的第b块,而后继的记录依次占用了第(b+1)块,(b+2)块,…,(b+ n-1)块,则说该文件在磁盘上是以顺序结构组织的。一个文件在逻辑上连续的信息被存放到磁盘上依次相邻的块上,显然,这是一种逻辑记录顺序与磁盘块的顺序相-致的文件结构,把这种顺序结构的文件称为"顺序文件"或"连续文件"。
对顺序存取的文件采用顺序结构的最大优点是存取速度快,只要记住当前访问的逻辑记录所在的块号,则接下去一定是访问下一个块内的记录。因此,不必每次都去查找记录的存放位置,减少了检索时间。
存在的问题
i. 磁盘存储空间的利用率不高。磁盘上的每个顺序文件都占用连续的磁盘块,当某个文件被撤消,则它所占的磁盘空间应归还成为空闲块,归还的空间可用来存储其他文件。由于老文件不断地被撤消,新文件不断地被存储进来,使得连续的磁盘空间被分散了。对一些连续块数较少的空闲块;可能满足不了文件的需要而无法利用。
ii. 对输出文件很难估计需多少磁盘块。对一个已经存在的文件要存储到磁盘上时,很容易确定需要占用的磁盘块数。然而,在一般情况下,作业执行的结果不是一次形成的,而是边处理边产生结果。因此,对类似这样的输出(结果)文件很难预先估计长度,也就难以确定应分配多少个连续的磁盘块。
iii. 影响文件的扩展。如果一个顺序文件需要扩展,则一定要有与其相邻的空闲磁盘块用以顺序存放被扩展的信息。但是,与其相邻的磁盘块很可能已被其他文件占用,使文件的扩展受到影响。
为了克服上述问题,有的系统对顺序结构的文件采用措施:
i. 要存储一个文件时,先分配若干连续的磁盘块,把文件信息顺序存放在这些块中,如果存储空间不够,则再分配一组连续的磁盘块,两个连续空间之间加一个链接指针。
这种做法可提高磁盘空间的利用率和适应文件的扩展,但文件的物理结构已不是严格的顺序排列了。
ii. 把一个文件划分成几个能独立存取的顺序子文件,这样,各个顺序子文件只要占用相对较少的连续磁盘块,容易得到满足。由于各顺序子程序是可独立存取的,所以,经这样划分后的文件结构,本质上仍是顺序文件。
(2)链接结构
把逻辑文件中的各个逻辑记录任意存放到一些磁盘块中,这些磁盘块可以分散在磁盘的任意位置。例如,有五个逻辑记录的某文件,存放到磁盘上需占用五个磁盘块,这五个磁盘块的块号可以是9,16,1,10,25。于是,顺序的逻辑记录被存放在不顺序的磁盘块上。如果用指针把这些磁盘块按逻辑记录的顺序链接起来,则形成了文件的链接结构,把链接结构的文件称为"链接文件"或"串联文件"。
链接结构解决了顺序结构中的所有问题,磁盘上的所有空闲块都可以被利用,建立文件时也不必事先考虑文件的长度,只要有空闲的磁盘块,文件可继续扩展。此外,还可根据需要在文件的任何位置插人一个记录或删除一个记录。对文件进行扩展、插入记录时,先寻找磁盘上的空闲块用以存放文件信息,然后修改相应的链接指针,使新的信息链接到文件的适当位置。如果要删除一个记录,则也要修改链接指针,把该记录所占的磁盘块从链接文件中脱离出来,并把它占用的磁盘块作为空闲块。
对于链接结构的文件,应注意三个问题:
i. 每一个磁盘块中既存放了文件信息,又存放了用于管理的指针,如果磁盘块长是 512个字节,假定指针需占用4个字节,则每块实际可用于存放文件信息的长度是508个字节。有的系统把多个磁盘块组成一"簇",以簇为单位分配存储空间,以减少指针占用的空间。
ii. 读写磁盘上的信息以块为单位,当读出一块信息后应把其中的指针分离出来,仅把属于逻辑文件的信息传送给用户,以保证用户使用文件信息的正确性。
iii. 在存取文件时,如果某个指针丢失或被破坏,则错误的指针可能指向其他文件而导致混乱。为了提高可靠性,有的系统采用双指针或在每个磁盘块中再加入文件名。这样在每一块中增加了用于管理的信息,使得用于存放文件信息的空间减少了。
(3)索引结构
索引结构是实现非连续存储的另一种方法,索引结构为每个文件建立一张"索引表",把指示每个逻辑记录存放位置的指针集中在索引表中。通常,把索引表保存在某个磁盘块中,文件目录中指出索引表的存放位置。采用索引结构的文件称“索引文件”。
索引表中的每个登记项指出一个逻辑记录的存放位置,可以按逻辑记录的顺序登记在索引表中。这样,第i个登记项就指示了第i个逻辑记录所在的位置。当索引表中的登记项数大于逻辑记录个数时,可用特殊字符(比如"-1")表示无效登记项。
存取文件时,先检查该文件的索引表是否已读入主存储器,如果不在主存储器中,则根据文件目录的指示将索引表读入主存储器。对索引文件既可采用顺序存取方式,又可采用随机存取方式。当顺序存取时,只要顺序检索索引表中的登记项,就可按各记录存放的位置依次读出逻辑记录。当随机存取时,对于给定的记录号,例如,请求读第i个记录,根据索引表在主存中的起始地址立即可找到第i个登记项,按照登记项中指针指示的地址读出第i个逻辑记录。
由于索引结构既适合顺序存取记录,又可方便地按任意次序随机存取记录,且容易实现记录的增、删和插入所以索引结构被广泛应用。但是,采用索引结构必须增加索引表占用的空间和读写索引表的时间。
当一个文件中记录很多时,索引表就很庞大,有时要用多个磁盘块存放一个文件的索引表,可把存放索引表的各磁盘块用指针链接起来。因此,当随机存取某个记录时,可能要沿链搜索才能找到该记录的存放地址,这是很费时间的。
十五.记录的成组和分解
每个用户的文件是由用户按自己的需要组织的,用户对逻辑文件还可按信息在逻辑上的独立含义划分成逻辑记录。显然,逻辑记录的大小是由文件性质决定的。
但是,存储介质上的分块与存储介质的特性有关,尤其是磁盘,磁盘上的块是在初始化时预先划好的。因此,逻辑记录的大小往往与存储介质分块的大小不一致。
当用户文件的逻辑记录比存储介质的分块小得多时,把一个逻辑记录存人一块中就会造成存储空间的浪费。为此,可把多个逻辑记录存放在一个块中,当用户需要逻辑记录再从一块信息中将其分解出来。
1.记录的成组
把若干个逻辑记录合成一组存入一块的工作称"记录的成组",每块中的逻辑记录个数称"块因子"。
有时处理用户作业时,用户要求把产生的中间结果作为文件保存到磁盘上,文件中的逻辑记录是在作业执行过程中陆续形成的。当这些逻辑记录长度较小时,可把它们以成组的方式保存到磁盘上。
假设磁盘上的分块长度大于三个逻辑记录的总长,则可先在主存缓冲区中把三个逻辑记录合成一组,然后启动磁盘把三个逻辑记录同时写到磁盘块中。
记录的成组不仅提高了存储空间的利用率,而且还减少了启动外设的次数,提高系统的工作效率。
在实现记录成组时,还应考虑逻辑记录的格式。在记录式文件中,每个记录的长度可以是一致的,也可以是不相同的,分别称为"定长记录格式"和"变长记录格式"。
如果对定长记录格式的文件按记录成组的方式存储到存储介质上,则除最后一块外,每块中存放的逻辑记录个数是相同的。故只要在文件目录中说明逻辑记录的长度和块因子,当需要使用某个记录时仍能方便地将其找出。
如果是一个变长记录格式的文件,各个逻辑记录的长度可能不相等,但是每个逻辑记录的长度是确定的。在进行记录成组操作时,应在每个逻辑记录前附加说明记录长度的控制信息。
2.记录的分解
从一组逻辑记录中把一个逻辑记录分离出来的操作称"记录的分解"。
由于读写存储介质上的信息以块为单位,而用户处理信息要以逻辑记录为单位,所以当逻辑记录成组存储后,用户要处理记录时必须执行记录的分解操作。显然,记录的分解操作也要使用主存缓冲区。
记录的成组和分解是以设立主存缓冲区和操作系统增加成组分解操作的功能为代价,来提高存储介质的利用率和减少启动设备的次数。
十六.两种逻辑结构文件的存取方式
通常有两类存取方法:顺序方法和随机方法。记录式文件和流式文件均可采用这两种方法,但由于它们的逻辑结构不同,所以具体实现时也有区别。
1.记录式文件的两类存取方法
顺序存取方法 | 本方法严格按记录的逻辑顺序依次存取每个记录。若当前被访问的是记录Ri,则下次将被访问的记录自动被确定为Ri+1。 |
随机存取方法 | 这种方法允许用户随意存取文件中的任一个记录,而与上次存取了哪个记录无关。因此,当存取一个记录时,必须指明记录号。通常系统设置一个记录指针,用户可以通过系统调用指令改变指针中的值,使它指向某个记录。 |
2.流式文件的两类存取方法
顺序存取方法 | 由位移指针的当前位置及要读写的字符个数(或字节数)指定要读写的信息段(连续的若干字符)。读写完毕,指针自动指向与信息段尾端紧邻的下一个字符或字节 |
随机存取方法 | 用系统调用指令把指针直接移动到要读写的信息段起始处,然后按给出的信息段长度读写。再次读写时,仍需先定位指针。 |
十七.磁盘存储空间的管理
磁盘具有大容量的存储空间,它被操作系统和许多用户共享,用户作业执行期间经常要求在磁盘上存储文件和删除文件,因此,文件系统必须对磁盘空间进行管理。当用户要求存储文件时就要为他分配存储空间,当删除文件时又要收回文件占用的存储空间。
十八.位式图
由于磁盘被分块后,每一块的大小都是一样的,所以,对每个磁盘可以用一张位示图指示磁盘空间的使用情况。一个磁盘的分块确定后,根据总块数决定位示图由多少字组成,位示图中的每一位与一个磁盘块对应,某位为"1"状态表示相应块已被占用,为"0"状态的位所对应的块是空闲块。
假设M=[块号/32],N=块号mod 32(这里[ ]表示取整数,运算符mod i表示某数被i除后的余数),那么,由块号可计算出
柱面号=M
磁头号=[N/4]
扇区号=N mod 4
于是,文件信息就可按确切的地址存放到找到的磁盘块上。
当删除文件归还存储空间时,可以根据归还块的块号推算出在位示图中的位置,或由物
理地址计算出对应的块号后再确定在位示图中的位置,把这一位的占用标"1"清成"0",
表示该块成为空闲块了。
十九.空闲块表
系统为每个磁盘建立一张空闲块表,表中每个登记项记录一组连续空闲块的首块号和块数,空闲块数为"0"的登记项为"空"登记项。
这种管理方式适合采用顺序结构的文件,存储文件时从空闲块表中找一组连续的空闲块,删除文件时把归还的一组连续块登记到空闲块表中。空闲块的分配和回收算法类似主存储器的可变分区管理方式中采用的最先适应、最优适应和最坏适应算法。同样,对分配或归还的块要进行块号与地址之间的换算。
二十.空闲块链
把所有的空闲块连接在一起构成空闲块链,分配空间时从链中取出空闲块,归还空间时,把归还块加入到链中。于是,这种管理方式不需要外加专门记录空闲块分配情况的表格。空闲块的连接方式有两种:单块连接和成组连接。
(一)单块连接
把所有空闲块用指针连接起来,每一个空闲块中都设置一个指向另一个空闲块的指针所有的空闲块就构成了一个空闲块链。系统设置一个链首指针,指向链中的第一个空闲块,最后一个空闲块中的指针为"0"。
分配一块时,根据链首指针把链头的一块分配给申请者,并修改链首指针。归还一块时,把归还块加入到链头,链首指针应指向归还块。这种方法效率较低,每分配一块时都要启动磁盘读出空闲块后才能取得其中的指针,把该指针作为链首指针。每归还一块时也要启动磁盘把原链首指针写到归还块中,新链首指针指向归还块。为了分配回收一块,增加了启动磁盘进行读写的工作,这是非常麻烦和费时的。
(二)成组连接
把空闲块分成若干组,把指向一组中各空闲块的指针集中在一起,这样既可方便查找,又可减少为修改指针而启动磁盘的次数。
分配和回收的算法如下:
1.分配一个空闲块
查L单元内容(空闲块数):
当空闲块数>1 i:=L+空闲块数;
从i单元得到一空闲块号;
把该块分配给中清者;
空闲块数减1。
当空闲块数=1 取出L+1单元内容(一组的第一块块号或0);
其值=0 无空闲块,申请者等待;
其值≠0 把该块内容复制到专用块;
该块分配给申请者;
把专用块内容读到主存L开始的区域。
2.归还一块
查L单元的空闲块数
当空闲块数<100 空闲块数加1;
j:=L+空闲块数;
归还块号填入i单元。
当空闲块数=100 把主存中登记的信息写入归还块中;
把归还块号填入L+1单元;
将L单元置成1。
采用成组连接后,分配回收磁盘块时均在主存中查找和修改,只是在一组空闲块分配完或空闲的磁盘块构成一组时才启动磁盘读写。因此,成组连接的管理方式比单块连接方式效率高。
二十一.文件操作
为了正确地实现文件的存取,文件系统设计了一组与存取文件有关的功能模块,用户可以用"访管指令"调用这些功能模块,以实现对文件的存取要求。我们把文件系统设计的这一组功能模块称为"文件操作",文件操作主要有以下六种:
1.“建立文件”操作
用户要求把一个新文件存放到存储介质上前,首先调用文件系统的"建立文件"操作。在请求调用该操作时,用户必须给出如下参数:用户名、文件名、存取方式、存储设备类型、记录格式、记录长度……
"建立文件"操作的主要工作是检查文件目录,确认无重名时寻找空登记项进行登录;寻找空闲存储块(至少一块)以备存储文件信息或存放索引表。
用户要建立一个新文件时,首先必须用建立命令向文件系统申请一个空闲的目录立命令把文件名和用户对新文件的属性要求,建立日期等信息填入目录的有关字段中录区无空闲目录时,则给出目录区已溢出的信息。
2.“打开文件”操作
用户要求使用一个已经存放在存储介质上的文件前,首先调用文件系统的"打开文件"操作。用户在请求调用时应给出如下参数:用户名、文件名、存取方式、存储设备类型……
"打开文件"操作的主要工作是:找出用户的文件目录并读入主存储器;检索文件目录找出与文件名相符的登记项;核对存取方式是否一致;对索引结构的文件还要把该文件的索引表读到主存储器;在系统设置的"已开文件表"中登记该文件的有关信息(例如,文件的打开者,设备类型等)。
3.“读文件”操作
用户要求读文件信息时调用文件系统的"读文件"操作。用户在请求调用时应给出的参数是用户名、文件名、存取方式、存放信息的主存地址等。对随机存取方式的文件,还要说明读哪个记录。
"读文件"操作的主要工作是查"已开文件表"该文件是否已打开且核对是否是打开者请求读文件;核对无误后,对顺序存取方式的文件,每次按逻辑顺序读一个或几个逻辑记录传送到用户指定的主存地址。对随机存取方式的文件,按用户指定的记录号(或键)查索引表,得到该记录的存储地址后,按地址将记录读出,并传送到用户指定的主存地址。
允许用户对一个已经打开的文件分多次读,但要注意,对顺序文件系统总是从当前位置或按记录顺序读出信息。
4.“写文件”操作
用户要求存文件信息时,调用文件系统的"写文件"操作。用户调用"写文件"操作时也要给出参数,参数形式同"读文件"操作。
"写文件"操作的主要工作是:查文件目录核对文件是否已建立;若已建立,对顺序存取方式的文件,找出存放文件信息的位置且写入文件信息,同时保留一个"写指针"指出下一次写文件时的存放位置。对随机存取方式的文件,把索引表读入主存,在索引表中找一空登记项且找一个空闲的磁盘块,把记录存入磁盘块,同时把记录号和记录存放地址填入索引表。允许用户对一个文件分多次写。
5.“关闭文件”操作
用户对文件读写完毕后,需要调用文件系统的"关闭文件"操作,用户调用"关闭文件"操作时需给出参数是用户名、文件名、设备类型等。
"关闭文件"操作的主要工作是核实只有文件的建立者或打开者才有权关闭文件;检查读入主存的文件目录或索引表是否被修改过,若被修改过,则应把修改过的文件目录或索引表重新写回到存储介质上;在"已开文件?quot;中清除该文件。
一个被关闭后的文件不能再使用,若要使用则必须再次调用"打开文件"操作。
6.“删除文件”操作
用户认为自己的文件没有必要再保存时,可以调用文件系统的"删除文件"操作。时应给出参数是文件名和设备类型。
"删除文件"操作的主要工作是:把用户指定的文件在文件目录中除名;收回文件所占用的存储空间。
二十三.文件的保护和保密
一个文件系统必须具有良好的保护机构,才能保证文件的安全性,才能获得用户的信任。目前实现保护措施的办法有:制定用户的访问权限、口令。密码等。
1.制定访问权限
文件主建立文件时,可以规定本人和其它用户对该文件的访问权限。这些权限和限制条件登记在文件目录中。文件主可以使用系统提供的命令随时修改各类用户的访问权限。规定用户使用文件权限的办法很多,如存取控制矩阵与存取控制表两种。
2.设置口令
保密性要求较高的文件系统中.还为某些文件设置口令。文件主在创建文件时,要增设口令。口令也登记在文件目录中,共享文件的用户,只有掌握该文件的口令后才能进行访问。设置口令,管理简单,使用方便。但其主要缺点是口令存放在文件目录中,系统操作员可获得全部保密文件的口令。
3.密码
对于高度机密的文件,可采用加密码的措施。文件加密码是把文件中所有字符代码,按某种变换规则重新编码。文件的输入读出都经过编码程序和解码程序处理。变换规则中的关键字是可变的,是由文件主设置,不存放在系统中,并随时可修改。加密码方法最为可靠、严密。但因写入、读出都要经过编码和解码的处理,所以增加了系统的开销,并降低了访问的速度
二十四.文件的共享
文件共享是指一个文件可以让指定的某些用户共同使用。文件共享有许多好处,例如,免除系统复制文件的工作;节省文件占用的存储空间等。
在允许文件共享的系统中,必须对共享文件进行管理,共享文件的使用有两种情况:
1.不允许同时使用
任何时刻只允许一个用户使用共享文件,即不允许两个或两个以上的用户同时打开一个文件。一个用户打开共享文件后,待使用结束关闭文件后,才允许另一个用户打开该文件。
2.可以同时使用
允许多个用户同时使用同一个共享文件,但系统必须实现对共享文件的同步控制。一般说,允许多个用户同时打开共享文件执行读操作,而不允许读者与写者同时使用共享文件,也不允许多个写者同时对共享文件执行写操作,以确保文件信息的完整性。
二十五.文件的保护
文件的保护是防止文件被破坏,造成文件可能被破坏的原因,有时是硬件故障、软件失误引起的,有时是由于用户共享文件时发生错误引起的,文件系统应根据不同的情况采用不同的保护措施。
(一)防止系统故障造成的破坏
文件系统必须有防止硬、软件的各种意外可能破坏文件的能力。为此,文件系统经常采用建立副本和定时转储的方法来保护文件。
1.建立副本
2.定时转储
(二)防止用户共享文件可能造成的破坏
对共享文件要防止非法使用文件造成的破坏,这就涉及到用户对文件的使用权限。对文件的使用权限可以分成只准读、可读可写、只准执行和有权删除等。可以用下面的方法规定用户使用文件的权限:
1.采用树形目录结构
凡能得到某级目录的用户就可得到该级目录所属的全部目录和文件,按目录中规定的存取权限使用目录或文件。
2.存取控制表
列出每个用户对每个文件或子目录的存取权限,可以用一个二维矩阵表示如下:
矩阵中的每一个元素aij规定了第i个用户对第j个文件的存取权限。当某个用户对一个文件提出使用要求(读、写、执行或删除)时,系统按存取权限的规定与用户的使用要求比较,
当相符合时才允许使用这个文件。
存取控制表的最大问题是用户与文件较多时这个矩阵就很大,实现起来系统开销很大。
3.文件使用权限
在许多系统中把与每个文件连结的用户分成三类:文件主、伙伴和一般用户。
文件主是文件的建立者,伙伴是指可共享文件主建立的文件且具有相同存取方式的一组用户,一般用户是指除文件主及其伙伴外系统中的所有其他用户。
对每一类用户规定使用文件的权限,当用户提出使用某个文件的要求时,系统先检查该用户是文件主、还是文件主的伙伴或是一般用户,根据不同的用户核对不同类的使用权限,核对相符时才允许使用该文件。通常,文件主可对自己的文件执行一切操作。
对不同性质的文件,文件主可以规定不同的存取权限。
二十六.文件的保密
文件的保密是防止不经文件拥有者授权而窃取文件。规定文件的使用权限在一定程度上可起到文件保密的作用,但是,文件的使用权限可由用户设定或修改,因而单靠规定文件的使用权限不能达到文件保密的目的。常用的文件保密的措施有以下几种:
(一)隐蔽文件目录
(二)设置口令
(三)使用密码
重点难点:
1.文件系统的功能:
(1)统一管理文件的存储空间,实施存储空间的分配与回收。
(2)实现文件的按名存取。名字空间 映射 存储空间。
(3)实现文件信息的共享,并提供文件的保护和保密措施。
(4)向用户提供一个方便使用的接口(提供对文件系统操作命令,以及提供对文件的操作命令:信息存取、加工等)。
(5)系统维护及向用户提供有关信息
(6)文件系统的执行效率
文件系统在操作系统接口中占的比例最大,用户使用操作系统的感觉在很大程度上取决于对文件系统的使用效果.
(7)提供与I/O的统一接口
2.文件物理结构的比较:
顺序文件的优点是不需要额外的空间开销,只要在文件目录中指出文件的大小和首块的块号即可,对顺序的访问效率很高。适应于顺序存取。缺点是动态地增长和缩小系统开销很大;文件创建时要求用户提供文件的大小;存储空间浪费较大。
链接文件克服了连续文件的不足之处,但文件的随机访问系统开销较大。适应于顺序访问的文件。DOS系统中改造了串联文件的结构,使其克服了串联文件的不足,但增加了系统的危险性。
索引文件既适应于顺序存访问,也适应于随机访问,是一种比较 好的文件物理结构,但要有用于索引表的空间开销和文件索引的时间开销。UNIX系统是使用索引结构成功的例子。
在当前流行的一些UNIX操作系统的版本中,同时支持连续文件结构和索引文件结构。DOS、WINDOWS系统支撑类似于文件映照结构。
3.空闲文件目录方案:
若干个连续的空闲块所形成的存储区域称为"空闲文件"。系统为空闲文件单独建立一个目录。一个目录项对应一个空闲文件,其中包括:空闲文件首块地址、内含空闲块数目等,如下图所示。
序号 | 首空闲块号 | 空闲块数 | 各块块号 |
---|---|---|---|
1 | 2 | 4 | (2,3,4,5) |
2 | 9 | 3 | (9,10,11) |
3 | 15 | 5 | (15,16,17,18,19) |
- | - | - | - |
空闲文件目录
当系统为新文件分配空间时,依次扫描空闲文件目录的目录项,直至找到一个大小够用的空闲文件为止。当用户撤消一个文件时,系统回收文件空间。这时也要扫描目录,寻找一个空目录项,将释放出的空间作为一个新的空闲文件,将其有关信息填入其中。
这种结构适用于物理结构为连续方式的文件系统。
4.文件的使用:
文件系统把用户组织的逻辑文件按一定的方式转换成物理文件存放到存储介质上,当用户需要文件时,文件系统又从存储介质上读出文件并把它转换成逻辑结构。文件系统实现按名存取为用户提供方便,同时也要求用户遵照系统规定和提供的手段使用文件。
5.文件使用的权限:
解决文件的保护和保密的途径就是对每个用户规定出对文件的访问权限。当用户访问文件时,系统首先核查其访问的合法性。根据核查结果,决定允许还是拒绝用户的访问。
对文件可以进行的操作大体有以下几种,见下表。并不是对所有文件都能施加表中各种操作。例如,对源程序文件或数据文件就不能执行E操作。对系统文件不能进行W、A和D操作。相对于下表,用{R,W,E,A,D}表示全部操作的集合。于是,一用户对某一文件的存取权限可定义为它的一个子集。例如,子集{R,W,E}表示用户对某文件具有读、写和执行的权限。一个用户对一个文件拥有何种存取权限,可由系统规定,也可由文件主规定。一旦权限被规定,用户便只能进行权限内的操作;否则,就是非法操作。
代码 | 操作名称 | 操作内容 |
---|---|---|
R | Read | 读文件内容 |
W | Write | 写或重写一文件 |
E | Execute | 把文件转入内存并执行 |
A | Append | 向文件尾追加内容 |
D | Delete | 删除文件,释放其所占空间 |
表一 常用的文件操作
概念辨析:
1.文件系统:
是操作系统中统一管理信息资源的一种软件,管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用。
2.文件:
文件是一个抽象机制,它提供了一种把信息保存在存储介质上,便于以后存取的方法。
3.顺序存取:
是指对文件中的信息按顺序依次进行读写的存取方式。
4.随机存取:
是指对文件中的信息不一定要按顺序,而是可以按任意的次序随机地读写文件中的信息。
5.目录文件:
文件体是目录项的集合的文件,称为目录文件。这个定义的意思是说,一个文件目录也可作为一个文件,并且目录文件也可以有对应的目录项,可以对其进行文件操作。
6.文件控制块:
文件控制块(File Control Block)也称作目录项,,指用于描述与文件有关的说明和控制信息的数据结构。
7.逻辑结构:
逻辑结构:把用户概念中的文件称为逻辑结构,独立于物理环境而构造。
8.物理结构:
物理结构:文件在存储介质上的组织方式,依赖于物理的存储设备和存储空间的,是相关物理块的集合。
9.流式文件:
是指用户对文件内的信息不再划分可独立的单位,整个文件是由依次的一串信息组成。
10.记录式文件:
是指用户对文件内的信息按逻辑上独立的含义再划分信息单位,每个单位称为一个逻辑记录(简称记录)。
11.顺序文件:
将一个文件在逻辑上连续的信息存放到存储介质的依次相邻的块上,便形成顺序结构,把顺序结构的文件称为"顺序文件"。
本章小结:
文件系统为用户提供按名存取的功能,用户从使用角度组织文件,用户组织的逻辑文件有两种形式:流式和记录式。文件系统从存储介质的特性、用户的存取方式以及怎样有效地存储和检索的角度组织文件,由文件系统组织的物理文件类型可以有顺序文件、链接文件和索引文件等。不同的存储介质是用的文件组织方式有所不同。
文件系统通过查找文件目录得到用户指定的文件在存储介质上的位置,读出物理文件再转换成逻辑文件传送给用户。
为了正确地实现按名存取,用户与系统必须密切配合。对用户来说,应组织好逻辑文件,为文件定义文件名、存取方式、记录格式、记录长度以及存储设备类型等;调用规定的文件操作请求使用文件。对文件系统来说,要做好存储介质初始化的工作;确定物理文件的组织形式;进行文件存储空间的分配和回收;文件目录的查找和登录;解释执行文件操作。考虑到系统的效率与安全,文件系统还实现记录成组与分解功能,文件保护与保密功能心设计文件目录的结构以及磁盘空闲块的查找方法。
计算机系统处理的大量信息有的需要长期保存,有的只是临时使用。信息的存储和检索是一项相当复杂而繁琐的工作,为此,操作系统设计了对信息进行管理的功能,称为文件管理或文件系统。文件管理的主要工作是管理用户信息的存储、检索、更新、共享和保护。用户把信息组织成文件,由操作系统统一管理,用户可不必考虑文件存储在哪里、怎样组织输入输出等工作,操作系统为用户提供"按名存取"的功能。
同步练习:
1.文件系统是负责操纵和管理文件一整套设施、它实现文件的共享和保护、方便用户( )。
A.按索引存取
B.按名存取
C.按记录号存取
D.按记录名存取
参考答案:B
2.文件系统采用多级目录结构可以( )。
A.节省存储空间
B.解决命名冲突
C.缩短文件传送时间
D.减少系统开销
参考答案:B
3.操作系统实现文件管理后,允许用户对记录式文件进行存取的最小单位是( )。
A.文件
B.记录
C.数据项
D.字符串
参考答案:B
1.什么是文件?
文件是逻辑上具有完整意义的信息集合。
2.简述按名存取的含义。
用户不必考虑文件存储在哪里,怎样组织输入输出等工作,只要提供文件名,操作系统通过去查找目录,就能对文件进行存取。
3.按用途分类,主要有哪几种文件?
按用途分类,文件主要能分成系统文件、库文件和用户文件。
4.什么叫卷?什么叫块?
卷是存储介质的物理单位。如一盘磁带、一张软盘片、一个硬盘组都可称为一个卷。块是存储介质上连续信息所组成的一个区域,它是存储设备与主存储器之间进行信息交流的物理单位。
5.文件的存取方式有哪几种?怎样确定文件的存取方式?
存取方式可分两类:顺序存取和随机存取。顺序存取是指对文件中的信息按顺序进行读写;随机存取是指按任意次序读写文件中的信息。采取哪一种存取方式与用户的使用要求和存储介质的特性有关。如源程序总是按顺序布取,数据库文件常用随机存取;磁带上的文件适合于顺序存取;磁盘中的文件既可顺序存取,也可以随机存取。
6. 简述文件系统的结构。
文件系统主要由以下五部分组成:(1)目录管理。利用目录结构检索文件,并能保证文件的安全。(2)文件的组织。文件组织分两类:逻祖结构和物理结构,前者是从用户使用的角度织织文件,后者是存储介质上的文件构造方式。当用户请求读写文件时,文件系统必须实现文件逻辑结构与物理结构之间的转换。(3)文件存储空间的管理。主要是对磁盘空闲区的管理,执行分配和回收工作。(4)文件操作,为用户提供文件操作功能。主要有建立文件、打开文件、读文件、写文件、关闭文件和删除文件等。(5)文件共享、保护和保密。对共亭文件进行同步控制,防止文件被破坏,被剽窃。
7.文件目录中一般包含什么内容?
文件目录由若干目录项组成,每个目录项一般应包含以下内容1)有文件存取控制的信息,如用户名、文件名、文件类型和文件属性。(2)有关文件结构的信息,如文件的逻辑结构、物理结构、记录个数、文件在存储介质的份量等。(3)有关文件管理的信息,如建立日期、文件被修改的日期、文件保留期限和记账信息等。
8.在二级目录结构中,如何实现文件共享?
如果多个用户要共享某个文件,只要让各个用户文件目录中的某个目录项指向同一个文件存放地址。对共享文件,各个用户可以定义相同的文件名,或不同的文件名。
9何谓绝对路径名和相对路径名?相对路径名有何优点?
绝对路径名是指从根目录开始跟随着的一条指向文件的路径;相对路径名是指从当前目录出发到指定文件的路径。文件系统用绝对路径名和相对路径名都能找到指定的某个文件,但使用相对路径可以减少查找文件所花费的时间。
10.树形目录有何优点?
树形目录结构的优点有:解决了重名问题,有利于文件的分类;提高检索文件的速度;能进行存取权限的控制。
11.文件的逻辑结构有哪几种形式?
文件的逻辑结构有两种形式,流式文件和记录式文件。流式文件是指用户对文件内的信息不再划分可独立的单位,整个文件由依次的一串信息组成;记录式文件是由若干个逻辑记录组成。用户对文件内的信息按逻辑上独立的含义再划分的信息单位称为逻辑记录。
12.记录式文件在磁盘上有哪几种组织形式?
记录式文件在磁盘上常用的组织形式有:顺序结构、链接结构和索引结构。
13.什么是记录的成组和分解?采用这种技术是否有额外的开销?
把若干个逻辑记录合并成一组存入一块的工作称记录的成组。从一组逻辑记录中把一个逻辑记录分离出来的操作称为记录的分解。采用这种技术有额外的开销,即要设立主缓冲区,操作系统还要增加成组分解的操作功能。
14.文件系统提供哪几种操作功能?用户怎样才能调用这些功能?
文件系统主要提供以下六种操作功能;建立文件、打开文件、读文件、写文件、关闭文件和删除文件。用户可以用访管指令使用这些功能。
15.打开文件、建立文件和关闭文件各起什么作用?
打开文件和建立文件实际上起着用户申请对文件使用权的作用。经文件系统验证符合使用权时才允许用户使用文件,并适当地为用户做好使用文件前的准备。关闭文件操作的作用是让用户向系统归还文件的使用权。
16.用户在显式和隐式使用文件时有何不同?
用户在显式使用文件时.必须道循以下规定:读文件时要依次调用打开文件、读文件和关闭文件操作;写文件时要依次调用建立文件、写文件和关闭文件操作。而在隐式调用时,允许用户可直接调用读文件或写文件.不必调用打开文件、建立文件和关闭文件操作,这些操作由文件系统自动完成。
17. 当多个用户同时使用共享文件时,如何进行同步控制?
当多个用户同时使用某个共享文件时,常用三种规则实现共享文件的同步控制:(1)允许多个用户同时打开共享文件,执行读操作;(2)不允许读者和写者同时使用共享文件;(3)不允许多个写者同时对共享文件执行写操作。
18.区分文件保护和保密的异同。
文件保护是防止文件被破坏,文件的保密是防止不经拥有者授权而窃取文件。文件保护根据引起文件被破坏的原因----系统故障或非法使用共享文件----而采用不同的措施。前者采用建立副本和定时转储等方法;后者则采用树形目录结构、存取控制表和文件使用权限。文件保密措施主要有隐蔽文件目录、设置口令和使用密码.