Capitolo 8

Conclusioni


In questa tesi si è descritto un sistema operativo che è stato chiamato Theos. Il sistema operativo gestisce la concorrenza, la multiutenza, e fornisce degli strumenti per lo sviluppo dei programmi. La caratteristica principale di Theos è la sua semplicità e la sua compattezza, dato che il nucleo (comprensivo di alcune fra le applicazioni più piccole) è composto da meno di cinquemila linee. La seguente tabella mostra le dimensioni in Kbyte e in linee delle varie componenti di Theos.

tipo linee byte
header 546 15299
nucleo 4212 103272
applicazioni 9991 247370
totali 14749 365941
Tabella 8.1: Dimensioni del sistema Theos

La seconda caratteristica interessante del sistema è l'introduzione dei 'Thread' come elemento fondamentale di calcolo. La gestione a 'Thread', che è stata introdotta in questa tesi, è molto interessante perché fornisce dei vantaggi in termini di condivisione dello spazio di indirizzamento e di efficienza del 'context switching'. I tempi richiesti da un cambio di contesto sono approssimativamente i seguenti: 38 $
Data la sua semplicità, il primo utilizzo del sistema operativo realizzato sarà di tipo didattico. Si prevede che nel futuro il sistema continuerà ad essere sviluppato e migliorato introducendo altre componenti. Tuttavia, il sistema potrebbe essere già utilizzato in applicazioni reali. Anche se questa tesi ha impostato il progetto e la realizzazione di Theos nella direzione dei sistemi operativi di uso generale, il sistema ha molte caratteristiche proprie dei sistemi operativi dedicati (o sistemi in tempo reale, nei quali ha più importanza il soddisfacimento delle deadline rispetto al throughput), quali:

L'unico aspetto che può presentare qualche problema in una possibile applicazione dedicata è quello legato alla schedulazione prioritaria; è noto infatti che non è sempre facile trasformare i vincoli temporali in priorità.
Ci sono ovviamente molti possibili sviluppi del sistema, quali la realizzazione di un file system ad albero sia in RAM che su disco fisso, il miglioramento del compilatore e dell'assemblatore, il miglioramento della efficienza della allocazione della memoria stack ed heap, ed infine il 'porting' su una piattaforma hardware più diffusa quale quella PC, cosa che può contribuire ad una sua maggiore diffusione.


[Home] Back to Lucio's Home page.