我想知道存储设备上的文件系统是否是操作系统的一部分?
我认为不是。相反,它是存储设备的一部分,并且存在于任何操作系统之外,尽管它是由操作系统创建的。我的理解正确吗?
然而维基百科:
大多数操作系统都提供文件系统,因为文件系统是任何现代操作系统不可或缺的一部分。
对于 LVM 来说,它是操作系统的一部分吗?如果是,那么在 LVM 上构建的虚拟文件系统是操作系统的一部分吗?
答案1
文件系统本身由存储表示上信息的物理顺序表示,独立于操作系统。操作系统包含一个驱动程序,允许它与文件系统一起工作。有些文件系统可能只有一个操作系统可以与之通信,并且该操作系统将该文件系统硬编码到其中(想想 Novell NetWare 的原始文件系统);但这并不能阻止一些有进取心的人为另一个操作系统编写这样的驱动程序。
LVM 不是文件系统,而是卷管理器。卷管理器与文件系统一样,依靠存储在逻辑存储表示上的数据来进一步定义如何访问该存储以获取更多逻辑卷。就 LVM 而言,Linux 和 BSD 都可以为其各自的 LVM 实现使用相同的存储格式。
Windows 卷管理器是动态磁盘,一些有进取心的人已经创建了用于访问它们的 Linux 驱动程序。
如果您要使用一组磁盘,安装某种 Linux,使用 LVM 设置它们,ext3
在逻辑卷上安装多个文件系统,然后将驱动器放入 FreeBSD 机器中,那么该 FreeBSD 机器将能够读取磁盘。很可能。这是因为 FreeBSD 具有了解 LVM 和 ext3 的物理布局的驱动程序,并实现了与它们交互所需的 OS 内存和访问结构。
这驱动程序解释存储布局所需的几乎总是“在操作系统中”,但实际的存储布局本身并不被视为。
答案2
我回答了这个问题关于 ServerFault. 答案如下:
这里的问题是“文件系统”这个词。在 POSIX/Unix/Linux 世界中,它有几种不同的含义。
- “文件系统”有时是整个文件系统,根植于
/
操作系统内核并由操作系统内核呈现给应用软件。出于这个含义,人们谈论 POSIX 操作系统具有“单一文件系统树“, 例如。 - “文件系统”有时是一个(或多个)切片一个(或多个)直接访问存储设备或 DASD — 一个或多个连续磁盘扇区的集合,格式化为单个体积具有给定格式——由某些磁盘分区方案划分。出于这个原因,人们谈论“格式化我的
/usr
文件系统“。 - “文件系统”有时是文件系统驱动程序(即 VFS 层)向系统其余部分呈现的抽象文件和目录连接树。出于这个含义,人们谈论“挂载proc 文件系统在
/proc
”。
维基百科的文字含义为 #1。这确实是操作系统的一部分,因为它是操作系统提供的,是操作系统特定的抽象,提供给在操作系统上运行的应用软件。
含义 #2 不是操作系统的一部分。它是一个或多个操作系统能够理解的磁盘上数据结构。具体来说,LVM 的磁盘上数据结构提供了将一个或多个 DASD 分割成一个或多个卷的方法。它们本身不是操作系统的一部分。(但同样,“LVM”具有多重含义,既可以表示操作系统中的 LVM 驱动程序和实用程序,也可以表示这些驱动程序和实用程序操作的磁盘上数据结构。例如“我运行了逻辑卷管理器来自救援盘。”)
含义 #3 是操作系统特定的文件系统驱动程序提供的操作系统特定抽象。文件系统驱动程序确实是操作系统的一部分,尽管它们通常与操作系统截然不同且相互独立核心。
答案3
文件系统由操作系统创建、维护和使用,但您正确地得出结论,它的表示可以独立于操作系统而存在。
答案4
尤其是执行是操作系统的一部分。抽象概念、规范和存储的数据不是。