文件管理-外存分配方式 目录管理 存储空间管理
本文由发表于6年前 | 操作系统 | 评论数 1 |  被围观 10,085 views+

1、什么是文件的逻辑结构,记录式文件的逻辑结构有哪几种

文件的逻辑结构:这是用用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。

记录式文件的逻辑结构:
1、有结构文件:
记录的长度可分为定长和不定长两类:定长记录;变长记录
根据用户和系统管理上的需要,可采用多种方式来组织这些记录,形成下述的几种文件:顺序文件;索引文件;索引顺序文件。
2、无结构文件:
流式文件,其长度以字节为单位。

2、什么是文件的物理结构,文件的物理结构(外存分配方式)有哪几种,每一种文件物理结构的实现方法,需要用到的数据结构,目录中如何记录文件地址


文件的物理结构:

又称为文件的存储结构,是指文件在外存上的存储组织形式。这不仅与存储介质的存储性能有关,而且与所采用的外存分配方式有关。


外存的分配方式:

连续分配(P213)


实现方式:

为每个文件分配一组位置相邻接的盘块(物理地址连续的外存空间),文件中的逻辑页被顺序地存放到相邻的物理盘块中。这保证了文件中的逻辑顺序与文件占用盘块顺序的一致性。这样物理结构的文件称为顺序文件。

每个文件都从分配给它的一个盘块的第一个字节开始存放。


记录文件地址:

在文件的目录中,存放该文件的第一个记录所在的盘块号和文件的长度(共占多少块)

链接分配(P215)


实现方式:

为每个文件分配一组位置离散的盘块,每个盘块中存放文件的一个逻辑页。通过在每个盘块上设置一个指针,将属于同一个文件的盘块顺序地链接在一起,链接的顺序和文件的逻辑顺序一致。这样物理结构的文件称为链接文件。

链接方式有隐式链接和显式链接两种。


记录文件地址:

显示链接:每个文件的第一个盘块的编号存放在文件目录中;文件的其他盘块的编号存放在FAT中;

隐式链接:目录和FAT一起记录了哪些盘块分给了这个文件以及这些盘块中内容的逻辑顺序。

索引分配(P221)


实现方式:

为每个文件分配一组位置离散的盘块,为每个文件建立一个物理结构的索引表,记录分配给该文件的物理盘块,以及这些盘块和文件逻辑顺序的对应关系。建立一个文件时,要初始化它的索引表,并将索引表的地址放到文件的目录中。打开一个文件时,文件的索引表也被同时读入内存。


记录文件地址:

单级索引:每个文件一张索引表,这张索引表放在一个盘块中

多级索引:对于一个长文件的索引表(内容同上,但单个盘块放不下),可以将它存放在若干个离散的盘块中。再为这些索引块建立一个索引表,存放在一个盘块中,这样就形成了一个文件的两级索引。

混合索引:文件系统混合使用多种分配方式。文件的目录中可以存放不同形式的地址信息:
• 直接地址,文件数据的盘块号;
• 一次间接地址,文件索引块的盘块号;
• 二次间接地址,文件二级索引块的盘块号。

3、单级(P226)、两级(P227)和多级(P228)(树型)目录结构的构成,逐步能实现的功能(特点)
单级目录结构:


构成:

为整个文件系统建立一张目录表,每个文件占一个目录项。

功能:

单级目录的优点是简单且能实现目录管理的基本功能----按名存取。
缺点:(1)查找速度慢;(2)不允许重名;(3)不便于实现文件共享。

两级目录结构:


构成:

系统给每一个用户建立一张独立的用户目录表(UFD),用来存放该用户所有文件的FCB, UFD的结构与单级目录表相似,它以一个目录文件的形式存在磁盘上;

整个文件系统有一张主目录表(MFD),其中的每一个表目(一行)用来存放一个UFD文件的名字、大小、存放位置等信息(目录文件的FCB)。这样就形成了两级目录。


功能:

• 优点:解决了文件的重名问题和文件共享问题,提高搜索速度,查找时间降低
• 缺点:妨碍了用户间的文件共享,增加了系统开销

多级目录结构:


构成:

将两级目录的这种层次结构推广,就形成多级目录。

