虚拟化下的进程演变(三)—繁衍
2010-02-10 23:45
155 查看
在Unix/Linux的世界,除init进程外,没有进程是从石头缝蹦出来的,也就是Init进程承担着祖师爷的角色。一个进程PID命名空间的诞生也遵循繁衍的规则,只是这种繁衍不是克隆一个进程,而是克隆一个小国,因此,clone()这个系统调用依然粉墨登场。旧瓶装新酒,内核补丁提交者在<inux/sched.h>中增加一个新的标志
#define
CLONE_NEWPID 0x20000000 /* New pid namespace */
看似这么简单的一个定义,让clone()就可以克隆PID命名空间。具体用法参见 Linux PID namespace一文。
在新的命名空间中, init进程与生俱来,为1号进程,由他繁衍其他后代,其PID依次为2,3…。如果有孤儿进程,init依然会作为养父将孤儿收养,但与根红苗正的ini进程不同,命名空间中的init可以死亡,果真如此,整个命名空间也就没有存在的意义,自行消亡。
别以为新的命名空间与父亲有同等的地位。一旦一个新的PID命名空间诞生,父空间中的所有进程可以与孩子空间中的进程打交道,但反之则不然,也就是子空间根本就看不见父空间。这还意味着,此时,每个进程(比如init)不止一个PID-在每个空间中都有自己的PID。
#define
CLONE_NEWPID 0x20000000 /* New pid namespace */
看似这么简单的一个定义,让clone()就可以克隆PID命名空间。具体用法参见 Linux PID namespace一文。
在新的命名空间中, init进程与生俱来,为1号进程,由他繁衍其他后代,其PID依次为2,3…。如果有孤儿进程,init依然会作为养父将孤儿收养,但与根红苗正的ini进程不同,命名空间中的init可以死亡,果真如此,整个命名空间也就没有存在的意义,自行消亡。
别以为新的命名空间与父亲有同等的地位。一旦一个新的PID命名空间诞生,父空间中的所有进程可以与孩子空间中的进程打交道,但反之则不然,也就是子空间根本就看不见父空间。这还意味着,此时,每个进程(比如init)不止一个PID-在每个空间中都有自己的PID。
相关文章推荐
- 虚拟化下的进程演变(一)-移民问题
- 虚拟化下的进程演变(二)—命名空间
- Sping理解以及IoC/DI入门,是什么、能干什么,分析IoC/DI的思想演变进程
- Linux进程调度策略的发展和演变--Linux进程的管理与调度(十六)
- Xen虚拟化的模式和演变
- 【C#】无损转换Image为Icon 【C#】组件发布:MessageTip,轻快型消息提示窗 【C#】给无窗口的进程发送消息 【手记】WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体 【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方 【C#】DataRowState演变备忘
- mysql 添加索引演变进程
- Linux进程调度策略的发展和演变(转)
- IoC/DI入门,是什么、能干什么,分析IoC/DI的思想演变进程
- Xen虚拟化,VM-Windows2003R2中进程“XenDpriv.exe”常常为 100% CPU
- 英特尔加速虚拟化发展进程 推荐
- 进程是准虚拟化的虚拟机—容器虚拟化的原理
- 【专题一】IBM虚拟化与云计算高峰论坛调查:是什么影响了您虚拟化的的进程――虚拟化“熊猫吃竹子现状”
- 进程是准虚拟化的虚拟机—容器虚拟化的原理
- 【专题一】IBM虚拟化与云计算高峰论坛调查:是什么影响了您虚拟化的的进程——服务器虚拟化造成的混乱
- 虚拟化专题:是什么影响了您虚拟化的的进程
- Linux进程调度策略的发展和演变--Linux进程的管理与调度(十六)
- 【专题一】IBM虚拟化与云计算高峰论坛调查:是什么影响了您虚拟化的的进程――虚拟化的五大忧虑
- Linux进程调度策略的发展和演变--Linux进程的管理与调度(十六)
- 操作系统三个简单的部分(Operating Systems in Three Easy Pieces闲来无聊,翻译的)虚拟化部分-原文编号4进程的概念