Aller au contenu principal

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

  1. SRTF est la version préemptive de SJF : le processus avec le temps restant le plus court est toujours exécuté.
  2. À chaque unité de temps, vérifiez si un nouveau processus arrive.
  3. Si un nouveau processus a un temps restant plus court que le processus courant, préemptez le processus courant.
  4. 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 ?