mnt_namespace.md 705 B

挂载命名空间

底层架构

pcb -> nsproxy -> mnt_namespace

每一个挂载文件系统都有自立独立的挂载点,表现在数据结构上是一个挂载的红黑树,每一个命名空间中挂载是独立的,所以文件系统的挂载和卸载不会影响别的

系统调用接口

  • clone
    • CLONE_NEWNS用于创建一个新的 MNT 命名空间。提供独立的文件系统挂载点
  • unshare
    • 使用 CLONE_NEWPID 标志调用 unshare() 后,后续创建的所有子进程都将在新的命名空间中运行。
  • setns
    • 将进程加入到指定的命名空间
  • chroot
    • 将当前进程的根目录更改为指定的路径,提供文件系统隔离。