在多级目录结构中,MFD演变为文件系统的根目录,在根目录中可以存放一般文件的FCB,也可以存放目录文件的FCB;每一个目录文件对应一张目录表,其中既可以存放一般文件的FCB,也可以存放目录文件的FCB。


功能:

• 优点:
层次结构清晰,便于管理和保护;有利于文件分类;解决重名问题;提高文件检索速度;能进行存取权限的控制
• 缺点:
查找一个文件按路径名逐层检查,由于目录文件和普通文件都放在外存,多次访盘,影响速度。

4、磁盘空间的组织管理方法—空闲表法(P232)、空闲链表法(P231)、位示图(P232)、成组链接法(P233)--每种方法的数据结构,存储分配和回收的方法
空闲表法:

为每个文件分配一块连续的存储空间按,即系统也为外存上的所有空闲区建立一张空闲表,每个空闲区对应于一个空闲表项,其中包括表项序号、该空闲区的第一个盘块号、该区的空闲盘块数等信息。

空闲链表法:

1、空闲块链法:将磁盘上所有的空闲块拉成一条链,在链首设一个分配指针,在链尾设一个回收指针。空闲块的分配与回收分别在链的首尾进行。
2、空闲区链法:将磁盘上所有的空闲区拉成一条链,空闲区中要记录本区包含的空闲块数。存储空间的分配与回收与内存的动态分区分配类似。

位示图法:

空闲块的组织:在内存中划出连续若干个字,为每一个文件存储器建立一张位示图。磁盘的每一个物理块都有一个二进制位与之对应。该位值是“0”为空闲、“1”为已分配。


存储空间的分配与回收

• 位示图需要多少个字,决定于盘块数。
• 申请物理块时,可以在位示图中顺序查找一个或一组其值为0的位,计算并返回每位对应的物理块号,分配物理块,并将位示图中对应的位置“1”; P130
• 回收物理块时,将回收的物理块号逆计算,得出块在位示图中的位置,并将对应的位置“0”。
成组链表法:
• 将系统的所有空白块每N个组成一组(例如N=100;这N个空白块位置不必连续);
• 将所有的空白块组链接起来。链接的方法是:每一组的第一个空白块存放前一组的盘块总数和包含的每一个盘块号;
5、什么是文件保护,文件保护的措施主要有哪些

文件的保护是指防止文件主或其他用户无意或有意破坏文件内容。也指防止系统出现异常、病毒或其他自然因素对文件内容的破坏。

文件保护采取的主要措施有:
(1) 通过存取控制机制,来防止人为因素所造成的文件不安全性;
(2) 通过磁盘容错技术,来防止磁盘部分故障造成的文件不安全性;
(3) 通过后备系统,来防止自然因素造成的整个文件存储器的不安全性。

6、采用单级目录能否满足对目录管理的主要要求?为什么?

采用单级目录不能完全满足对目录管理的主要要求,只能实现目录管理最基本的功能即按名存取。由于单级目录结构采用的是在系统只配置一张目录表用来记录系统中所有文件的相关信息,因此此目录文件可能会非常大,在查找时速度慢,另外不允许用户文件有重名的现象,再者由于单级目录中要求所有用户须使用相同的名字来共享同一个文件,这样又会产生重名问题,因此不便于实现文件共享。

6、试说明对索引文件和索引顺序文件的检索方法。

对索引文件的检索方法:首先是根据用户提供的关键字,并利用折半查找法去检索索引表,从中找到相应的表项;再利用该表项中给出的指向记录的指针值,去访问对应的记录。

对索引顺序文件的索引方法:首先也是利用用户所提供的关键字以及某种查找方法去检索索引表,找到该记录所在记录组中的第一个记录的表项,从中得到该记录组第一个记录在主文件中的位置;然后,再利用顺序查找法去查找主文件,从中找到所要求的记录。

7、在链式文件中常用哪种链接方式?为什么?

在链接式文件中常采用的链接方式为显式链接方式。这种方式是指把用户链接文件各物理块地指针,显示的存放在内存的一张链接表中。该表在整个磁盘仅设置一张。表的序号是物理盘快号,从0开始,直至N-1;N为盘块总数。在每个表项中存放链接指针,即下一个盘块号。在该表中,凡是属于某一文件的第一个盘块号,或者说是每一条链的链首指针所对应的盘块号,均作为文件地址被填入相应文件的FCB的“物理地址”字段中。由于查找记录的过程是在内存中进行的,因而不仅显著地提高了检索速度,而且大大减少了访问磁盘的次数。

