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é :
- Historique
- Circuits: Addition, multiplication, multiplexeur
- Architecture d'un ordinateur simple
- Représentation de données (entiers, virgule flottante, texte)
- Noyau, processus, signaux
- Exécutables, format ELF
- Entrée/sortie, système de fichier
- Gestion mémoire, cache, démonstration Spectre
- Threads, sémaphores
- Algorithmes distribués (exclusion mutuelle, élection de leader, ...)
- Algorithme de Peterson
- Réseau, programmation socket
- 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