(1) 什么是文件,它包含哪些内容及特点?
解:
文件是计算机系统中信息存放的一种组织形式,是在逻辑上具有完整意义的信息集合,并且有一个名字以供标识。
文件包含的内容有:源程序、二进制代码、文本文件、数据、表格、声音和图像等。
文件的特点如下:
(2) 文件系统要解决哪些问题?
解:
文件系统的主要目标是提高存储空间的利用率,它要解决的主要问题有:完成文件存储空间的管理,实现文件名到物理地址的转换,实现文件和目录的操作,提供文件共享能力和安全措施,提供友好的用户接口。文件系统向用户提供了有关文件和目录操作的各种功能接口和系统调用,如命令接口、程序接口和交互接口等。
(3) 什么是逻辑文件?什么是物理文件?
解:
逻辑文件时从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构。
物理文件是指文件在外存上的存储组织形式。它与存储介质的存储性能有关。
(4) 文件的物理组织方式有哪些,各有什么优缺点?
解:
文件的物理组织方式有连续文件结构、链接文件结构和随机文件结构。
????连续文件的优点是不需要额外的空间开销,只要在目录中指出起始块号和文件长度,就可以对文件进行访问,且一次可以读出整个文件。对于固定不变且要长期使用的文件(比如系统文件),这是一种较为节省的方法。其缺点是:
????链接文件可以克服连续文件的上述缺点,然而它也存在如下缺点:
????相比之下,随机文件是一种比较好的结构,便于直接存取。但问题是,对于索引文件应考虑如何有效地存储和访问索引表,对于散列文件应寻找一个较好的散列算法和确定解决冲突的办法。
(5) 什么是文件目录,常用的文件目录结构有哪些,各有什么特点?
解:
????文件目录是文件控制块的有序集合,是文件系统中最基本的数据结构。通过它可以将文件名转换为文件在外存的物理位置。每一个文件控制块在文件目录中都有一个目录项,其中登记着文件的名字、外存地址、文件长度、逻辑结构、物理结构、访问权限、文件建立和修改时间等。
文件目录通常是放在磁盘上的。它的组织形式有3种:单级目录、二级目录和多级目录。其中用得最普遍的是多级目录。
(6) 使用文件系统时,为什么要显式地使用open和close命令来打开和关闭文件?
解:
显式的open操作完成文件的打开功能。它将基本文件目录中的内容读入用户活动文件表中,并在系统活动文件表中记录文件的打开次数。显式的close操作完成文件的关闭操作。它撤销用户的活动文件表中相应的表项,改变系统活动文件表中的文件打开次数信息。如果需要,还要将被改动过的文件目录信息写回基本文件目录中。
可以取消显式的open与close操作。如果取消了open和close操作,系统在进行文件操作前需判断文件是否已打开。若未打开,则应自动完成文件的打开功能,以建立用户与文件间的联系。同时,在系统结束时还应自动关闭所有的被打开文件,更新系统的基本文件目录。
取消显式的open和close操作使得文件的读写操作变得复杂,因为,在每次读写前都需要判断文件是否已被打开。此外,系统在结束时也要做一些额外的工作,以完成close应该完成的操作。
(7) 文件系统提供系统调用rename来实现文件重命名,同样也可以通过把文件拷贝到新文件并删除原文件来实现文件的重命名,这两种方法有什么不同?
解:
使用rename文件重命名功能时,用户必须提供两个参数:旧文件名和新文件名。实现该功能时,系统使用旧文件名查找文件目录,若找到旧文件名所对应的目录表项,则将目录表项中文件名字段对应的值改为新文件名值。从实现过程看,文件重命名功能完成的工作是修改目录表项中的文件名字段,除文件名外,文件的其它特性都未改变。
在后一种实现方法中,先进行文件复制并给复制文件起一个新名,此时系统完成了一次物理文件的复制工作,然后删除旧文件。虽然这样也能达到给文件重命名的目的,但其实现过程比前一种方式复杂,并且新文件与旧文件的物理存放地址肯定不同。
(8) Hash检索法有何优点?有何局限性?
解:
Hash方法是根据记录的“主属性值”进行Hash运算,用得出的值确定该记录的存放位置。其优点是:
由于设计的Hash函数很难达到理想的均匀分布,因此可能会出现较多有相同Hash的记录值,这将造成存放位置的冲突,使检索速度下降。
(9) 采用单级目录能否满足对目录管理的主要要求?为什么?
解:
单级目录是最简单的目录结构。在整个文件系统中只建立一张目录表,每个文件占一个目录项,目录项中包含文件名、文件扩展名、文件类型、文件长度、文件物理地址以及其它文件属性。
????单级目录的优点是简单、易于实现,实现了目录管理的基本功能——按名存取,但却存在以下一些缺点:
所以,单级目录不能满足对目录管理的主要要求。
(10) 什么是文件的共享,实现文件共享的方式有哪些?
解:
文件共享是指不同的用户可以使用同一文件。文件的共享可以节省大量的辅存空间和内存空间,减少输入/输出操作,为用户间的合作提供便利条件。
从系统管理的角度来看,有3种方法可以实现文件的共享,即:绕道法、?链接法和基本文件目录表?BFD。
(11) 文件目录和目录文件各起什么作用?
????解:
????文件目录又称文件控制块或文件说明信息,它记录文件的名字、文件长度、文件存放在外存上的物理地址,以及文件建立时间、日期等信息。通常,文件系统中把若干相互关联文件的目录组成一个独立的文件,这个由文件目录组成的文件称为目录文件。
(12) 某操作系统的磁盘文件空间共有500块,若用字长为32位的位示图管理磁盘空间,试问:①位示图占用多少磁盘空间?②第i字第j位对应的磁盘块号是多少?
解:
① 占用16个字的存储空间。
② ?32′i+j。
(13) 试说明对索引文件和索引顺序文件的检索方法。
解:
索引文件中,每一个主文件的记录都要建立一条索引。这里,主文件的记录可以是变长的,键值可以是无序的。索引表是定长的和有序的,适合采用折半检索法进行检索。
索引顺序文件中,主文件中的记录分成若干组,每一组的第一条记录建立一条索引项。整个索引文件是按键值排序的,系统可采用折半检索法对文件进行快速检索。检索到记录所在的外存块后,读出该块,再进行顺序查找和比较,最后找到所需要的记录。
(14) 目前广泛采用的目录结构形式是哪一种?它有什么优点?
解:
目前广泛采用的目录结构形式是多级目录结构,也称树型目录结构。它可以实现文件管理的主要要求,其优点是:
(15) 基本的文件访问类型有哪些?什么是访问控制表?
????解:
????一个文件系统可以定义多种不同的访问类型,基本的访问类型有:
不同的用户可能对同一个文件或目录需要不同类型的访问。实现基于身份访问的最普通的方法是为每个文件和目录增加一个访问控制表(access control list,ACL),以给定每个用户名及其所允许的访问类型。当用户请求访问一个特定文件时,操作系统先检查该文件的访问控制表,如果用户具有相应的访问权限,就允许其访问,否则,就出现保护违约,拒绝用户访问。
(16) 什么是索引文件?为什么要引入多级索引?
解:
索引文件中每条主文件的记录都建立一个索引记录,因而需要为主文件建立索引表。在对索引文件进行检索时,首先根据用户(程序)提供的关键字,并利用折半查找法去检索索引表,从中找到对应的表项,再利用该表项中给出的指向记录的指针值,去访问所需的记录。
在很多情况下,有的文件很大,文件索引表也就较大。如果索引表的大小超过一个物理块,那么我们就必须像处理其它文件的存放那样决定索引表的物理存放方式,但这不利于索引表的动态增加;索引表也可以按链接联方式存放,但这却增加了存放索引表的时间开销。显然,当文件太大,其索引块太多时,这种方法是低效的。一种较好的解决办法是采用多级索引,也就是在索引表所指的物理块中存放的不是文件信息,而是装有这些信息的物理块地址。
(17)VFS主要由哪几种类型的对象组成,描述它们之间的关系。
解:
VFS主要有四个对象:
(1)超级块对象:存储对具体某个文件系统的描述信息。
(2)inode对象:存储对具体某个文件的描述信息。
(3)目录项对象:存储对具体某个目录的描述信息。
(4)文件对象:存储具体某个已打开的文件的描述信息,文件对象表即“打开文件表”。
inode对象对应于一个文件,该文件一般在磁盘上,inode对象与文件之间是一一对应关系。而一个真正的文件可能有多个文件名,因此目录项对象与inode之间是多对一关系。不同的进程可能打开同一个文件,但不能用一个文件对象来描述,因此file对象与目录项对象之间是多对一的关系。