当您“装载”驱动器时,会发生什么?


2

装入驱动器时,发生了什么底层的事情。即使未安装驱动器,计算机也可以看到它(例如sudo fdisk -l / diskutil -list)。装入驱动器后,是否正在发生的一切仅仅是操作系统正在提供设备的路径,还是正在发生一些“魔术”文件系统?

Answers:


0

有一些文件系统“魔术”发生。

分层考虑您的磁盘系统可能会有所帮助。最低层是块设备,然后是分区,然后是文件系统。

挂载驱动器时,挂载程序与内核以及可能的/ etc / fstab一起计算出分区上的文件系统类型,然后实现(通过内核调用)标准文件系统调用以允许对文件系统进行操作,包括阅读,写作,列表,权限等。

实际上,您可以轻松地为此添加其他层,并且所有这些都以相同的方式工作。(一种常见的方法是LVM,它位于分区和文件系统之间,即使在正在运行的文件系统上,它也允许您调整大小,添加和删除磁盘)。我之所以这样说,是因为它表明还有更多的内容,而不仅仅是提供设备的路径。

同样,不同的内核将支持不同的文件系统(例如,某些内核可能包括ReiserFS,btrfs等)。也可以使用“用户空间”(保险丝)中的文件来实现文件系统(仍然可以安装和卸载)。例如,这将允许安装不属于内核的虚拟文件系统,甚至允许安装虚拟文件系统-例如,我已经通过FTP将FTP目录甚至远程路径安装为ssh作为文件系统(当然还有NFS和SAMBA共享)以及加密文件,并为一个统一的文件系统合并多个目录-所有这些都是通过内核完成的“魔术类型”,通常是在mount命令的帮助下进行的。


0

从块设备挂载文件系统时,将进行一些准备工作,包括

  • 读取每个文件系统信息,例如文件系统类型,版本,选项,可用空间量...
  • 检查文件系统上次是否正确关闭(卸载)
  • 检查块设备是否为只读(软盘/ SD卡开关,CDROM / DVD)。
  • 重播记录在文件系统“日志”中的操作(如果有)。

0

当您挂载Linux文件系统(例如ext2,ext3,ext4等)时,文件系统超级块的副本将驻留在内存中,以供进一步操作

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.