Devoir maison : Systèmes d’exploitation.
Le but de ce DM est d’évaluer votre compréhension ainsi que votre aptitude à appliquer les
connaissances vues en cours de SE, via les questions et exercices ci-dessous.
L’ensemble des réponses doivent être claires et justifiées. Les codes doivent être expliqués et
bien structurés. Vous avez le droit d’exploiter l’ensemble des ressources auxquelles vous avez
accès, mais pensez à citer vos sources.
Ce DM est noté sur 20 et représente un quart de votre note.
1- Questions d’évaluation : (10 pts)
• Définissez un système d’exploitation et donnez un schéma qui représente et explique
son architecture.
• Expliquez le processus de création d'un nouveau processus dans un système
d'exploitation.
• Citez et décrivez les différentes étapes du cycle de vie d'un processus.
• Qu’est-ce qu’un processus léger (ou thread) et en quoi diffère-t-il d’un processus
ordinaire ?
• En quoi les threads améliorent-ils l’efficacité d’un système d’exploitation ?
• Comment les threads partagent-ils les ressources d'un processus ?
• Expliquez le concept d'ordonnancement des processus et son importance.
• Comparez les algorithmes d'ordonnancement de type FIFO et de type Round Robin.
• Quels sont les critères pour ajuster les priorités des processus en cours d’exécution ?
• Quels sont les différents mécanismes de communication inter-processus ? Comparez
leurs avantages et leurs inconvénients.
• Expliquez comment les signaux peuvent être utilisés pour la communication entre
processus.
• Définissez un système temps réel. Quelles sont les caractéristiques clés qui le
différencient des systèmes classiques ?
• Donnez un exemple d'application où un système temps réel est crucial, et expliquez
pourquoi.
• Quelles sont les principales fonctions d'un système d'exploitation en matière de
gestion des fichiers ?
• Décrivez la différence entre un fichier et un répertoire.
• Comment les répertoires contribuent-ils à l'organisation et à la gestion des fichiers
dans un système d'exploitation ? Discutez des mécanismes de sécurité courants
utilisés pour protéger l'accès aux fichiers.
• Décrivez les différents types de mémoire dans un système informatique.
• Quelle est la différence entre la mémoire virtuelle et la mémoire physique ?
• Définissez la segmentation et la pagination en matière de gestion de la mémoire.
• Quels sont les avantages et les inconvénients de chaque technique ?
2- Exercice 1 : (2,5 pts)
On considère 4 processus A, B, C, D dont le comportement est défini comme suit :
Processus Comportement
Calcul pendant 40ms.
Lecture pendant 50ms.
A Calcul pendant 30ms.
Lecture disque pendant 40ms.
Calcul pendant 20ms.
Calcul pendant 30ms.
Lecture disque pendant 80ms.
B Calcul pendant 20ms.
Lecture disque pendant 20ms.
Calcul pendant 10ms.
Calcul pendant 40ms.
C Lecture pendant 40 ms.
Calcul pendant 10ms.
D Calcul pendant 80ms.
Sachant que les 4 processus sont lancés au même temps dans un système de
multiprogrammation et que l’algorithme d’ordonnancement est de type premier arrivé
premier servi, donnez :
• Le diagramme de Gnatt.
• Le temps de séjour de chaque processus.
• Le temps moyen de séjour des processus.
• Le temps d’attente de chaque processus.
• Le temps moyen d’attente des processus.
3- Exercice 2 : (3,5 pts)
Ecrivez un programme qui crée deux processus enfants. L'un d'eux génère des
nombres aléatoires et les envoie à l'autre processus, qui calcule la somme de ces
nombres. Le processus parent affiche la somme totale. Les processus devraient utiliser
une communication entre eux pour transmettre les données.
4- Exercice 3 : (4 pts)
Imaginez un programme qui simule un compte bancaire partagé entre plusieurs
threads représentant des transactions. Chaque thread effectue un dépôt ou un retrait
sur le compte. Le compte ne peut pas devenir négatif, et les transactions doivent être
synchronisées pour éviter les conditions de concurrence. Pensez à utiliser des verrous
pour synchroniser les accès au compte.