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.

verso i file per inizializzare il sistema e/o salvare i risultati di una elaborazione.<br />

L’elenco completo delle funzioni di acceso è:<br />

• DOS_FILE DOS_fopen(file_name, access_mode), in base al valore di<br />

access_mode apre il file file_name in lettura (“r”), scrittura (“w”) o in<br />

append (“a”), ritornando un puntatore a una struttura di tipo<br />

DOS_FILE;<br />

• DOS_fclose(DOS_FILE) chiude l’accesso al file specificato;<br />

• DWORD DOS_fread(void *buf, DWORD size, DWORD num,<br />

DOS_FILE *f) legge un blocco massimo di num byte dal file f,<br />

depositandoli nel buffer buf, che ha dimensione pari a size. La funzione<br />

ritorna il numero di byte effettivamente letti;<br />

• DWORD DOS_getline(void *abuf, DWORD count, int ch,<br />

DOS_FILE *f) legge una linea di caratteri dal file f, depositandoli nel<br />

buffer puntato da abuf. La funzione legge un massimo di count<br />

caratteri, oppure fino al raggiungimento del carattere ch. Ritorna il<br />

numero di caratteri effettivamente letti.<br />

A.6 Risorse condivise<br />

HARTIK mette a disposizione diverse tecniche per gestire la condivisione<br />

di risorse tra processi. Una sezione di codice che utilizza una rsorsa condivisa è<br />

detta sezione critica.<br />

Innanzitutto dispone del meccanismo semaforico classico, che però non è<br />

efficiente e può dar luogo a problemi alquanto gravi come l'inversione di priorità.<br />

Non è dunque adatto ad essere utilizzato con processi di criticità HARD, in quanto<br />

potrebbe causare lo sfondamento di una deadline critica.<br />

Il protocollo SRP (Stack Resource Policy) supera tutti i problemi che<br />

derivano dall'uso dei semafori classici, garantendo migliori prestazioni globali del<br />

sistema pur mantenendo la stessa semplicità di utilizzo dei normali semafori.<br />

171

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

Saved successfully!

Ooh no, something went wrong!