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