据我了解,Linux 使用需求分页,这意味着当一个进程启动时,只有进程的那些页面实际上是从文件系统中加载的,这些页面在执行过程中被触及。
但是,卸载文件系统意味着什么?卸载是否意味着在卸载生效之前加载受影响进程的剩余页面(也“锁定”受影响的内存页面)?或者,如果不是,卸载是否会在页面错误的情况下导致进程执行的后续问题?
更新:在 Stephen Kitt 提供了一个答案之后(即在这种情况下简单地阻止了卸载),我在以下问题下找到了一些额外的信息:Does a boot loader unmount the ramdisk BEFORE mount the root file system on the hard drive? . 那里给出的解释得出了相同的结论,尽管那里没有解决请求分页的问题。
内核通过防止卸载用作正在运行的进程的后备存储的文件系统来解决这个问题:
只有从文件系统运行的进程完成后,才能卸载文件系统。