发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名
[问答] 请问操作系统中的文件系统是什么?
403 华强芯城 操作系统
分享
如题,操作系统中的文件系统是什么,资料讲的是它是操作系统用于明确磁盘上文件的方法数据结构,它是操作系统里面所包含内容吗,是一组程序还是。。。,太抽象了,有没有通俗一点的解释的
0
2019-9-18 06:01:45   评论 分享淘帖 邀请回答
3个回答
先看看znFAT,你会有直观的理解
2019-9-18 14:35:39 评论

举报

当你的系统中,存储介质不使用文件系统进行数据的存取时,你通常是这样操作:按照数据在存储介质中的起始地址,数据字节数,进行读写操作。这样的操作会比较原始,针对的是数据块,而没有文件的概念。但这是最基本的,底层的必须功能。在底层,存储介质中的每一个存储单元都可以存储文件数据。

当你使用文件系统后,文件系统的所有操作最终都是调用前面提到的底层功能,但文件系统提供给你的是更容易理解的接口,它对整个存储介质的空间进行管理,记录,为了达到这些功能,势必要占用一部分存储空间用作文件系统的一些记录。举个例子,你在文件系统根目录下创建100个目录,目录并非数据,没有任何数据一堆目录也没有意义,但它是文件系统用于管理文件类目的分支标识。它一样会占用存储介质的存储空间。

文件系统就是让你可以通过它提供的接口进行文件操作,现在你可以通过类似 open("\abc\a.txt") 的函数来打开文件系统根目录下的abc目录下a.txt文件,进行读取或改写数据。文件系统知道如何找到a.txt这个数据块在存储介质的位置,而不需要你操心。它的方便之处是显而易见的。

文件系统 听起来 很复杂,所谓系统,只不过是一套特定功能的代码,而且代码量可以很小(fatfs总共才几个文件),它有高内聚低耦合的特性,它的本质作用是承上启下,作为一个中间层,它是对底层存储操作的封装,使上层能使用统一的文件操作接口进行数据存储和管理。

文件系统 对存储介质的管理,是一套规范的数据结构,如何为分区,如何为目录,如何为文件?每个分区,每个目录,每个文件,他们的节点地址在哪?数据长度又是多少?文件的创建时间,权限等等都属于文件系统记录管理的范畴,不同的文件系统使用不同的数据结构来包含这些信息。不同的文件系统程序,是无法解释其他文件系统所写入的数据的。一块崭新的存储卡,上面是没有任何文件系统结构,需要进行格式化,第一次格式化就把存储空间按照规范的数据结构给布置好了。

被文件系统操作的存储介质,如果你再使用底层的接口进行任何地址写入或擦除数据,或者出现某个数据块坏掉,都极有可能使整个存储介质上的数据无法被文件系统正确解释,但这并不代表所有数据丢失,你可能只是无意间破坏了文件系统所布置的数据结构,文件系统就不能正常识别里面的节点,文件内容,或整个存储空间,会要求你重新格式化。

每当出现这样的惨剧时,可以通过一些工具,使用底层读取接口将数据读取,然后根据数据中的一些常见文件数据的特定结构(比如可执行文件的头尾结构,bmp图片的头尾结构),来拆分数据块,还原出丢失的文件。

每当写到这么多的时候,总是忘情的来一句:阿弥陀佛~老衲不行了
2019-9-18 14:49:45 评论

举报

是操作系统用于明确磁盘或分区上的文件的方法和数据结构,说得通俗些就是操作系统中管理文件的管家,进来了什么东西,按照规定应该往哪里放置,就是由文件系统说了算。
2019-9-18 14:58:06 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

我要提问
关闭

站长推荐 上一条 /6 下一条

快速回复 返回顶部 返回列表