Sistema Operativo accademico basato su processore ARM7TDMI emulato.
Occorre installare µARM per testare il progetto.
https://github.com/Plutone11011/OS-project
Lorenzo Borelli | 0000789622 |
Federico Biagi | 0000758635 |
Yihong Chen | 0000801605 |
Dopo aver installato µARM ed i relativi pacchetti (Vedi Readme).
Compilare usando Makefile, digitando make.
L'eseguibile si chiamerà main.
-Alloc.c -Queue.c -Tree.c -Semaphore.c
-Alloc.h -Queue.h -Tree.h -Semaphore.h -libuarm.h -uARMtypes.h -uARMconst.h -PCB.h
Gestisce i pcb (Process control block), consentendo di allocarli e deallocarli.
Gestisce code di pcb allocati con priorità decrescente.
Gestisce alberi di pcb allocati.
Gestisce i semafori tramite una Hash table.
Ogni semaforo consente di bloccare e/o liberare pcb (thread) concorrenti tramite mutua esclusione con priorità (Usando Queue.c).
Consente inoltre di liberare l'esecuzione di un pcb e tutti i suoi figli (thread), 'bypassando' la coda (Terminate process tree).
To be continued!!!