待续
Linux如何支持多文件系统
不同磁盘需要不同类型的磁盘驱动程序,驱动向上提供接口,不同驱动提供的接口格式不同,在上层是块设备层,用来屏蔽下边驱动接口的差别,向上统一提供,把所有硬盘当成块设备,对上提供统一的接口,上层往硬盘写数据时不用关心不同硬盘驱动程序的接口的差异,直接以块设备进行操作,块设备会根据对不同的设备操作而选择对应的设备驱动程序。
在块设备层之上各种的文件系统,比如ext2、ext3、ext4等等,不同文件系统个操作接口又可能不一样,这样用户如果操作不同文件系统的操作得使用不同的命令,这样很麻烦;于是在上层的虚拟文件系统层VFS对不同的文件系统操作命令提供了统一的接口,如果用户往不同文件系统写数据的话,VFS会根据相应的文件系统选择对应的命令对文件系统进行操作。
应用程序的不同运行级别:
操作系统ring0
应用程序不能直接结束内核中的程序进程。
主要原理参考下图即可: