这仨名字里都有个“系统”,但完全不是一个东西,也谈不到谁包含谁的问题。
简单的说他们之间的关系:文件系统和操作系统可以看作一种“合作”关系,而数据库管理系统则是依赖于操作系统的一种应用。下面简单的分别说一下:
文件系统(File System)
这个和另外两个差别最大,因为文件系统连软件都不是。可以理解成一种“格式”或者“标准”。它决定了数据是以什么样的方式储存到磁盘里。有了这么一套统一的标准,那无论谁想要读写问津,只要遵循同样的标准,都可以进行正确的操作。
当然,标准这东西相来没那么美好,或是出于技术原因或是考虑商业利益,文件系统都没法统一。所以现在有很多的文件系统。现在比较常见的如下:NTFS
ext4
APFS
FAT
exFAT
ZFS
……
我相信看到我上面列出里的这些你应该也明白了,所谓的文件系统其实有一个很多人都知道,但其实并不准确的“外号”——磁盘格式。当你格式化磁盘的时候,你选择的那个所谓的“格式”就是文件系统。
操作系统(Operation System)
所谓操作系统,是一种软件。当然,是比较特殊的软件,和我们一般理解的软件不太一样。操作系统起到的是一个类似“桥梁”的作用,它沟通了上层的应用程序和底层的硬件。应用程序无需去关心每一个硬件应该如何控制,而只需要调用操作系统提供的接口即可。具体的硬件操作就留给操作系统完成即可。
也正因如此,从磁盘中读写文件也是操作系统要做的工作之一。所以操作系统和上面说的文件系统可以理解为一种“合作”关系,文件系统指定了读写文件的标准,而操作系统会按照这套标准去执行,正确的读写文件。
常见的操作系统如:Windows
macOS
Linux(严格的说Linux是操作系统内核而非操作系统,不过这里就不细究的那么严谨了)
iOS
Android(基于上面说的Linux系统内核开发的,还是,为了方便理解,这里就不那么严谨了)
……
数据库管理系统(Database Management System)
这是比较典型的一个软件类型。属于依赖于上面所说的操作系统的一类软件——面向用户实现具体功能,而不直接关心底层的硬件。这个没太多可说的,和我们平常用的浏览器、播放器、游戏,本质上都是一类东西,只是功能不同而已。
常见的数据库管理系统如:Oracle
MS SQL Server
MySQL
Access
……
最后
至于你问的“是不是文件系统就是利用数据库实现的”,这里可能牵扯一些你的误解:如上所说,文件系统是一套标准,谈不到用什么实现
“数据库”是个比较宽泛的概念,某种意义上说——文件系统确实是一种数据库的格式。
但一般大家嘴里说的“数据库”其实指的还是“数据库管理系统”而非真正意义上的数据库,只是口头用于一般比较简练,不那么严谨。
最后这点可能有点绕,但我是真想不出怎么解释才更直观一些,慢慢消化下吧~