Possiamo dividere l'algoritmo in un due parti principali: la parte di verifica dello stato attuale, e la parte di simulazione dell'assegnazione.
La verifica dello stato attuale assicurerà che l'attuale assegnazione di risorse ai processi è un'assegnazione che fa permanere il sistema in uno stato sicuro.
Uno stato è definito sicuro se esiste una sequenza di scheduling di processi formula_18 che assicura la terminazione dell'intero set di processi attualmente in esecuzione.
La parte di simulazione dell'assegnazione verrà eseguita quando un processo formula_11 richiederà delle risorse.