0% ont trouvé ce document utile (0 vote)
26 vues3 pages

Correction TD1 Processus 2025

Le document traite des concepts fondamentaux des processus en informatique, notamment les interruptions, l'exécution sur plusieurs processeurs, et différents algorithmes d'ordonnancement tels que Round-Robin et par priorités. Il aborde également la gestion des ressources partagées, l'utilisation de fork() pour créer des processus, et l'importance de wait() pour éviter les processus zombies. Chaque section inclut des chronogrammes et des commentaires sur les performances et les implications des méthodes discutées.

Transféré par

Yahya El Gueddari
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues3 pages

Correction TD1 Processus 2025

Le document traite des concepts fondamentaux des processus en informatique, notamment les interruptions, l'exécution sur plusieurs processeurs, et différents algorithmes d'ordonnancement tels que Round-Robin et par priorités. Il aborde également la gestion des ressources partagées, l'utilisation de fork() pour créer des processus, et l'importance de wait() pour éviter les processus zombies. Chaque section inclut des chronogrammes et des commentaires sur les performances et les implications des méthodes discutées.

Transféré par

Yahya El Gueddari
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Correction detaillee - TD n°1 : Processus

1. Interruptions et multiprogrammation
Les interruptions permettent au systeme d'exploitation de recuperer le controle du processeur,

meme lorsqu'un processus est en cours d'execution. Cela est fondamental pour la

multiprogrammation, car le systeme

peut ainsi suspendre temporairement un processus (par exemple lors d'une E/S) et en executer un

autre.

Elles facilitent l'alternance entre plusieurs processus et assurent une meilleure utilisation du

processeur.

2. Execution sur differents processeurs


Oui, un processus peut alterner entre differents processeurs sur un systeme multiprocesseur.

Cette capacite repose sur le mecanisme de commutation de contexte, qui sauvegarde/restaure l'etat

d'un processus.

Toutefois, cela peut engendrer des frais en performance (notamment a cause du cache).

3. Ordonnancement Round-Robin
Processus : P1(0,4), P2(1,2), P3(3,4), P4(5,2), Quantum = 2.

Le Round-Robin distribue equitablement le temps entre processus.

Chronogramme :

02: P1 | 24: P2 | 45: P1 | 57: P3 | 78: P1 | 89: P4 | 910: P1 | 1011: P3 | 1112: P4 | 1213: P3

TR (temps de reponse) = fin - arrivee :

P1: 10, P2: 3, P3: 10, P4: 7 -> Moyenne: 7.5

Commentaire : Ce mode est juste mais penalise les longs processus en termes de reponse.

4. Ordonnancement par priorites avec preemption


Priorites (plus petit = plus prioritaire) : P1:4, P2:1, P3:3, P4:2
Chronogramme : 01: P1 | 13: P2 | 35: P4 | 59: P3 | 912: P1

TR : P1:12, P2:2, P3:6, P4:0 -> Moyenne: 5

Commentaire : Favorise les courts processus prioritaires. P1 est fortement retarde.

5. Acces a une ressource partagee


Un processus en attente d'une ressource partagee est bloque (etat de 'wait'). Lorsqu'il recoit la

ressource (via signal du semaphore), il reprend son execution.

Cela garantit l'exclusion mutuelle et evite les conflits d'acces concurrent.

6. Ordonnancement avec exclusion mutuelle


P3 et P4 entrent en section critique apres 1 unite de temps. Le systeme gere leur acces via

semaphores.

Chronogramme : 01: P2 | 12: P4 | 24: P4 | 45: P3 | 58: P3 | 812: P1

TR : P1:12, P2:1, P3:5, P4:3 -> Moyenne: 5.25

Commentaire : Les sections critiques peuvent retarder d'autres processus, mais l'acces est controle.

7. Execution de fork()
Code : 3 appels a fork. Cela produit 8 processus au total.

Nombre de messages affiches : fork 1 -> 4 fois ; fork 2 -> 6 fois.

L'ordre depend de la planification du systeme.

Commentaire : L'appel fork() duplique le processus courant. Chaque fork() double le nombre de

processus actifs.

8. Exercice wait()
Le pere cree un fils, puis attend sa fin via wait(). Le fils dort 4s puis termine avec exit(2).

Si le fils termine avant que le pere appelle wait(), il devient un processus zombie (en memoire)

jusqu'a ce que le pere le recupere.

Commentaire : L'usage de wait() evite les zombies. Toujours synchroniser les processus crees.

Vous aimerez peut-être aussi