8、假定一个文件系统的组织方式与MS-DOS相似,在FAT中可有64K个指针,磁盘的盘块大小为512B,试问该文件系统能否指引一个512MB的磁盘?

因为每个盘块都需要有一个指针来指示,而需要的盘块数为:512MB/512B=1M,所以需要1M个指针,所以FAT中的64K个指针明明显不够,所以该文件系统不能指引一个512MB的磁盘。

9、有一计算机系统利用下图所示的位示图来管理空闲盘块。盘块的大小为1KB,现要为某文件分配两个盘块,试说明盘块的具体分配过程。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
4 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1
5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

盘块的具体分配过程如下:

(1)从位示图中顺序扫描空闲盘块,发现第一个为0的二进制数在行为i=3,列为j=3处;
(2)将上面找到的行列号转换为对应的盘块号:b=(3-1)*16+3=35;
(3)修改位示图,把map[3,3]处设置为1,并将盘块分配给文件;

重复上述步骤分配第二个空闲盘块,即map[4,7],算出对应的盘块号为55,设置map[i,j]=1并将盘块分配出去。

10、基于符号链的文件共享方式有何优点?

在利用符号链方式实现文件共享时,只是文件主才拥有指向器索引节点的指针;而共享该文件的其他用户则只有该文件的路径名,并不拥有指向其索引节点的指针。这样,也就不会发生在文件主删除一个共享文件后留下一悬空指针的情况。符号链方式有一个很大的优点,是它能够用于链接(通过计算机网络)世界上任何地方的计算机中的文件,此时只需提供该文件所在机器的网络地址以及该机器中的文件路径即可。

11在第一级系统容错技术中,包括哪些容错措施?什么是写后读校验?

第一级系统容错技术包括双份目录、双份文件分配表及写后读校验等措施。

写后读校验方式是指为了保证所有写入磁盘的数据都能写入完好的盘块中,应该在每次从内存缓冲区向磁盘中写入一个数据块后,又立即从磁盘上读出该数据块,并送至另一缓冲区中,再将该缓冲区,内容与内存缓冲区中在写后仍保留的数据进行比较。若两者一致,便认为此次写入成功,可以继续写入下一个盘块;否则,再重写。若写后两者仍不一致,则认为该盘块有缺陷,此时,便将应写入改盘块的数据,写入到热修复重定向区中。

除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:http://www.itzhai.com/document-management-the-external-memory-storage-space-distribution-management-inventory-management.html
arthinking Java技术交流群:280755654,入门群:428693174 more
分享到:
 
2011 6/30
文章评论
    一条评论
  1. 国祥 2013年09月11日17:20:53  #-49楼 回复 回复

    正好在考虑设计文件系统,博主的文章很有参考意义!~

给我留言

有人回复时邮件通知我
操作系统的相关文章
随机文章 本月热门 热评
1 Javascript笔记 – Javascript中的运算符 2012/5/22
2 马化腾:互联网业的企鹅帝国就是这样造就的 2012/8/25
3 微型计算机技术实用知识点编程应用题 2011/6/30
4 汇编cmp指令和条件转移指令实现高级语言中的IF语句功能 2011/4/18
5 Struts2笔记 – Struts2中访问Web元素的3中方法 2011/6/19
6 Java基础笔记 – hashCode()与equals()方法的介绍和使用场合 2011/10/11
友情推荐 更多
破博客 文官洗碗安天下,武将打怪定乾坤。多么美好的年代,思之令人泪落。
Mr.5's Life 白天是一名程序员,晚上就是个有抱负的探索者
行知-追寻技术之美 关注大数据,分布式系统
我爱编程 编程成长轨迹
Cynthia's Blog 学习笔记 知识总结 思考感悟
 
欢迎关注我的公众号 IT宅
关于IT宅 文章归档

IT宅中的文章除了标题注明转载或有特别说明的文章,均为IT宅的技术知识总结,学习笔记或随笔。如果喜欢,请使用文章下面提供的分享组件。转载请注明出处并加入文章的原链接。 感谢大家的支持。

联系我们:admin@itzhai.com

Theme by arthinking. Copyright © 2011-2015 IT宅.com 保留所有权利.