L'algorithme priorité avec round robin

Résolu/Fermé
chaimae97 - Modifié le 23 mai 2018 à 03:24
chaimae97 Messages postés 39 Date d'inscription jeudi 16 novembre 2017 Statut Membre Dernière intervention 13 mars 2019 - 23 mai 2018 à 15:31
Bonjour,
svp pouvez-vous me dire quel est le principe de l'algorithme priorité avec round robin ??
j'ai une autre question svp :
dans l'algorithme avec priorité, si j'ai deux tâches avec la même priorité sans que l'énoncé précise qui a venu le premier, donc que je dois appeler le premier ?
Mercii beaucoup pour votre aide !

1 réponse

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
23 mai 2018 à 12:03
Bonjour,

Quand les priorités sont identiques, on peut gérer considérer deux arbitrages possibles :
  • le premier à démarrer garde le CPU, un autre thread de même priorité attend indéfiniment (il prendra la main quand le premier se mettra en attente d'une ressource quelconque.)
  • le système ne laisse tourner le premier qu'un temps maximum (appelé quantum de temps), puis un autre jusqu'à ce que lui aussi ait consommé ce temps, puis les autre de même priorité. C'est ceci qu'on appelle le round-robin, donc le round-robin n'a habituellement un sens que pour résoudre le cas de priorité identique.


Pour ta deuxième question, si les tâches ont la même priorité une des 2 va démarrer avant. On ne devrait rien faire de spécial, suivant si on est en round-robin ou pas le système va fonctionner différemment mais fera ce qu'il faut.
Le mode "tout pour le premier" est en réalité préféré dans les systèmes temps réel durs (car utilise mieux le CPU disponible, vois-tu pourquoi?) alors que le mode "tourniquet" est systématiquement préféré pour les systèmes multi-tâche (car donne l'impression d'être plus réactif.)
0
chaimae97 Messages postés 39 Date d'inscription jeudi 16 novembre 2017 Statut Membre Dernière intervention 13 mars 2019
23 mai 2018 à 15:31
Merciii beaucoup pour vos réponses et pour votre aide
0