Questa repository contiene il codice per il progetto del corso di Programmazione di Sistema del Gruppo 37.
Sono state implementate le seguenti funzionalità:
- Semafori - implementati in
semaphore.c
esemaphore.h
per la sincronizzazione tra processi - Barriere - implementate in
barrier.c
ebarrier.h
per il coordinamento di processi - Input - implementato in
input.c
einput.h
per la gestione dell'input da tastiera
Per abilitare le system call sono state aggiunte le definizioni necessarie in syscall.c
, syscall.h
, sysproc.c
, usys.s
e nel Makefile.
Per compilare ed eseguire il sistema:
make clean # pulisce la compilazione precedente
make # compila il codice
make qemu-nox # esegue in QEMU
Sono disponibili i seguenti programmi di test:
test_semaphore
- 4 processi figli con 2 tokentest_barrier
- 5 processi figli in attesa sulla barrieratest_input
- test dell'input da tastiera
- Marco Lampis s317978
- Davide Vilella s315327
Questo progetto è rilasciato sotto licenza MIT.