Per evitare l’attesa circolare è possibile imporre un ordine totale a tutte le classi di risorse: Hierarchical Resource Usage (HRU) Tale tecnica impone una relazione di ordinamento totale tra i vari tipi di risorse, associando a ciascuno di essi un numero intero Forza ogni processo a richiedere le risorse con un ordine crescente di enumerazione. Sia F la funzione che impone un ordine univoco tra tutte le risorse del sistema Ri. Un processo P può richiedere una istanza della risorsa Rk solo se F(Rk) > F(Ri) dove Ri è il tipo di risorsa richiesto prima di Rk. In caso contrario il processo deve rilasciare tutte le risorse di tipo Ri per cui F(Rk) <= F(Ri) Dimostrazone per assurdo ------------------------ Supponiamo che vi sia un insieme di processi {P0, P1, ..., Pn} in attesa circolare. Allora F(Rk) < F(Rk+1), per ogni k = 0 .. n – 1 cioe' F(R0) < F(R1) < ...< F(Rn) < F(R0) quindi segue F(R0) < F(R0) che e' assurdo.