文件系统,如fat32等

文件系统是纯软件的概念。

数据存储到存储介质,可直接存放,但存放后查找、修改、增删等操作都会比较麻烦。

为解决上述问题,将每个单独的一组数据定义为一个文件,如果把文件内的每个数据直接存放,就会出现上面提到的使用问题。

现在将文件除了原始数据外,额外再添加一些信息,如文件位置、文件大小,文件名称、文件类型等。将原始数据和这些相关的附加信息合在一起,组成一个文件。这样,在查找或修改文件时,就可以方便的操作。

这些额外信息有哪些,利用这些信息如何方便的对文件数据进行需要的操作,这些就是文件系统定义的。

这些都是纯用软件实现,一般用结构体,里面包含文件路径、大小、名称等成员信息。

当然不会只是简单的一个结构体,文件系统的具体实现比用一个结构体的方法要复杂很多,可以参考FreeRTOS的Fat源代码。但原理是一样的,用一个结构体的概念方便理解。

用了文件系统,在存储介质上存储的数据就发生了变化。一个文件数据就不再只是原始数据了,是包含了文件信息原始数据两部分的数据了。所以使用文件系统会耗费更大的存储空间。但在处理文件数据时就方便了很多。

基于文件系统,操作系统就可以方便的查找、修改文件数据了。因为有文件信息,通过文件信息可以方便的定位文件,对文件中任意位置进行修改。

Windows就是基于FAT文件系统,这句话就是说在windows系统上存储的文件,都是在原始数据的基础上,添加了FAT文件系统定义的文件信息。这样我们打开资源浏览器时,就可以清楚的展示各个文件的具体信息,并方便的对每个文件进行操作(打开,关闭,新建,删除,复制,粘贴等)。

对于嵌入式系统,如MCU系统来说,文件系统就是在底层存储器接口驱动上面,增加了一层。

给保存在存储器(如SD卡,flash等)上的原始数据添加了文件信息。每个文件的文件信息都是一样的,所以可以将这些信息做成一个类(文件系统层),每个文件添加上这些文件信息后再存储到存储器中。

之后对这些文件数据进行操作时,通过文件信息的指针,就可以方便的操作了。

参考网页:

为什么要使用文件系统:

http://www.360doc.com/content/18/1117/00/99071_795394734.shtml

https://blog.csdn.net/u013709443/article/details/79369124

发布了264 篇原创文章 · 获赞 520 · 访问量 300万+

猜你喜欢

转载自blog.csdn.net/phenixyf/article/details/99660336