免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2017年下半年 嵌入式系统设计师 上午试卷 综合知识
  第52题      
  知识点:   文件的实现   文件系统
  关键词:   文件系统        章/节:   嵌入式操作系统基础知识       

 
以下关于文件系统的叙述,错误的是(52)。
 
 
  A.  文件控制块是文件系统中最重要的数据结构,但不是文件存在的唯一标志
 
  B.  文件控制块主要包括文件的标识信息、位置信息和文件的访问权限信息等
 
  C.  文件目录将系统中所有的文件控制块按照某种规律组织起来以便于检索
 
  D.  文件目录也由文件组成
 
 
 

 
  第23题    2012年下半年  
   57%
设文件索引节点中有8个地址项,每个地址项大小为4字节,其中5个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是..
  第46题    2014年下半年  
   43%
以下关于文件系统的叙述中,不正确的是(46)。
  第22题    2018年下半年  
   56%
某操作系统文件管理采用索引节点法。每个文件的索引节点有8个地址项,每个地址项大小为4字节,其中5个地址项为直接地址索引,2个..
   知识点讲解    
   · 文件的实现    · 文件系统
 
       文件的实现
        文件的实现需要解决两个方面的问题:一是如何来描述一个文件,用什么样的数据结构来记录文件的各种管理信息;二是如何来存储文件,如何把文件的各个连续的逻辑块存放到磁盘的空闲物理块当中,并记录逻辑块与物理块之间的映射关系。
               文件控制块
               文件控制块(File Control Block,FCB)是操作系统为了管理文件而设置的一种数据结构,用于记录与一个文件有关的所有管理信息。FCB是文件存在的标志。
               对于不同的操作系统,它们的文件控制块所包含的内容是各不相同的。一般来说,主要包含两类信息:
               .文件的属性信息:包括文件的类型和长度、文件的所有者、文件的访问权限、文件的创建时间、最后访问时间以及最后修改时间等。
               .文件的存储信息:文件在磁盘上的存放位置,它被存放在哪一些物理块当中。
               文件的物理结构
               文件的物理结构研究的是如何把一个文件存放在磁盘等物理介质上。具体来说,就是以块为单位,研究如何把文件的一个个连续的逻辑块存放在不同的物理块当中,从而建立逻辑块与物理块之间的映射关系。文件的物理结构主要有三种形式:连续结构、链表结构和索引结构。
               (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项的内容,就可以知道相应的物理块编号,然后就可以直接去访问磁盘了。
 
       文件系统
        由于计算机系统处理的信息量越来越大,所以不可能将所有的信息保存到主存中。特别是在多用户系统中,既要保证各用户文件存放的位置不冲突,又要防止任一用户对外存储器(简称外存)空间占而不用;既要保证各用户文件在未经许可的情况下不被窃取和破坏,又要允许在特定的条件下多个用户共享某些文件。因此,需要设立一个公共的信息管理机制来负责统一管理外存和外存上的文件。
        所谓文件管理系统,就是操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件机构,简称文件系统。文件系统的功能包括按名存取,即用户可以“按名存取”,而不是“按地址存取”;统一的用户接口,在不同设备上提供同样的接口,方便用户操作和编程;并发访问和控制,在多道程序系统中支持对文件的并发访问和控制;安全性控制,在多用户系统中的不同用户对同一文件可有不同的访问权限;优化性能,采用相关技术提高系统对文件的存储效率、检索和读/写性能;差错恢复,能够验证文件的正确性,并具有一定的差错恢复能力。
   题号导航      2017年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第52题    在手机中做本题