UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica
UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica
UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica
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