嵌入式系统设计师之文件系统(3.2.5)

目录

​​​​​​​一、文件和目录(II)

1、文件

2、目录 

二、文件存取方法、存取控制(II)

1、文件存取方法

2、文件的访问

3、文件控制 

三、常见嵌入式文件系统(I)


一、文件和目录(II)

1、文件

        从用户的角度来说,文件是一种抽象机制,它提供了一种把信息保存在磁盘等外部存储设备上,并且便于以后访问的方法。

        文件的逻辑结构指的是文件系统向外提供给用户的文件结构形式,它独立于文件在磁盘上的物理存储结构。文件的逻辑结构主要有三种:无结构、简单的记录结构和复杂结构。对于现代文件系统,通常采用的是无结构的形式。也就是说,整个文件是由一个无结构的字节流所组成,文件的大小也就是这些字节的个数。

        文件可以按照不同的准则来进行分类,例如:

        1、按照文件的性质和用途,可将文件分为系统文件、库文件和用户文件。

        2、按照文件的保护方式,可将文件分为只读文件、读写文件和可执行文件。

        3、按照文件的功能,可将文件分为普通文件和目录文件。普通文件就是通常意义上 所说的文件,它里面包含了用户的各种数据。目录文件是一种专用的系统文件, 用来管理文件系统的组织结构。

        4、在有些操作系统中,还有一种特殊的设备文件,即用文件的形式来管理输入/输出 设备。包括字符设备文件和块设备文件,前者用来描述串行的输入/输出设备,后 者用来描述磁盘等块设备。

2、目录 

        目录也称文件夹, 它是一张表格,记录了在该目录下每个文件的文件名和其他的一些管理信息。 一般来说,每个文件都会占用这张表格的某一行,即一个目录项。由于文件系统中的目录是 动态创建的,其大小是不断变化的,因此,目录通常都是以文件的形式存放在磁盘上。 另外,在目录的管理上,也有一些相关的系统调用,如创建目录、删除目录、修改目录名等。

        在多级目录结构中,主要有两种方法来指定需要访问的文件或目录:

        1、绝对路径名:对于每一个文件或目录,可以用从根目录开始依次经由的各级目录 名,再加上最终的文件名或目录名来表示,在每一级目录名之间,用分隔符隔开。 一个文件或目录的绝对路径名是唯一的,例如:\spell\mail\copyall

        2、相对路径名:用户首先指定一个目录作为当前的工作目录,然后在访问一个文件 或目录时,可以使用相对于当前工作目录的部分路径名,即相对路径名,例如,假设当前的工作目录是\spell\mailcopy,     那么使用相对路径名 all  的效果等价于使用绝对路径名\spellmail\copy\all

二、文件存取方法、存取控制(II)

1、文件存取方法

        文件的存取方法可以分为两类:

        1、顺序存取:对于文件中的每一个字节或记录,只能从起始位置开始, 一个接一个

地顺序访问,不能跳跃式访问。这是早期的操作系统所提供的存取方式。

        2、随机存取:根据所需访问的字节或记录在文件中的位置,将文件的读写指针直接 移至该位置,然后进行存取。每一次存取操作都要指定该操作的起始位置。现代操作系统都提供随机存取的方式。

2、文件的访问

        文件的访问指的是与文件内容读写有关的各种文件操作,包括:

        ●打开操作:在访问一个文件前,必须先打开它;

        ●关闭操作:在使用完一个文件后,要关闭该文件;

        ●读操作:从文件中读取数据;

        ●写操作:把数据写入文件;

        ●添加操作:把数据添加到文件的末尾;

        ●定位操作:指定文件访问的当前位置。 

3、文件控制 

        文件的控制指的是与文件属性控制有关的各种文件操作,包括文件的创建、删除、读取文件属性、设置文件属性、修改文件名等。

三、常见嵌入式文件系统(I)

        1、FAT(File    Allocation     Table):FAT 文件系统是最常用的文件系统之一,最早于1982 年应用在MS-DOS  操作系统当中。许多的嵌入式操作系统都支持FAT 文件系统,  VxWorks QNX Windows  CE等。为了与 PC 机文件系统兼容,在嵌入式系统

设计中一般使用标准的 FAT12/16/32 文件系统;

        2、NFS(Network   File   System):  网络文件系统,基于远程过程调用(Remote   Procedure Call,RPC)      和扩展数据表示 (Extended     Data     Representation,XDR)。它可以将外 部设备安装在文件系统中,就好像是一个本地的文件分区,从而可以实现对网络文件的快速、无缝的共享;

        3、FFS(Flash     File     System):   用于 Flash 存储器的文件系统;        

        4、DosFS: 用于实时条件下的块设备(磁盘)访问,并且与MS-DOS  文件系统兼容;

        5、RawFS: 提供了一个简单的“生”的文件系统,它的基本思路是把整个磁盘视为

一个巨大的文件;

        6、TapeFS: 用于磁带设备,在磁带上不使用标准的文件或目录结构。其基本思路是

把整个磁带卷视为一个巨大的文件

        7、CdromFS:ISO  9660 标准文件系统,用于CD-ROM  数据的访问。

你可能感兴趣的:(嵌入式系统设计师,嵌入式系统设计师,文件系统)