18.08.2013 Views

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A.4 Creazione dei task<br />

La creazione dei task in HARTIK avviene mediante la primitiva<br />

task_create(). Questa accetta una serie di parametri che identificano il tipo di<br />

processo e le sue caratteristiche. La sintassi completa della funzione è<br />

PID task_create(name, task_ptr, criticity, periodicity, period,<br />

task_model);<br />

il significato dei singoli parametri è il seguente<br />

• name è una stringa di caratteri contenete il nome del task, ed è usato un fase<br />

di debugging o nella visualizzazione di messaggi d’errore;<br />

• task_ptr è un puntatore alla funzione che contiene il codice del processo;<br />

• criticity può assumere i valori HARD, SOFT o NRT (non real-time);<br />

• periodicity può essere impostata a PERIO<strong>DI</strong>C oppure APERIO<strong>DI</strong>C;<br />

• period è il periodo per un task periodico, oppure il tempo minimo di<br />

interarrivo per un task aperiodico;<br />

• task_model è una struttura contenente, tra le altre cose, il computation time<br />

del task e le eventuali risorse utilizzate;<br />

La funzione restituisce un PID (Process IDentifier) che individua<br />

univocamente il task creato. In base alla combinazione dei parametri criticity e<br />

periodicity, si possono individuare 5 classi di processi, in base alla loro<br />

importanza rispetto ai vincoli temporali:<br />

• HARD + PERIO<strong>DI</strong>C individua un task di tipo HARD, avente deadline critica<br />

coincidente col periodo. E’ un processo garantito al momento della creazione<br />

e il superamento della deadline per questa categoria di task genera un errore di<br />

time overflow.<br />

• HARD + APERIO<strong>DI</strong>C sono task di tipo SPORA<strong>DI</strong>C; ha una deadline<br />

coincidente col minimo tempo di interarrivo ed è garantito dal sistema al<br />

momento della creazione, in modo che il superamento di una deadline causi<br />

un errore generale.<br />

169

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!