目录
一、文件和目录(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 数据的访问。