|| ||Serge Hallyn <firstname.lastname@example.org>|
|| ||RFC [patch 00/34] PID Virtualization Overview|
|| ||Tue, 17 Jan 2006 08:32:58 -0600|
|| ||Hubertus Franke <email@example.com>,
Cedric Le Goater <firstname.lastname@example.org>,
Dave Hansen <email@example.com>,
Serge E Hallyn <firstname.lastname@example.org>|
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 (email@example.com)
-- Cedric Le Goater (firstname.lastname@example.org)
-- Serge E Hallyn (email@example.com)
-- Dave Hansen (firstname.lastname@example.org)