Lorsque un processus arrive dans la file d'attente, on exécute celui qui se terminera le
plus vite (en remettant éventuellement en attente celui qui était entrain de s'exécuter)
Exemple :
Donner le diagramme de Gantt et le tme pour le tableau ci-dessus.
2.a Le tourniquet
Chaque processus reçoit un temps de calcul (quantum) dans l'ordre des demandes. Tout
nouveau processus demandeur entre en fin de liste d'attente. Tout processus qui a épuisé
son quantum se retrouve aussi en fin de liste.
Donner le diagramme de Gantt et le tme en utilisant l'algorithme du tourniquet
(quantum=2) avec l'ex. 2a.
2.b Tourniquet + priorités
Chaque processus reçoit un niveau de priorité. On construit autant de tourniquets que de
niveaux de difficulté.
Une manière de gérer ces priorités consiste, par exemple, à allouer à chaque tourniquet
un pourcentage de temps CPU plus ou moins grand. Avec 4 niveaux (de 0, le plus
prioritaire, à 3) on peut répartir le temps CPU ainsi :
tourniquet 0 : 40 % du temps CPU
tourniquet 1 : 30 % du temps CPU
tourniquet 2 : 20 % du temps CPU
tourniquet 3 : 10 % du temps CPU
Cette répartition se retrouve dans la table d'allocation CPU suivante :