文件系统与内核的关系
在使用RedHat7.5时,测试发现不支持exFAT ntfs文件系统,之前只知道它是管理文件的工具。它与内核有种鸡与蛋的关系,内核加载init需要文件系统,文件系统依靠内核工作?
但是我百度发现其他的Linux发行版有的可以支持ntfs。但是发行版都是使用linux内核,当然版本可能不同。因为关于操作系统的知识不是很扎实,请教下大家。
请问:
- 1.文件系统本身是怎么运行的,其是否加载在内核,随内核启动后启动。
- 2.文件系统本身是否属于内核态(kernel)而不是用户态(usr)?如果内核版本不支持比如exFAT,我们没有办法去安装?
- 3.内核是否一定需要文件系统本身?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
文件系统实际是一种“格式”。它是文件/目录如何存储在存储介质(硬盘、软盘、光盘)上的一种格式约定。“exFAT”,“ntfs” 指的都是这种东西。
内核里的“文件系统”,实际是在内核里写的对应这些格式的读、写、创建、删除的一层 api 。他们对上层(应用程序)提供统一的接口,对下层(存储介质),则根据格式的不同执行不同的操作。所以“支持” ntfs ,就是在这一层 api 里,包含了对 ntfs 格式的硬盘的读写支持。不同格式的(内核)存取代码自然是不同的,编译进去了就支持,没有编译进去就不支持。
如果内核对上提供了读写裸盘的 api ,其实是可以在用户态,在某一应用程序中读写任何文件系统的(按照相应格式的标准读写就好了)。但是对所有应用提供统一接口是操作系统的事,应用搞不定。
内核其实不一定要有文件系统。如果这个系统就不需要操作本地存储介质的话(操作系统本身也是直接加载到内存里),其实可以没有文件系统支持,并且不对上(应用)提供文件操作 api 。