xref: /DragonOS/docs/kernel/container/namespaces/mnt_namespace.md (revision 7b0ef10895108a0de5ff5ef3d2f93f40cf2e33a5)
1# 挂载名称空间
2
3## 底层架构
4
5pcb -> nsproxy -> mnt_namespace
6
7每一个挂载文件系统都有自立独立的挂载点,表现在数据结构上是一个挂载的红黑树,每一个名称空间中挂载是独立的,所以文件系统的挂载和卸载不会影响别的
8
9## 系统调用接口
10
11
12- clone
13    - CLONE_NEWNS用于创建一个新的 MNT 命名空间。提供独立的文件系统挂载点
14- unshare
15    - 使用 CLONE_NEWPID 标志调用 unshare() 后,后续创建的所有子进程都将在新的命名空间中运行。
16- setns
17    - 将进程加入到指定的名称空间
18- chroot
19    - 将当前进程的根目录更改为指定的路径,提供文件系统隔离。