Ordonnancement
#Ordonnancement
Stratégies (FCFS, SJF, RR, priorité), métriques (temps de réponse, attente), et équité.
#Simulation simple (Round Robin)
#Exercice : Algorithme Shortest Remaining Time First (SRTF)
Implémentez l'algorithme SRTF (préemptif) pour l'ordonnancement de processus.
#Instructions
- SRTF est la version préemptive de SJF : le processus avec le temps restant le plus court est toujours exécuté.
- À chaque unité de temps, vérifiez si un nouveau processus arrive.
- Si un nouveau processus a un temps restant plus court que le processus courant, préemptez le processus courant.
- Suivez les métriques : temps d'attente, temps de réponse, temps de rotation.
#Exemple de code
pythonpython
1def srtf_scheduling(processes):2 # processes: liste de tuples (nom, arrival_time, burst_time)3 n = len(processes)4 # Trier par temps d'arrivée5 processes.sort(key=lambda x: x[1])6 7 # Initialisation8 remaining_time = [p[2] for p in processes]9 completion_time = [0] * n10 waiting_time = [0] * n11 turnaround_time = [0] * n12 13 time = 014 completed = 0
Métriques
Temps de réponse, attente, turnaround; trade-offs entre équité et throughput.
#Quiz
Quel algo favorise les petits jobs et peut pénaliser les longs ?