文件系统与内核的关系

发布于 2022-09-12 00:46:56 字数 349 浏览 24 评论 0

在使用RedHat7.5时,测试发现不支持exFAT ntfs文件系统,之前只知道它是管理文件的工具。它与内核有种鸡与蛋的关系,内核加载init需要文件系统,文件系统依靠内核工作?

但是我百度发现其他的Linux发行版有的可以支持ntfs。但是发行版都是使用linux内核,当然版本可能不同。因为关于操作系统的知识不是很扎实,请教下大家。

请问:

  • 1.文件系统本身是怎么运行的,其是否加载在内核,随内核启动后启动。
  • 2.文件系统本身是否属于内核态(kernel)而不是用户态(usr)?如果内核版本不支持比如exFAT,我们没有办法去安装?
  • 3.内核是否一定需要文件系统本身?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

超可爱的懒熊 2022-09-19 00:46:56

文件系统实际是一种“格式”。它是文件/目录如何存储在存储介质(硬盘、软盘、光盘)上的一种格式约定。“exFAT”,“ntfs” 指的都是这种东西。

内核里的“文件系统”,实际是在内核里写的对应这些格式的读、写、创建、删除的一层 api 。他们对上层(应用程序)提供统一的接口,对下层(存储介质),则根据格式的不同执行不同的操作。所以“支持” ntfs ,就是在这一层 api 里,包含了对 ntfs 格式的硬盘的读写支持。不同格式的(内核)存取代码自然是不同的,编译进去了就支持,没有编译进去就不支持。

如果内核对上提供了读写裸盘的 api ,其实是可以在用户态,在某一应用程序中读写任何文件系统的(按照相应格式的标准读写就好了)。但是对所有应用提供统一接口是操作系统的事,应用搞不定。

内核其实不一定要有文件系统。如果这个系统就不需要操作本地存储介质的话(操作系统本身也是直接加载到内存里),其实可以没有文件系统支持,并且不对上(应用)提供文件操作 api 。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文