计算机内文件以何种目录结构存储,“操作系统概论”习题解答之文件管理

e914a8a0a3b42bec8a0340ad1aef56ba.png

第4章 习题解答

1.什么叫文件?

答:所谓文件是指逻辑上具有完整意义的信息集合。在计算机系统中,很多东西都是以文件的形式存放在辅存中供用户使用,其中包括作业的源程序、目标程序、数据以及各类软件程序等等。

2.文件系统应具有哪些功能?

答:为了正确地按名存取,文件系统具有如下功能:

①实现从逻辑文件到物理文件间的转换。

②有效地分配文件的存储空间。

③建立文件目录。

④提供合适的存取方法以适应各种不同的应用。

⑤实现文件的共享、保护和保密。

⑤提供一组文件操作。

3.什么是文件的逻辑结构和存储结构?

答:用户是从使用的角度来组织文件,用户把能观察到的且可以处理的信息根据使用要求构造成文件,这种构造方式称为文件的逻辑结构。文件系统是从文件的存储和检索的角度来组织文件,在存储媒介上的文件构造方式称为文件的存储结构。

4.解释顺序文件、链接文件和索引文件。

答:(1)顺序结构

将一个文件逻辑上连续信息存放在存储介质(磁盘)中相邻的块上,这种存储结构保证了逻辑记录顺序和物理块顺序相一致。磁带上的文件只能是顺序结构的,因为磁带机本身就是个顺序存取的设备。

(2)链接结构(串联结构)

文件所占用的存储介质物理块不再要求连续(相邻)的,可以分散在存储媒介上。在结构上,采用链表的结构方式,将每一块的最后一个单元用来存放下一个物理块的地址,形成指针链。最后一块的最后一个单元为0表示结束。

(3)以索引结构

和链接结构一样,也是一个非连续存储的结构,但它不采用链接方式,而是为每一个文件建立一张索引表,索引表中存放文件中每一个记录存放的物理地址。

5.解释记录的成组和分解

答:当文件的一个逻辑记录的长度小于一个物理块的长度的时候,我们可以把若干个逻辑记录合并成一组存到一个物理块中,这个工作称为成组。访问某个记录的时候,需要把这个记录从它所在的块中的一组记录中分离出来,这一工作称为分解。记录的成组和分解可以提高存储空间的利用率,并且可以减少存储设备的启动次数。

6.假定某个文件由长度为80个字符的100个逻辑记录组成,磁盘存储空间被划分成长度为2048个字符的块,为有效地使用磁盘空间,你可采用成组方式把文件存放到磁盘上,回答下列问题:

①该文件至少占用多少磁盘存储块?

②若该文件是以链接结构形式在磁盘上的,现用户要求使用第28个逻辑记录,写出系统为满足用户要求而应做的主要工作。

答:①每块能存放的记录个数为「2048/80」=25个。一共需要 100/25=4块。

②首先系统计算出第28个记录在第2个物理块上,然后系统通过文件目录读出第一块物理块,在该块最后单元找到第二物理块的地址,读出第二物理块,再经过肇按第28个记录在第二块中的位置读出该记录。

7.举一例说明数据的分解操作过程。

答:就以上题为例,假定某个文件由长度为 80个字符的 100个逻辑记录组成,磁盘存储空间被划分成长度为2048个字符的块,为有效地使用磁盘空间,采用成组方式把文件存放到磁盘上,现用户要求每次读一个逻辑记录到他的工作区中,当对该逻辑记录处理后,要求把下一个逻辑记录读人到工作区,直到连续读出8个记录。

