P1 = {'nom': 'P1', 'arrivee': 0, 'temps': 6} P2 = {'nom': 'P2', 'arrivee': 1, 'temps': 4} P3 = {'nom': 'P3', 'arrivee': 3, 'temps': 5} P4 = {'nom': 'P4', 'arrivee': 5, 'temps': 3} def creer_file_vide(): return [] def est_vide(file): return len(file) == 0 def enfiler(file, element): file.append(element) def defiler(file): if est_vide(file): raise Exception("La file est vide") return file.pop(0) fp = creer_file_vide() enfiler(fp, P1) enfiler(fp, P2) enfiler(fp, P3) enfiler(fp, P4) global quantum quantum = 2 def execute_un_processus(file_d_attente, t): processus = defiler(file_d_attente) if processus['temps'] > quantum: processus['temps'] = processus['temps'] - quantum enfiler(file_d_attente, processus) return t + quantum else: return t + processus['temps'] def execute_tous_processus(file_d_attente): t = 0 while not est_vide(file_d_attente): t = execute_un_processus(file_d_attente, t) return t