全部科目 > 嵌入式系统设计师 >
2012年下半年 上午试卷 综合知识
第 23 题
知识点 文件的物理结构  
章/节 嵌入式操作系统基础知识  
 
 
设文件索引节点中有8个地址项,每个地址项大小为4字节,其中5个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,磁盘索引块和磁盘数据块大小均为1KB字节。若要访问文件的逻辑块号分别为5和518,则系统应分别采用(22);而且可表示的单个文件最大长度是 (23)KB。
 
  A.  517
 
  B.  1029
 
  C.  16513
 
  D.  66053
 
 




 
 
相关试题     文件的实现 

  第46题    2014年下半年  
以下关于文件系统的叙述中,不正确的是(46)。

  第52题    2017年下半年  
以下关于文件系统的叙述,错误的是(52)。

 
知识点讲解
· 文件的物理结构
 
        文件的物理结构
        文件的物理结构研究的是如何把一个文件存放在磁盘等物理介质上。具体来说,就是以块为单位,研究如何把文件的一个个连续的逻辑块存放在不同的物理块当中,从而建立逻辑块与物理块之间的映射关系。文件的物理结构主要有三种形式:连续结构、链表结构和索引结构。
        (1)连续结构。连续结构也叫顺序结构,它的基本思想是把文件的各个逻辑块按照顺序存放在若干个连续的物理块当中。这种方法的优点是简单、易于实现。对于一个文件,系统只要记住它的第一个物理块的编号和物理块的个数,就可以通过简单的方法来实现从逻辑块到物理块的映射。例如,假设一个文件总共有N个逻辑块,而且第一个逻辑块是存放在第X个物理块当中,那么可以推算出第i个逻辑块是保存在第X+i-1个物理块当中。
        连续结构也有它的缺点。首先,随着磁盘文件的增加和删除,将会形成空闲物理块与占用物理块相互交错的情形,这样,那些比较小的物理块区域就无法再利用,成为外碎片。其次,在连续结构方式下,文件的大小不能动态地增长。
        连续结构主要是用在CD-ROM、DVD等一次性写入的光学存储介质当中。
        (2)链表结构。链表结构的基本思路是:把文件的各个逻辑块依次地存放在若干个物理块当中,这些物理块既可以是连续的,也可以是不连续的。然后在各个块之间通过指针连接起来,前一个物理块指向下一个物理块,从而形成一条链表。在具体实现链表结构时,需要在每一个物理块当中,专门利用若干个字节来作为指针,指向下一个物理块。对于一个文件,系统只要记住它的链表的首结点指针,就可以定位到这个文件中的任何一个物理块。
        链表结构克服了连续结构的缺点。由于不连续的物理块之间可以通过指针连接起来,所以每一个物理块都能够用上,不存在外碎片的问题。而且文件的大小也可以动态地变化。
        链表结构的缺点是:在访问一个文件时,只能顺序地进行访问。例如,为了访问一个文件的第n个逻辑块,文件系统必须从这个文件的第一个物理块开始,按照每一个物理块当中的链表指针,顺序地去遍历前n个块,因此时间比较长。
        为了解决这个问题,人们又对链表结构进行了改进,提出了带有文件分配表的链表结构。它的基本思路是:在链表结构的基础上,把每一个物理块当中的链表指针抽取出来,单独组成一个表格,也就是文件分配表(File Allocation Table,FAT),并把它存放在内存当中。然后,如果要随机地去访问文件的第n个逻辑块,可以先从FAT表中查到相应的物理块地址,然后根据这个地址直接去访问磁盘,这样速度就比较快。
        文件分配表的一种实现方式如下:在整个文件系统中设置一个一维的线性表格,它的表项个数就等于磁盘上物理块的个数,并按照物理块编号的顺序来建立索引。对于系统中的每一个文件,在它的文件控制块中记录了这个文件的第一个物理块的编号X1,然后在FAT表的第X1项中,记录了该文件的第二个物理块编号X2。就这样一直下去,从而形成了一个链表。在链表的最后一个结点中,存放了一个特殊的文件结束的标识。
        下图是文件分配表的一个例子。通过文件1的目录项可以知道,它的第1个逻辑块存放在第1个物理块中。然后去查询FAT表,可以知道,它的第2、第3个逻辑块分别存放在第2、第3个物理块中。在FAT表的第3项是一个特殊的值0xFFFF,表明文件的结束,因此该文件总共有3个块。类似地,文件2也有三个数据块,分别存放在第4、第5和第7个物理块中。
        
        FAT文件分配表的例子
        (3)索引结构。索引结构的基本思路是:把文件当中每一个逻辑块所对应的物理块编号直接记录在这个文件的文件控制块当中,这样的文件控制块称为Ⅰ结点,或索引结点(index node)。这样,对于系统中的每一个文件,都有一个自己的索引结点。通过这个索引结点,就能够直接地实现逻辑块与物理块之间的映射关系。例如,如果要去访问文件的第i个逻辑块,可以先到其索引结点的地址映射表中,查一下第i项的内容,就可以知道相应的物理块编号,然后就可以直接去访问磁盘了。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有