Aller au contenu principal

Systèmes d'exploitation

Processus, mémoire virtuelle, threads, verrous et interblocages : ce que le système ajoute à la machine, et ce qui casse quand des traitements se croisent.

Un ordinateur mène des dizaines de programmes sur quelques cœurs, et chacun se croit seul en mémoire. Les trois premiers chapitres décrivent ce que le système met en place pour le permettre : les processus et leur ordonnancement, la mémoire virtuelle, les threads. Les six suivants redescendent au ras de la machine pour montrer où cela casse : une ligne de code est plusieurs instructions, rien ne les oblige à rester collées, et deux traitements simultanés donnent alors un résultat faux. La condition de course, le verrou, l'interblocage et la programmation asynchrone s'y déroulent figure par figure, un entrelacement après l'autre. Aucun langage système n'est requis, et les six derniers chapitres lisent du Python sans demander d'en écrire. Le parcours Architecture des ordinateurs donne la machine sur laquelle tout cela s'exécute, et se lit utilement avant.

  1. 1.Processus et ordonnancement
  2. 2.Mémoire virtuelle et pagination
  3. 3.Threads et synchronisation
  4. 4.Partager un processeur : le multitâche
  5. 5.Mémoire isolée ou partagée
  6. 6.La condition de course
  7. 7.Le verrou et l'exclusion mutuelle
  8. 8.L'interblocage et l'attente circulaire
  9. 9.Programmation asynchrone