Aller au contenu principal

Systèmes d'exploitation · L3 · Section 5/6

Virtualisation & containers

Progression

Points d’expérience : XPSérie de jours consécutifs : · —Progression du module : — / —compris

#Virtualisation & containers

#Concepts

  • Hyperviseur: exécute des VMs avec leur OS invité (CPU/mémoire/IO virtualisés). Type‑1 (bare‑metal) vs Type‑2 (sur OS hôte). Paravirtualisation/virtio pour réduire l’overhead.
  • Containers: partagent le noyau hôte; isolation par namespaces (pid, net, mnt, ipc, uts, user) et limitation via cgroups (CPU/mémoire/IO/pids).
  • Images: snapshot de filesystem en couches (OCI); runtime standardisés (runc/containerd) pour portabilité.

#Animation: création d’un container (concept)

Namespaces
Isoler pid/net/mount pour une vue mini‑système
Cgroups
Limiter CPU/mémoire/IO ; protéger l’hôte
RootFS
Monter l’image (overlayfs) : binaires/libs/app
Entrypoint
Processus 1 ; gérer signaux/arrêt propre

#Diagramme: I/O VM vs container

Processus
Container/NS
Hôte
Hyperviseur
VM
Disque
1. read()
2. Syscall (namespaces/cgroups)
3. I/O (page cache)
4. read() (guest)
5. virtio (paravirt) / émulation
6. I/O via host driver

#Quiz

Quelle différence majeure entre VM et container ?
Quelle différence majeure entre VM et container ?