Messaggi



Ogni thread mantiene una propria coda dei messaggi ricevuti, ma non ancora consumati. La coda viene utilizzata per i messaggi che non attende.

Se un thread si mette in attesa di un messaggio gia` presente nella propria coda, il thread viene mantenuto in esecuzione modificando direttamente i registri con il risultato del messaggio.

I thread che sono in attesa di un messaggio, al momento della ricezione, vengono posti in coda pronti con il risultato nei registri R3 e R4.

Il campo waitfrom indica il thread da cui si attende un messaggio. Esso puo` assumere dei valori particolari:
  • ANYSENDER
    indica che il thread e` in attesa di un messaggio qualunque
  • NOBODY
    indica che il thread non e` in attesa di messaggi
  • ANYTRAP
    indica che il thread e` in attesa di essere risvegliato dal proprio gestore delle trap.


  • Struttura Thread con relativa coda dei messaggi



    [LancOS Home] [AMPEOS Index] [Indice codice] [Fasi 1 & 2] [Fase 3]