Curriculum LDD Informatique-Mathématiques

Cours : Architecture et systèmes d'exploitation

Objectifs : Le cours se propose d'introduire les principes de l'architecture matérielle classique (dite de von Neumann) ainsi que ses évolutions récentes (hierarchies de mémoire, pipeline) et la programmation en assembleur. Dans la partie système d'exploitation, l'architecture à noyau est étudiée pour sa gestion des processus, de la mémoire, des fichiers et des entrées/sorties, en inclus sur réseau. Les compétences acquises seront exercées par deux projets, la conception d'un micro-processeur et la programmation d'un shell.

Plan détaillé :

  1. Historique
  2. Circuits: Addition, multiplication, multiplexeur
  3. Architecture d'un ordinateur simple
  4. Représentation de données (entiers, virgule flottante, texte)
  5. Noyau, processus, signaux
  6. Exécutables, format ELF
  7. Entrée/sortie, système de fichier
  8. Gestion mémoire, cache, démonstration Spectre
  9. Threads, sémaphores
  10. Algorithmes distribués (exclusion mutuelle, élection de leader, ...)
  11. Algorithme de Peterson
  12. Réseau, programmation socket
  13. Virtualisation

Références :

  • John P. Hayes. Computer architecture and organization. McGraw Hill, 1998
  • Andrew S. Tanenbaum. Systèmes d’exploitation. 3e éd. Pearson, 2008