首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设备文件是由特定的文件系统实现还是由Linux中的虚拟文件系统实现?

设备文件是由特定的文件系统实现还是由Linux中的虚拟文件系统实现?
EN

Stack Overflow用户
提问于 2015-12-13 16:48:52
回答 1查看 523关注 0票数 3

在Tanenbaum的“现代操作系统”中,对于Linux文件系统,有两个草图:

在这两个草图中,特定的文件系统(例如,ext4类型)(第一个草图中的“文件系统”和第二个草图中的“文件系统1”)列在“虚拟文件系统”下。

区别在于

  • 在第一个草图中,“文件系统”在与“终端”和“套接字”相同的级别上列出,不包括后两者,
  • 在第二个草图中,“文件系统1”包括“常规文件”、“块特殊文件”、"Char特殊文件“和”网络套接字“。

我的理解是,这两幅草图显示的是相同的东西,所以它们应该是一致的。

我的问题是

  • 具体的文件系统(如ext4)是否实现了设备文件,并使它们与常规文件相同,还是“虚拟文件系统”的工作?
  • 对于“文件系统”和“网络套接字”、“块/查特殊文件”之间的关系,我应该如何理解上述两个草图之间的区别?
EN

回答 1

Stack Overflow用户

发布于 2015-12-13 16:55:15

文件系统节节,它知道char设备和块设备(并返回它们,例如通过统计局(2) syscall)。

当您的程序(和进程)打开一个char设备(在某些文件系统中)时,内核将使用一些设备驱动程序,通常与设备主号相关。

Ext2维基页面有一个很好的图片(显示inode和数据),它非常适用于Ext4 (当然,许多细节已经改变了)。

VFS是内核中的一个抽象层。查看巡演 VFS并查看核源代码中的内容。

普通文件系统(例如,Ext3 1)可能包含char设备inode(可见于某些目录中的char设备文件),但许多新的Linux系统通常使用神甫伪文件系统(安装在/dev/上)(与udev系统d相关)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34253611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档