La Programmation Orientée Objet (POO) est un paradigme qui modélise un système sous forme d'objets interconnectés.
Chaque objet possède des attributs (ses données) et des méthodes (ses comportements).
Elle repose sur 4 piliers : l'encapsulation, l'héritage, le polymorphisme et l'abstraction.
Cela permet de produire un code plus modulaire, réutilisable et plus facile à maintenir.
La gestion des ressources dans un système d'exploitation est un élément fondamental pour garantir l'efficacité et la fiabilité des ordinateurs modernes. Ce cours aborde deux problématiques majeures et complémentaires :
Les interblocages (Deadlocks) : Situations critiques où des processus restent bloqués indéfiniment, chacun attendant une ressource détenue par un autre. Nous analyserons les conditions nécessaires à ce phénomène et les stratégies pour le détecter, l'éviter ou le prévenir (algorithme du Banquier, graphes d'allocation).
La gestion de la mémoire : Organisation et optimisation de l'espace mémoire partagé entre les processus. Nous explorerons les techniques d'allocation contiguë (partitions fixes et dynamiques) et non contiguë (pagination, segmentation, segmentation paginée). Le cours couvre également les concepts avancés de mémoire virtuelle, de défaut de page (page fault) et les algorithmes de remplacement de pages (FIFO, LRU, Optimal, FINUFO).
Public cible
1 ère année Second Cycle.
Visées d'apprentissage :
À l'issue de ce module, vous serez capable de :
Maîtriser les mécanismes des interblocages et les stratégies de traitement.
Analyser un graphe d'allocation des ressources et appliquer l'algorithme du Banquier.
Comprendre et appliquer les techniques de gestion de la mémoire (contiguë, pagination, segmentation).
Calculer des adresses physiques et simuler des algorithmes de remplacement de pages.