Yet Another Educational Operating System
Progetto di Laboratorio del corso di Sistemi Operativi dell'Università di Bologna per l'anno accademico 2017/2018.
Software di un Sistema Operativo organizzato su più livelli. Il software è studiato per essere eseguito sull'emulatore uARM basato sul processore ARM7TDMI.
La fase 1 del progetto consiste nella realizzazione del Livello 2 del Sistema Operativo: il Gestore delle code.
Questo livello implementa le funzionalità relative ai Process Control Blocks, le strutture di dati dei processi. Nello specifico esso contiene due librerie, le quali gestiscono code ed alberi di PCB ed una Active Semaphore Hash Table che si occupa dei processi bloccati sui semafori.
La fase 2 consiste nell'implementazione del nucleo del kernel. Questo livello si occupa delle funzioni di scheduling e di gestione delle eccezioni.
Per poter eseguire il software è necessario scaricare l'emulatore uARM
Per decomprimere il progetto, spostarsi nella directory di download ed eseguire i comando
$ cd /x
$ tar -zxvf YaeOS.tar.gz
dove x va sostituito con il percorso del file YaeOS.tar.gz . Per ottenere il file eseguibile spostarsi nella cartella ottenuta dall'estrazione e digitare il comando
$ make
Per la pulizia dei file binari generati durante la compilazione eseguire
$ make clean
Per effettuare il test della Phase 1, una volta decompresso il file .tar.gz, eseguire il comando
$ make test
seguito da
$ make clean
per generare l'eseguibile chiamato test. Dopodichè avviare l'emulatore uARM digitando nel terminale
$ uarm
Dalla schermata che si aprirà, cliccare sul menù delle impostazioni ed attraverso il pulsante Browse.. della sezione Core File selezionare l'eseguibile generato precedentemente. Accendere poi la macchina attraverso il pulsante di Power on, aprire uno dei terminali dal menù Terminals ed avviare il test cliccando sul tasto Play.
Il test della Fase 2 può essere effettuato seguendo la stessa sequenza di istruzioni del Test P1, dove pero al comando
$ make test
occorre sostituire il comando
$ make
Questo genererà un eseguibile chiamato kernel. Avviando l'emulatore uARM - occorre digitare nel terminale
$ uarm
si può mandare in esecuzione seguendo i passaggi di cui sopra.
- microARM: an ARM emulator
- Specifiche per lo svolgimento del progetto del professore Renzo Davoli