Sviluppo Kernel per RISC-V in C
EsadecimaleIl Sistema Operativo è una delle più importanti astrazioni informatiche. Ogni persona, quando utilizza un computer, può utilizzare quel computer perché qualcuno ha scritto un sistema operativo per quel computer. È dunque difficile misurare l'importanza che queste astrazioni hanno avuto nel corso dello sviluppo della tecnologia Informatica.
I Sistemi Operativi sono organizzati in modi diversi, ma tutti hanno un componente chiamato kernel. Il kernel è il "cuore" del sistema operativo, e viene utilizzato dal sistema operativo per interagire con l'hardware della macchina. Tra le varie cose, il Kernel gestisce anche le seguenti:
-
Scheduling della CPU
-
Gestione della memoria
-
Gestione delle eccezioni
-
Interazione con i dispositivi hardware
-
Meccanismi di protezione
- ...
Il seguente corso mostra l'implementazione step-by-step di un kernel minimale per l'architettura hardware RISC-V utilizzando il linguaggio di programmazione C.
L'obiettivo è entrare nella black box dei sistemi operativi e mostrare delle semplici ma funzionali implementazioni per le astrazioni più importanti che i moderni sistemi operativi implementano. Questo approccio permette allo studente di sviluppare una profonda conoscenza sul funzionamento e sulla programmazione dei sistemi low-level.