文件管理 练习题答案
一、单项选择题
1.C 2.B 3.B 4.D 5.A 6.B 7.C 8.D 9.C 10.A 11.A 12.C 13.D 14.B 15.D 二、多项选择题 1.A,B,C 2.A,C,E
3.A,B,C,E 4.B,C,E 5.C,D 三、判断题 1.[分析]若文件系统采用一级目录结构的话,则要求在文件目录中登记的文件名都不相同,如果有重名的话,则在实现按名存取时就可能出错。但是,若文件系统采用多级目录结构,则可以允许用户对不同的文件在不同的子目录中定义相同的文件名。这是因为系统总是按指定的路径去查找文件,虽然这些文件都被定义了相同的文件名,但它们的路径名却是不同的,所以不会影响按名存取的正确性。故本题的叙述是错误的。 [题解]否。 2.[分析]物理文件的组织形式是由文件系统按照对文件方便管理、快速检索和提高系统效率的原则并根据存储介质的性质、用户对文件的存取方法来决定的。它与逻辑文件的组织形式无关,因而本题的叙述是错误的。 [题解]否。 3.[题解]是。 4.[题解]是。
5.[分析]本题的叙述是错误的。从当前目录开始设置的路径是相对路径,相对路径不能以“\”开始。从根目录开始设置的路径才是绝对路径,绝对路径应该以“\”开始。 [题解]否。 6.[题解]是。 四、填空题 1.卷 2.块 3.块
4.柱面号,磁头号,扇区号 5.逻辑,物理 6.流式,记录式 7.主键
8.顺序文件,链接文件,索引文件 9.索引
10.链接结构,索引结构
11.标识(或关键字,或记录号),存放位置 12.记录的成组 13.存储介质上分块
14.空闲块成组链接 15.命名冲突 16.根
17.文件操作
18.打开文件,读文件 五、问答题
1.[题解]按名存取是指用户使用文件时只要给出文件的名字和一些必要的说明,文件系统就能按用户的要求把逻辑文件转换成物理文件存放到存储介质上,或把存储介质上的物理文件转换成逻辑文件供用户使用。
2.[题解]要把文件存放到存储介质上或要从存储介质上读出文件,都必须记住存储空间的使用情况、文件存放的物理位置,以及启动相应的存储设备来保存和读出文件。如果文件系统实现了按名存取功能,那么,这些工作都不需要用户自己去做,这不仅方便了用户,而且能保证文件的安全可靠。
3.[题解]对文件可有多种分类方法,例如:按组织方式可分成逻辑文件、物理文件;按设备类型可分成磁盘文件、磁带文件等;按保护级别可分成只读文件、读写文件、执行文件等。 4.[题解]把可用来记录文件信息的磁带、硬盘、软盘、光盘、卡片等媒体称为存储介质。卷是存储介质的物理单位。存储介质上连续信息所组成的一个区域称为块。文件是逻辑上具有完整意义的信息集合。若把文件中的信息按逻辑上独立的含义划分信息单位,则每个这样的信息单位就是一个记录。
一卷存储介质可以被分成若干个块,能用来存放一个或多个文件;一个文件可以由多个记录组成,这样的文件被称为记录式文件;一个记录可占用存储介质上的一块,或一块中可以存放多个记录。
5.[题解]逻辑记录是文件信息的存取单位。在记录式文件中,用户把文件信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录。对记录式文件来说,文件系统为用户存取信息的最小单位是逻辑记录。
物理记录是主存储器与存储设备之间进行信息交换的物理单位。对每一卷存储介质的存储空间可以划分成若干个信息存储区域,其中每个连续的区域称为一个块,或称为一个物理记录。每次启动存储设备时,可以对一个或几个物理记录(块)中的信息进行存取。
6.[题解]对记录式文件中的每个逻辑记录至少要有一项特殊的信息,利用它可把同一文件中的各个逻辑记录区分开来,把这样的特殊信息项称为记录的“主键”。用户若要存取一个指定的记录,则文件系统只要按主键去搜索就可以找到该记录。
把记录式文件中能用来标识具有某一特性的所有记录的项称为记录的“次键”。利用次键可以把文件中的记录按需要分类。 7.[分析]文件ABC中的每个逻辑记录长度为250个字符,而磁盘存储空间的块长为512个字符,故每个磁盘块中可容纳2个逻辑记录。现该文件共有4个逻辑记录,因而采用记录成组的方式把文件存放到磁盘应至少占用二块磁盘空间。 由于记录的成组与分解操作必须使用主存缓冲区,而主存储器与存储设备的信息交换以块为单位,所以,为了能与长度为512个字符的磁盘块进行信息交换,应开辟一个长度也为512个字符的缓冲区。
采用索引结构的文件必须要有一张索引表,索引表中的表项至少要指出文件中每个逻辑记录的存放地址。为了方便检索,可以增加一些必要的说明信息。本题是对文件采用记录成组的方式以索引结构的形式组织在磁盘上的,每2个逻辑记录在一个磁盘块中,因而这2个逻辑记录对应的
存放地址都是指向相同的磁盘块号。所以,当用户要求随机读该文件的某个逻辑记录时,系
统将把含有指定记录的一个磁盘块内容读到主存缓冲区,再从中找出用户需要的记录。怎样知道已读人主存缓冲区的两个记录中哪一个是用户需要的呢?为了能快速地进行记录的分解,可在索引表的表项中说明逻辑记录在磁盘块中的相对位置。例如,可以设计索引表如下:
其中,B1、B2 是两个用来存放记录信息的磁盘块块号,B1中存放了第1、2两个记录,B2中存放了第3、4两个记录。 于是,当用户以随机存取方法请求读一个记录时,文件系统按记录号查索引表得到该记录的存放地址,再启动磁盘把该块中信息读人主存缓冲区。假定主存缓冲区的起始地址为L,则根据记录在块中的相对位置可计算出该记录在主存缓冲区中的地址,计算公式如下: 记录所在始址=L+(相对位置-1)*记录长度
只要按记录长度把从“记录所在始址”开始的一批信息传送给用户,用户就得到了自己当前需要的记录信息。
[题解](1)应开辟一个与磁盘块长度一致的主存缓冲区,即主存缓冲区长度应为512个字节。
(2)该文件至少占用二块磁盘空间。 (3)可设计如下的索引表
只要根据记录号查索引表,从存放地址和块内相对位置便可计算出记录的实际位置。 [讨论]索引表的形式不是惟一的,读者可以设计其它形式的便于检索的索引表。
8.[分析]根据题意,每个柱面有8个磁道,这意味着该盘组是由四张盘片(每张盘片有正、反两面)共八个盘面组成。每个盘面被划分成 8个扇区,因而一个柱面上有 8*8=64个物理记录(块)。 现共有 100个柱面,故该盘组共被划分成 64*100=6400个物理记录。 若采用字长为32位的字来组成位示图,则每个字可与32个块对应。现共有6400块,显然应该用200个字来组成位示图。
一般说来,位示图中的字、位均从“0”开始编号,磁盘存储块也从“0”开始编号,因而,字、位号与块号的对应关系应该为: 块号=字号*字长+位号
故位示图中第 50个字的第 16位对应的磁盘块号为:50*32+16=1616。
通常,每个存储块在盘组上的位置要有柱面号、磁头号、扇区号三个参数来决定(每个参数都从“0”开始编号),现一个柱面上有64块,故第1616块所在的柱面号为: 柱面号=[1616/64]=25
又由于每个柱面上有8个磁道,且每个盘面被划分成8个扇区,所以,该块对应的磁头号和扇区号应该为: 磁头号=[(1616 mod 64)/8]=[16/8]=2
扇区号=(1616 mod 64)mod 8=16 mod 8=0 [题解](1)该盘组共有物理记录 8*8*100=6400(个)。
(2)若采用字长为32位的字来组成位示图,则共需6400/32=200个字。
(3)位示图中第 50个字的第 16位对应的存储块号为:50*32+16=1616,故它在盘组上的位置为:
柱面号=[块号/柱面上块数]=[1616/64]=25
磁头号=[(块号 mod 柱面上块数)/盘面上扇区数] =[(1616 mod 64)/8]=[16/8]=2
扇区号=(块号 mod 柱面上块数)mod 盘面上扇区数 =(1616 mod 64)mod 8=16 mod 8=0 9.[题解]采用树形目录结构有如下优点:(1)解决了重名问题,允许不同的用户用相同的名字去命名文件;(2)有利于文件的分类,可以把不同类型的文件登录在不同的子目录下,便于查找和管理;(3)能提高搜索文件的速度,可以从当前目录开始设置路径(称相对路径),从而缩短搜索路径,提高搜索速度;(4)可防止用户共享文件时破坏文件,对各级目录或文件规定存取权限,凡能得到某级目录权限的用户就可得到该级目录以及所属的子目录和文件,按规定的存取权限去使用目录和文件,达到保护文件的目的。
10.[题解]文件的保护是指防止文件被破坏;文件的保密是指防止他人窃取文件。 11.[题解]为防止系统故障造成的文件被破坏,文件系统可采用如下方法:(1)建立副本,把同一文件存储到多个存储介质上,当某个存储介质上的文件被破坏时,可用其它存储介质上的备用副本来替换;(2)定时转储,在文件执行过程中定时地把文件转储到其它存储介质上,一旦文件发生故障时就可用转储的文件来复原,把有故障的文件恢复到某一时刻的状态,仅丢失了自上次转储以来新修改或增加的信息。
12.[题解]为防止用户使用共享文件时可能造成的文件被破坏,文件系统可采用如下办法保护文件:(1)根据文件性质规定使用权限,例如:只可读、可读可写、只许执行、不能删除等,仅当用户对文件的使用要求符合文件规定的使用权限时才允许对文件进行存取八2)采用树形目录结构限制共享范围,能得到某级目录权限的用户才可使用该级目录所属的各级子目录和文件,使用时必须按规定的权限进行存取;(3)对用户进行分类,例如,UNIX把用户分成三类:文件主、同组用户、其它用户,规定不同类的用户对文件有不同的使用权限。 13.[题解]文件系统实现按名存取为用户提供方便,因而,文件系统要把用户组织的逻辑文件按一定的方式转换成物理文件存放到存储介质上,当用户需要使用时,文件系统又要从存储介质上读出文件并把它转换成逻辑结构。为了正确地实现文件的存取,文件系统设计了一组文件操作供用户调用。
当用户要求把,个新文件存放到存储介质上时,文件系统先要寻找空目录项登记用户名、文件名、存取方法以及有关该文件的管理和控制信息;然后再把文件信息按一定的方式转换成存储结构存放到存储介质上;文件信息全部被转储后文件系统还必须做相应的结束处理工作。这些工作都
必须由对应的文件操作(建立、写、关闭)顺序完成,因而,用户应按规定的次序调用:“建立文件”操作、“写文件”操作、“关闭文件”操作。 同样地,当用户要求从存储介质上读出一个文件时,文件系统首先要查找文件是否存在且核对用户是否有权使用;然后才能把用户需要的文件信息读出;用户不再使用文件时也必须做最后的结束处理。因而,用户也应按规定的次序调用:“打开文件”操作、“读文件”操作、“关闭文件”操作,以保证文件系统能顺序完成以上的工作。
相关推荐: