在 Tanenbaum 的 Modern OS 书中,对于 Linux 文件系统,有两个草图:
在这两个草图中,特定文件系统(例如 ext4 类型)(第一个草图中的“文件系统”和第二个草图中的“文件系统 1”)列在“虚拟文件系统”下。
不同之处在于
- 在第一个草图中,“文件系统”与“终端”和“套接字”处于同一级别,不包括后两者,
- 在第二个草图中,“文件系统 1”包括“常规文件”、“块特殊文件”、“字符特殊文件”和“网络套接字”。
我的理解是,这两个草图显示的是同一个东西,所以它们应该是一致的。
我的问题是
特定文件系统(例如 ext4)是否实现了设备文件并使它们与常规文件一样对待,还是“虚拟文件系统”的工作?
我该如何理解上面提到的“文件系统”和“网络套接字”、“块/字符特殊文件”之间的关系的两个草图之间的区别?