SINCRONIZZAZIONE TRA PROCESSI
Correttezza temporale
Deterministico
Timing constraint
i risultai devono essere sempre uguali
i risultati devono essere prodotti entro un certo limite di tempo
errori dipendenti dal tempo:
irriproducibili
indeterminati
latenti
difficili da verificare e testare
causati da:
Interleaving
Overlapping
Condizioni di Bernstein
potano alla mutua esclusione
sezione critica
parte di codice in cui i processo accede per modificare le variabili condivise
errori di sincronizzazione:
starvation
deadlock
un processo
più processi rimangono in attesa di un evento
proprietà non funzionali:
Safety
liveness
il programma segue tutto in modo corretto
il risultato è corretto