Hello,
De plus n'oubliez pas que LXC n'est pas un hyperviseur mais un "conteneur" de VM !
Ce n'est pas un conteneur, c'est un gestionnaire de conteneurs. Techniquement, le principe est d'une simplicité exemplaire : tu définis des identifiants de contexte/conteneur par processus, etc. Par ailleurs, tu peux ajouter des règles/quota sur les ressources limitées par contexte, groupe de contextes, etc. Une bonne image pour le sysadmin débutant est celle des VLAN sur un commut : tout le monde est bien directement sur le switch, les trames ne sont pas analysées par des chips différents, juste tu as des VID qui entrent en jeu et donnent l'illusion de plusieurs commutateurs.
Résultat ? Ca ressemble du point de vue de l'utilisateur à une machine à part : il voit ses processus dans son /proc, il voit son interface réseau, il a une quantité de RAM limitée, même si il exécute au final des processus directement sur la machine.
C'est aussi la raison pour laquelle c'est "moins gourmand en processeur". Comprendre que le seul overhead est la gestion des identifiants de conteneur et des quotas côté kernel. En utilisation intensive, la différence relative diminue sensiblement ; toutefois en idle, la différence d'overhead se fait bien sentir à l'avantage de l'isolation de contexte.
Dans la serie truc de la meme chose que LXC/OpenVZ, il y a jail qui tourne sur FreeBSD... depuis longtemps (et qui a la chance de ne pas etre un nieme patch du noyau).
Sans la version 9.0 avec l'option VIMAGE, chaque jail peut avoir son propre firewall dedie.... et des tables de routages separes par exemple...
M'enfin c'est du FreeBSD donc pas du Linux aussi...
Xavier