一、文件和文件系统
文件是信息的一种组织形式,是存储在辅助存储器上的具有标识名的一组集合。操作系统中由文件系统来管理文件的存储,检索,更新,共享和保护。
文件系统的主要目标是提高存储器的利用率,接受用户的委托实施对文件的操作。其主要问题是管理辅助存储器,实现文件从名字空间到辅存地址空间的转换,决定文件信息的存放位置、存放形式和存放权限,实现文件和目录的操作,提供文件共享能力和安全设施,提供友好的用户接口。文件系统包括两方面:一方面是负责管理文件的一组系统软件;另一方面是文件本身。
二、文件类型
按文件的用途可以分为系统文件、库文件和用户文件。
按文件的安全属性可以分为只读文件、读写文件、可执行文件和不保护文件。
按文件的信息流向可以分为输入文件、输出文件和输入/输出文件。
按文件的组织形式可以分为普通文件,目录文件和特殊文件。
三、文件的结构
文件的结构是指文件的组织形式。文件的结构分为逻辑结构和物理结构。
逻辑结构:从用户观点所看到的文件组织形式。分为两种:无结构的字符流文件和有结构的记录文件。记录文件由记录组成,即文件内的信息划分成多个记录,以记录为单位组织和使用信息。记录文件有顺序文件、引顺序文件、索引文件和直接文件。
物理结构:文件在存储设备上的存放方法。物理块是分配和传输信息的基本单位。常见的文件分配策略有:顺序分配(也称连续分配)、链接分配、索引分配。
四、文件存储设备管理
文件存储设备管理实质是对空闲块的组织和管理问题,它包括空闲块的组织、分配和回收等。有三类常用的空闲块管理方法:
(1)位图向量法:用一个向量来描述整个磁盘,每个字的每一位都对应一个物理块,这种方式非常易于寻找空闲块,占用的空间小,可以放入内存,适用各种文件分配法。
(2)空闲块链表链接法:使用链表将空闲块组织起来。
(3)索引法:将文件存取器上每一个连续空闲区建立一个索引,这种方式仅适用于建立连续文件。
系统在管理文件时所必需的信息的数据结构,是文件存在的唯一标识,简称FCB。文件目录就是文件FCB的有序集合。FCB内容包括基本信息(如文件名、文件类型、文件组织等)、保护信息(如口令、所有者、保存期限、访问权限等)、位置信息(如存储位置、文件长度)和使用信息(时间信息、最近使用者等)。
五、文件目录和工作目录
文件目录:文件控制块的集合,通常文件目录也被组织成文件,称为目录文件。文件系统一般采用一级目录结构、二级目录结构和多级目录结构。DOS、UNIX、Windows都是采用多级目录结构。
工作目录:也称当前目录。在多级目录结构的文件系统中,文件的全路径名可能较长,也会涉及多次磁盘访问,为了提高效率,操作系统提供设置工作目录的机制,每个用户都有自己的工作目录,任一目录节点都可以被设置为工作目录。一旦某个目录节点被设置成工作目录,相应的目录文件有关内容就会被调入主存,这样,对以工作目录为根的子树内任一文件的查找时间会缩短,从工作目录出发的文件路径名称为文件的相对路径名。文件系统允许用户随时改变自己的工作目录。
六、文件的使用
一般文件系统提供一组专门用于文件、目录的管理。如目录管理、文件控制和文件存取等命令。
(1)目录管理命令:如建立目录、显示工作目录、改变目录、删除目录(一般只可删除空目录)。
(2)文件控制命令:如建立文件、删险文件、打开文件、关闭文件、改文件名、改变文件属性。
(3)文件存取命令:如读写文件、显示文件内容、复制文件等。
七、文件的安全
文件安全常常在系统级、用户级、目录级和文件级上实施。
(1)系统级:用户需注册登记、并配有口令,每次使用系统时,都需要进行登录(login),然后输入用户口令(password),方能进入系统。
(2)用户级:系统对用户分类并限定各类用户对目录和文件的访问权限。
(3)目录级:系统对目录的操作权限作限定,如读(R)、写(W)、查找(S)等。
(4)文件级:系统设置文件属性来控制用户对文件的访问,如只读(RO)、执行( X)、读写(RW)、共享(Sha)、隐式(H)等。
对目录和文件的访问权限可以由建立者设置。除了限定访问权限,还可以通过加密等方式进行保护。
【试题 3-27】2011年 11月真题 24、25
若某文件系统的目录结构如下图所示,假设用户要访问文件f1.java,且当前工作目录为Program,则该文件的全文件名为(24),其相对路径为(25)。
(24)A. f1.java
B. \Document\Java-prog\f1.java
C. D:\Program\Java-prog\f1.java
D. \Program\Java-prog\f1.java
(25)A. Java-prog\
B. \Java-prog\
C. Program\Java-prog
D. \Program\Java-prog\
分析:全文件名即是绝对路径。在树型目录结构中,绝对路径应从树根开始,把全部目录文件名与数据文件名依次用“\”连接起来。而相对路径,则是从当前目录开始,再逐级通过中间的目录文件,最后到达所要访问的数据文件。注意,连接符“\”只用在文件名之间。【答案:(24)C (25)A】
【试题 3-28】2011年 5月真题 23、24
某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若系统的字长为32位,磁盘上的物理块依次编号为:0、1、2、…,那么4096号物理块的使用情况在位示图中的第(23)个字中描述;若磁盘的容量为200GB,物理块的大小为1MB,那么位示图的大小为( 24)个字。
(23)A.129 B.257 C.513 D.1025
(24)A.600 B.1200 C.3200 D.6400
分析:系统的字长为32位,在位示图中的第一个字对应文件存储器上的0、1、2、3、…31号物理块,以此类推。4096/32=128,4096号物理块是第129个字对应的第一个物理块。磁盘的容量为200GB,物理块的大小为1MB,则磁盘共200×1024个物理块,一个字对应32个物理块,位示图的大小为200×1024/32 =6400个字。【答案:(23)A (24)D】
【试题 3-29】2010年 11月真题 27、28
某文件系统采用多级索引结构,若磁盘块的大小为512字节,每个块号需占3字节,那么根索引采用一级索引时的文件最大长度为(27) K字节;采用二级索引时的文件最大长度为(28) K字节。
(27)A.85 B.170 C.512 D.1024
(28)A.512 B.1024 C.14450 D.28900
分析:多级索引结构采用了间接索引方式,第一级索引表的表目指出下一级索引表的位置(物理块号),下一级索引表的表目指出再下一级索引表的位置,这样间接几级,最末一级索引表的表目则指向相应记录所在的物理块号。【答案:(27)A;(28)C】
【试题 3-30】2009年 5月真题 28
某文件系统采用链式存储管理方案,磁盘块的大小为1024字节。文件Myfile.doc由5个逻辑记录组成,每个逻辑记录的大小与磁盘块的大小相等,并依次存放在121、75、86、65和114号磁盘块上。若需要存取文件的第5120逻辑字节处的信息,应该访问( 28)号磁盘块。
(28)A.75 B.85 C.65 D.114
分 析:每个逻辑记录的大小与磁盘块的大小相等(1024字节),而需要存取文件的第5120逻辑字节处的信息,由计算得5120=1024×5,即该处信息在第5个逻辑记录上,对应的是114号磁盘块。【答案:D】
【试题 3-31】2008年 12月真题 25
某文件管理系统为了记录磁盘的使用情况,在磁盘上建立了位示图(bitmap) 。若系统中字长为16位,磁盘上的物理块依次编号为:0、1、2、…,那么8192号物理块的使用情况在位示图中的第( 25)个字中描述。
(25)A.256 B.257 C.512 D.513
分 析:位示图是利用二进制的一位来表示文件存储空间中的一个物理块的使用情况,当其值为“0”时,表示对应物理块为空闲;为“1”时表示已分配。8192/16=512.0625,物理块从0开始编号,所以 8192号物理块应放在位示图中的第513个字中。【答案:D】
【试题 3-32】2008年 5月真题 25、26
在下图所示的树型文件系统中,方框表示目录,圆圈表示文件,“/”表示路径中的分隔符,“/”在路径之首时表示根目录。图中,(25)。假设当前目录是A2,若进程A以如下两种方式打开文件f2 :
方式① fd1=open(″(26)/f2″,o_RDONLY);
方式② fd1=open(″/A2/C3/f2″,o_RDONLY);
那么,采用方式①的工作效率比方式②的工作效率高。
(25)A.根目录中文件f1与子目录C1、C2和C3中文件f1一定相同
B.子目录C1中文件f2与子目录C3中文件f2一定相同
C.子目录C1中文件f2与子目录C3中文件f2一定不同
D.子目录C1中文件f2与子目录C3中文件f2是可能相同也可能不相同
(26)A./A2/C3 B.A2/C3 C.C3 D.f2
分 析:本题考查树型文件目录结构的相关知识。【答案:D、C】
树型文件目录结构也就是多级目录结构:这种结构像一个倒置的有限树,从树根向下,每一个节点是一个目录,叶节点是文件。采用这种目录结构的文件系统,用户要访问一个文件,必须指出文件所在的路径名,路径名是从根目录开始到该文件的通路上所有各级目录名拼接起来得到的。所以这种目录结构的文件系统容许不同用户的文件具有相同的文件名,所以第25题答案为D。
对于第26题,确定了当前目录是A2,要打开文件f2,由图中树型目录显然应该填写C3。