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

news/2024/12/21 22:54:19/

目录

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


http://www.ppmy.cn/news/1346713.html

相关文章

MFC实现遍历系统进程

今天我们来枚举系统中的进程和结束系统中进程。 认识几个API 1)CreateToolhelp32Snapshot 用于创建系统快照 HANDLE WINAPI CreateToolhelp32Snapshot( __in DWORD dwFlags, //指定快照中包含的系统内容__in DWORD th32P…

【01】判断素数/质数(C语言)

目录 (1)素数特点:只能被1和本身整除 (2)代码如下: (3)运行结果如下 ​编辑 (4)函数引申 (1)素数特点:只能被1和本身…

【Flask + AI】接入CHATGLM API 实现翻译接口

【Flask AI】接入CHATGLM API 实现翻译接口 最近的项目中,需要加一个翻译功能,正好chatglm4发布了,于是决定着手用它实现。 https://chatglm.cn 准备 首先,在chatglm开发者中心申请api key,这里不再赘述 其次&…

C#静态数组删除数组元素不改变数组长度 vs 动态数组删除数组元素改变数组长度

目录 一、使用的方法 1.对静态数组删除指定长度并不改变数长度的方法 (1)静态数组 (2)对静态数组删除元素不得改变其长度 2.对动态数组删除指定长度并改变数长度的方法 (1)动态数组 (2&a…

RAPTOR:树组织检索的递归抽象处理

RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL Title:树组织检索的递归抽象处理 https://arxiv.org/pdf/2401.18059.pdf 摘要 检索增强语言模型可以更好的融入长尾问题,但是现有的方法只检索短的连续块,限制了整…

BUGKU-WEB 留言板

题目描述 题目无需登录后台!需要xss平台接收flag, http协议需要http协议的xss平台打开场景后界面如下: 解题思路 看到此类的题目,应该和存储型xss有关,也就是将恶意代码保存到服务器端即然在服务器端,那就…

华为第二批难题一:基于预训练AI模型的元件库生成

我的理解:华为的这个难道应该是想通过大模型技术,识别元件手册上的图文内容,与现有建库工具结合,有潜力按标准生成各种库模型。 正好,我们正在研究,利用知识图谱技术快速生成装配模型,其中也涉…

【Ubuntu】安装filebeat

在Ubuntu系统上安装filebeat 1. 添加ElasticSearch的GPG密钥 wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -2. 添加ElasticSearch的APT存储库 echo "deb https://artifacts.elastic.co/packages/oss-8.x/apt stable main"…