ProgrammeL2 · S3Programmation et systèmes
L2S3Programmation et systèmes

Systèmes d’exploitation et Linux

Comprendre processus, mémoire, système de fichiers, permissions et outils de ligne de commande Linux.

#Linux#processus#mémoire#shell#permissions
5chapitres
5exercices corrigés
8questions de quiz
0/5chapitres maîtrisés
À LA FIN DE CE COURS

Objectifs d’apprentissage

  • Décrire le cycle de vie d’un processus, ses états, son PID et le rôle de l’ordonnanceur.
  • Expliquer la mémoire virtuelle, la traduction pages-cadres et les principaux indicateurs d’observation.
  • Lire et modifier des permissions Linux en appliquant le principe du moindre privilège.
  • Composer des commandes avec le shell, les flux standard, les tubes, les expansions et les codes de retour.
  • Écrire, tester et documenter un script de sauvegarde robuste pour un répertoire Unix.
AVANT DE COMMENCER

Prérequis utiles

  • Savoir manipuler des fichiers et répertoires depuis un terminal.
  • Maîtriser les variables, conditions et boucles élémentaires d’un langage de programmation.
  • Connaître les bases de représentation binaire et de raisonnement algorithmique.
CHAPITRE 01 L2 · S3

Processus et ordonnanceur

50 min de lectureLeçon originale de révision

Définitions et idée centrale

Un processus est un programme en cours d’exécution, avec un espace mémoire, des registres, une pile et des descripteurs de fichiers. Son identifiant (PID) permet au noyau de le distinguer. Un thread partage généralement l’espace mémoire du processus qui le contient, alors que deux processus sont isolés par défaut. L’ordonnanceur choisit une tâche prête pour utiliser le processeur : la transition simplifiée est Ppret→Pelu→PbloqueP_{pret}\rightarrow P_{elu}\rightarrow P_{bloque}.

Méthode et limites

On observe les états avec ps ou top, puis on relie parent et enfant avec pstree. Une attente d’entrée/sortie ne signifie pas que le programme est terminé. Confondre PID et code de retour est une erreur fréquente : wait récupère ce dernier, tandis que kill cible le PID.

Exemple guidé

Lancer sleep 2 &, relever son PID avec $!, puis wait $!. Le shell crée l’enfant, l’enfant dort en état bloqué, puis se termine; wait rend la main après son code de sortie.

Point de contrôle : expliquer pourquoi plusieurs processus prêts ne s’exécutent pas simultanément sur un seul cœur.

Points à retenir
  • Un processus possède un contexte et un PID.
  • L’ordonnanceur alterne les tâches prêtes et les attentes d’entrée/sortie.
  • PID, état et code de retour sont trois informations différentes.
Synthèse du chapitre

Un processus est un programme en cours d’exécution, avec un espace mémoire, des registres, une pile et des descripteurs de fichiers. Son identifiant (PID) permet au noyau de le distinguer.