New spelling fixes
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
nemunaire 2026-04-10 16:19:05 +07:00
commit 25aef1af17
54 changed files with 123 additions and 122 deletions

View file

@ -31,7 +31,7 @@ combinaison de chaque couche.
### Historique
Les premières implémentations de ce type de systèmes de fichiers est apparu
Les premières implémentations de ce type de systèmes de fichiers sont apparues
avec les LiveCD : on disposait d'une distribution Linux complètement
opérationnelle sur un support en lecture seule, mais on pouvait dédier un
espace de stockage sur son disque dur (ou en RAM, au travers d'un `tmpfs`) pour
@ -42,7 +42,7 @@ Historiquement, le noyau Linux devait être *patché* pour supporter ce type de
système de fichiers (que ce soit `unionfs` ou `aufs`, les deux principaux
*patch* apportant cette fonctionnalité). Les systèmes BSD disposent d'une
implémentation depuis au moins 1995 et c'est SunOS qui fut le premier OS à
développer cette technique dès 1986 (pour un système de fichier appelé
développer cette technique dès 1986 (pour un système de fichiers appelé
*Translucent File Service*). Pour Linux, il aura fallu attendre 2014 pour voir
l'arrivée du système de fichier OverlayFS dans un noyau sans *patch*.

View file

@ -79,7 +79,7 @@ processus se fait en fonction des *flags* qui sont passés. On retrouve donc :
Le nom du *flag* `CLONE_NEWNS` est historique et assez peu explicite
contrairement aux autres : il désigne en fait l'espace de nom `mount`.
Au départ, les *namespace*s ont étés pensés pour former un tout : une couche
Au départ, les *namespace*s ont été pensés pour former un tout : une couche
d'isolation complète pour les processus. Mais lors des développements suivants,
il s'est avéré pratique de pouvoir choisir finement de quels aspects on
souhaitait se dissocier.
@ -108,7 +108,7 @@ semblable à :
#define STACKSIZE (1024 * 1024)
static char child_stack[STACKSIZE];
int clone_flags = CLONE_CGROUP | CLONE_NEWNET | SIGCHLD;
int clone_flags = CLONE_NEWCGROUP | CLONE_NEWNET | SIGCHLD;
pid_t pid = clone(do_execvp, // First function executed by child
child_stack + STACKSIZE, // Assume stack grows downward
@ -155,7 +155,7 @@ extensions GNU :
\
Lorsque l'on crée un nouveau processus, on ajoute l'option `SIGCHLD` afin
d'être notifié par signal lorsque notre processus fil a terminé son
d'être notifié par signal lorsque notre processus fils a terminé son
exécution. Cela permet d'être réveillé de notre `wait(2)`.
:::::

View file

@ -89,7 +89,7 @@ processus est rendu orphelin dans ce *namespace*, il devient un fils de ce
processus, et non un fils de l'`init` de l'arbre global.
#### L'espace de nom `network` {.unnumbered}
#### L'espace de noms `network` {.unnumbered}
Depuis Linux 2.6.29.
@ -149,9 +149,9 @@ Lorsque l'on souhaite mesurer un écoulement de temps, la méthode naïve consis
soustraction avec l'heure de fin. Cette technique fonctionne bien, à partir du
moment où l'on est sûr que l'horloge ne remontera pas dans le temps, parce
qu'elle se synchronise ou que le changement d'heure été/hiver
intervient, ... Pour palier ces situations imprévisibles, le noyau expose une
intervient, ... Pour pallier ces situations imprévisibles, le noyau expose une
horloge dite monotone (`CLOCK_MONOTONIC`) : cette horloge démarre à un entier
abstrait et s'incrèmente chaque seconde qui passe, sans jamais sauter de
abstrait et s'incrémente chaque seconde qui passe, sans jamais sauter de
secondes, ni revenir en arrière. C'est une horloge fiable pour calculer des
intervalles de temps.

View file

@ -8,5 +8,5 @@ abstract: |
Le but de cette seconde partie sur les mécanismes internes du noyau
va nous permettre d'utiliser les commandes et les appels système
relatifs aux espaces de noms du noyau Linux ainsi que d'appréhender
la complexité des sytèmes de fichiers.
la complexité des systèmes de fichiers.
...

View file

@ -40,7 +40,7 @@ Cette commande nous dévoile déjà de nombreuses choses :
contenerisé » (dans un *namespace*). Le processus initial de la machine se
retrouve donc dans des espaces de nom, tout comme les processus d'un conteneur.
- On aperçoit un genre de hiérarchie dans certain cas.
- On aperçoit un genre de hiérarchie dans certains cas.
- La première colonne nous renseigne sur l'identifiant du *namespace*.

View file

@ -168,7 +168,7 @@ esclave ne propagera pas ses nouveaux points de montage à son *maître*.
<div lang="en-US">
```bash
# Suite de l'exemple précédent
cd /mnt/test-slave
mkdir /mnt/test-slave
# Duplication de l'accroche, sans s'occuper des éventuels sous-accroches
mount --bind /mnt/test-shared /mnt/test-slave

View file

@ -30,7 +30,7 @@ l'autre.
:::::
Afin d'amener du réseau à notre nouvel espace de nom, il va falloir lui
attribuer des interface. En fait, nous allons pouvoir déplacer nos interfaces
attribuer des interfaces. En fait, nous allons pouvoir déplacer nos interfaces
réseaux, dans le *namespace* vers lequel elle doit être accessible. Une
interface donnée ne peut se trouver que dans un seul *namespace* à la fois.
@ -88,7 +88,7 @@ foo virli
</div>
Les fichiers utilisés par `ip netns` ne sont donc rien de plus que des
*bind-mount*. Ce qui explique qu'ils soient persistant même sans processus
*bind-mount*. Ce qui explique qu'ils soient persistants même sans processus
s'exécutant à l'intérieur.
:::::

View file

@ -98,7 +98,7 @@ donc été alloué à un processus d'initialisation de `bash`, qui s'est termin
depuis.\
Le comportement du noyau, lorsque le PID 1 se termine, est de lancer un *kernel
panic* (car c'est un processus indispensable, notamment de part son rôle de
panic* (car c'est un processus indispensable, notamment de par son rôle de
parent pour tous les processus orphelin). Au sein d'un *namespace* `PID` qui
n'est pas le *namespace* racine, le noyau appelle la fonction
`disable_pid_allocation` qui retire le *flag* `PIDNS_HASH_ADDING` de l'espace

View file

@ -12,7 +12,7 @@ Vous allez continuer aujourd'hui le projet qui s'étendra depuis le TP précéde
et qui consistera à réaliser la partie d'isolation de la moulinette des ACUs !
Cette semaine, il faudra faire en sorte de restreindre un groupe de processus
pour qu'il s'exécute indépendemment de votre système.
pour qu'il s'exécute indépendamment de votre système.
Il n'y a pas de restriction sur le langage utilisé, vous pouvez tout aussi bien
utiliser du C, du C++, du Python, du shell, etc.

View file

@ -62,4 +62,4 @@ sur `rendu4`, ... ce qui vous permet d'avoir une arborescence
correspondant à ce qui est demandé, sans pour autant perdre votre
travail (ou le rendre plus difficile d'accès).
::::
:::::

View file

@ -38,7 +38,7 @@ main(int argc, char *argv[])
Ce programme prend au minimum deux arguments :
- le chemin d'un fichier d'espace de nom que l'on souhaite rejoindre (le chemin
vers le lien symbolique donc) ;
- le programme (et ses arguments) que l'on souhaite souhaite exécuter une fois
- le programme (et ses arguments) que l'on souhaite exécuter une fois
que l'on a rejoint l'espace de noms ciblé.
Dans un premier temps, on ouvre le fichier passé en paramètre afin d'obtenir un

View file

@ -14,6 +14,6 @@ abstract: |
Les exercices de ce cours sont à rendre au plus tard le mardi 15
novembre 2022 à 23 h 42. Consultez les sections matérialisées par un
bandeau jaunes et un engrenage pour plus d'informations sur les
bandeau jaune et un engrenage pour plus d'informations sur les
éléments à rendre.
...