Contenu
Notions générales sur les systèmes d’exploitation et leur développement. Gestion de processus : états des processus et transitions d’états, files d’attente. Fils d'exécution (threads) et leur gestion. Processus parallèles et communication entre processus. Problèmes de synchronisation et techniques de synchronisation : sémaphores, moniteurs, méthodes synchronisées. Ordonnancement de l'unité centrale : différents algorithmes et leur évaluation. Interblocage de processus. Gestion de la mémoire centrale et de la mémoire virtuelle, différents algorithmes et leur évaluation. Fragmentation, pagination, segmentation et permutation. Systèmes de fichiers et leur implémentation, mémoire de masse. Sécurité : méthodes de protection des données et de contrôle d’accès. Application aux systèmes d'exploitation Unix, Linux et Windows, travaux pratiques sur la programmation concurrente. Ce cours comporte des séances obligatoires de travaux dirigés (TD).