| From: |
| Serge Hallyn <serue@us.ibm.com> |
| To: |
| linux-kernel@vger.kernel.org |
| Subject: |
| RFC [patch 00/34] PID Virtualization Overview |
| Date: |
| Tue, 17 Jan 2006 08:32:58 -0600 |
| Cc: |
| Hubertus Franke <frankeh@watson.ibm.com>,
Cedric Le Goater <clg@fr.ibm.com>,
Dave Hansen <haveblue@us.ibm.com>,
Serge E Hallyn <serue@us.ibm.com> |
| Archive-link: |
| Article,
Thread
|
--
PID Virtualization is based on the concept of a container.
Our ultimate goal is to checkpoint/restart containers. The
containers should also be useful as a basis for the pid
virtualization required, for instance, by vserver.
The mechanism to start a container
is to 'echo "container_name" > /proc/container' which creates a new
container and associates the calling process with it. All subsequently
forked tasks then belong to that container.
There is a separate pid space associated with each container.
Only processes/task belonging to the same container "see" each other.
The exception is an implied default system container that has
a global view.
The following patches accomplish 3 things:
1) identify the locations at the user/kernel boundary where pids and
related ids ( pgrp, sessionids, .. ) need to be (de-)virtualized and
call appropriate (de-)virtualization functions.
2) provide the virtualization implementation in these functions.
3) implement a container object and a simple /proc interface to create one
4) provide a per container /proc/fs
-- Hubertus Franke (frankeh@watson.ibm.com)
-- Cedric Le Goater (clg@fr.ibm.com)
-- Serge E Hallyn (serue@us.ibm.com)
-- Dave Hansen (haveblue@us.ibm.com)