虚拟化下的进程演变(二)—命名空间
来源:互联网 发布:以下哪些淘宝禁售商品 编辑:程序博客网 时间:2024/06/03 22:56
虚拟化下的进程演变(二)—命名空间
“虚拟化下的进程演变(一)—移民问题”一文中,所述的身份号的唯一性是相对概念,也就是说需指明其所处范畴。这就引出计算机科学中的一个术语-命名空间(namespace)。
命名空间-表示标识符(identifier)的上下文(context)。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义互不相干(wikipedia的定义)。
在Linux 2.6.24之后的内核中,其显著特点之一就是引入PID 命名空间(PID namespace)。命名空间由来已久,在C++中随处可见。把此概念引入内核,似乎是新瓶装旧酒。但从历史的角度去看,每一次新概念或者潮流的出现,都是在旧有基础上的改进或者演绎。
PID 命名空间的引入是因为虚拟化技术的出现。openVZ虚拟化开源项目组在IBM的协助下,对进程的PID大动干戈,把原先只是一个数字表示的PID演化为一个结构体,并由此带来一些列的变化。
有了PID命名空间,每台独立的虚拟机像有自己的小王国,可以独自给自己机器上的进程分配PID,也就是尽管A虚拟机上有一个进程的PID是123,但B虚拟机上照样可以有一个PID为123的进程,但因为所处空间不同而具有了唯一性。或者说,当A虚拟机上的进程P迁移到B虚拟机上时,其PID也应当保持不变,但是如果没有不同的命名空间,移民就可能是失败的,因为目标节点上可能存在两个相同的PID,这会引起命名冲突。
理性的分析是浅显易懂的,但是落实到具体实现远非表面这么简单。首先,从用户的角度如何创建一个PID命名空间,其次,要支持虚拟化的PID命名空间,内核态代码应当进行怎样的调整?
- 虚拟化下的进程演变(二)—命名空间
- 虚拟化下的进程演变(三)—繁衍
- 虚拟化下的进程演变(一)-移民问题
- Linux下的进程1——进程概念,进程切换,上下文切换,虚拟地址空间
- 进程的虚拟地址空间(转)
- Linux的命名空间详解--Linux进程的管理与调度(二)
- Linux进程的管理与调度(二)-- Linux的命名空间详解
- c++标准库—命名空间std和头文件的演变 (各个头文件作用解析解释,惊喜!!!)
- 网络虚拟化的基础--netns(网络命名空间)
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 综合布线常用公式
- 互联网将现完美风暴式灾难?
- 浏览开源网站见到一个现象
- ASP脚本语言的设置与注释的用法
- Radio,Group,Select,Unselect
- 虚拟化下的进程演变(二)—命名空间
- 作业调度小软件
- ASP语言基础之常量的定义方法
- ASP条件语句之IF语句
- ASP条件语句之select case语句
- ASP循环语句的概念与类型
- 收藏夹
- Set Title for JFace Custom Dialog
- ASP循环语句之do...loop语句