由于主存储器与外存之间的信息交换是以块为单位的,所以应当在主存中开辟一个2048字节的缓冲区。由上题可知每块中含有25个记录,文件一共占用4块,用户在指明了要读人记录的记录号N后,根据公式[N/25」得到该记录应该在4块的哪一块中,将该块读人到缓冲区中,并根据公式(N/25)得到该记录是块内的第几个记录(式中[]表示取整,()表示取余数),将该记录从缓冲区拷贝到用户工作区,然后 N+l,如果[(N+1)/25]=[N/25],则将缓冲区中的下一个记录拷贝到用户工作区,而无需启动 I/O操作,否则,按照新的块号将一个数据块读进缓冲区,并将记录从缓冲区拷贝到用户工作区。

8.页式存储管理中用位示图表示主存空间的分配情况,磁盘存储空间的分配也可用位示图来表示,两者能合用一张位示图吗?

答:不行,主存空间和磁盘存储空间是两种不同的存储空间,应该使用不同的位示图来表示分配情况。

9.为了实现按名存取,文件目录应包含哪些内容?

答:为了实现按名存取,文件目录至少要包括文件的名字和文件存放的物理地址,除此之外,目录中还可以包含其他的控制和管理文件的信息,如:文件类型、记录长度、记录个数、口令、建立日期、保存期限、上次修改时间等。

10.怎样才能防止不同的用户可能给各自的文件取了相同的名字而造成混乱?

答:可以采用二级目录或多级目录结构。在主目录中登记每个用户的名字和用户文件目录的存放地址;在第二级用户文件目录中登记用户的每个文件的文件名及文件存放位置。这样,不同的用户有同名文件时,由于文件的路径是不一样的,所以不会产生混乱。多级目录是在二级目录的基础上,在用户目录下,根据项目和应用领域再建立子目录和孙目录,这样可以避免同一个用户的同名文件造成的混乱。

11.有一个文件可供两个用户共享,但这两个用户却对这个文件定义了不同的名字,为了保证两个用户都能存取该文件,应怎样设置文件目录?简单画出目录结构关系且解释之。

答:采用二级目录结构。如图4-3所示,用户 zhangshan和用户 lisi对一个共享文件分别定义了不同的名字ww和pw,只要在它们各自的目录表中把相应的文件存放地址填上共享文件在存储介质上的起始位置,当用户zhangshan存取ww文件,用户lisi存取pw文件时,文件系统按照目录查找文件时得到相同的文件存放位置。于是各用户使用了不同的文件名,却仍能共享同一文件。

12.总结文件的存取方法、文件的存储结构、存储设备类型之间的关系。

答:文件的存取方法有两种:顺序存取和随机存取。文件的存取方法决定了文件的存储结构,它们的关系如表4-1所示。

13.文件系统提供的主要文件操作有哪些?

答:文件系统提供的主要文件操作有以下几种:

①‘建立“操作。用户要求把一个新文件存放到存储介质上时,首先要向系统提出”建立“要求。系统在接到用户的”建立“要求后,在文件目录中寻找空目录项进行登记

②“打开”操作。用户要使用存放在存储介质上的文件前,必需提出“打开 ”要求。系统在接到用户的“打开”要求后,找到该用户的文件目录,如果文件目录在外存上,还要把它调入到主存,然后从文件目录中找到与用户的需求相符合的目录项,取出文件存放的物理地址。如果是索引文件,还要将这个文件的索引表也调入到主存中,这样,后继的读操作能够很快地进行。

③“读/写”操作。用户调用这个操作来读/写文件,系统只允许用户对已经过“打开”或“建立”操作的文件进行读/写。对顺序存取方式的文件,用户只需给出读/写的文件名,而无需给出读/写记录的编号,系统执行本操作的时候,每次顺序读/写一个或几个逻辑记录。对于采用随机方式的文件,用户除了要给出需读/写的文件名外,还要给出需读/写记录的编号(或主键),系统执行读操作的时候,按指定的记录号(或键)查索引表,得到记录存放的物理地址后,按地址将记录读出;执行写操作的时候,在索引表找到一个空登记项且找一个空闲的存储块,把记录存人找到的存储块中,同时在索引表中登记

④“关闭”操作。经过“打开”或“建立”的文件,在读/写完毕后,需要执行“关闭”操作。执行关闭操作时要检查读到主存储器中的文件目录或索引表是否被改变,如果改过,则应把修改过的文件目录或索引表重新保存好。一个关闭后的文件不能再使用,如果要使用,必须重新执行“打开”操作。用户提出“关闭”要求时,必须说明关闭哪个文件。

⑤“删除”操作。用户用本操作向系统提出删除一个文件的要求,系统执行时把指定文件的名字从目录和索引表中除取,并收回它所占用的存储区域。

14.文件系统中为什么要设置“建立”、“打开”和“关闭”操作?

答:要把一个文件存放到存储介质上或使用一个已经建立在某存储介质上的文件前,首先应该把文件的属性(文件名、文件类型、可访问性、记录大小等),文件的管理信息(口令、建立日期、保存期限等)以及存取方式,通过特定的形式告诉文件系统。“建立”。“打开”和“关闭”操作就是为此目的而设置的。

用“建立”操作向系统提出生成一个新文件的要求。

用“打开”操作向系统申请读一指定文件的权力。

用“关闭”操作表示已经不再要读/写某个文件了,向系统归还使用文件的权力。

15.当用户要读一个尚未打开的文件的时候,系统怎么处理?

答:当用户要读一个文件的时候,系统先要验证该用户是否有使用权力,所以任何一个用户如果要读文件前都要执行“打开”操作。系统不允许隐式使用,那么当读一个还没有打开的文件,系统不会执行读操作,而是返回一个“文件未打开”的错误信息。如果系统允许隐式使用,那么系统将会替用户做打开文件的工作。

16.文件系统能允许用户去“关闭”一个不是自己“打开”或“建立”的文件吗?

答:不能!一个不是自己“打开‘域”建立“的文件,是没有权力使用和强行关闭的。

2829f2ca24f0d0090cbba57f30759f23.png

“操作系统概论”习题解答之文件管理.doc

下载Word文档到电脑,方便收藏和打印[全文共3843字]

编辑推荐:

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

下载Word文档

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值