Cosmos (sistema operativo): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione Android |
m tag source deprecati, replaced: <source lang= → <syntaxhighlight lang= (2), </source> → </syntaxhighlight> (2), typos fixed: o . → o. |
||
Riga 24:
== Scrivere codice su Cosmos ==
Un sistema operativo scritto su Cosmos nasce come un progetto basato su [[.NET Framework|.NET]] (precisamente un'applicazione per console). Prima di tutto, lo sviluppatore deve selezionare l'apposito template Cosmos e da qui selezionare quale linguaggio utilizzare per scrivere il Sistema Operativo (attualmente C#, VB.NET e F# sono supportati). La Classe kernel mette a disposizione 2 metodi BeforeRun() e Run(). In BeforeRun() va scritto il codice che viene eseguito prima che il kernel parta per esempio:
<
protected override void BeforeRun()
{
Riga 30:
Console.WriteLine("Cosmos booted successfully. Type a line of text to get it echoed back.");
}
</syntaxhighlight>
Nel metodo Run() invece va scritto il codice proprio del Sistema Operativo tipicamente per esempio:
<
protected override void Run()
{
Riga 43:
//Add further code here...
}
</syntaxhighlight>
Il codice dentro il metodo Run() sarà eseguito dentro a un loop del Kernel di Cosmos non è necessario scrivere while(true) o altri costrutti per creare un loop infinito (e potrebbe anche essere dannoso perché il resto del Kernel non potrebbe girare).
Riga 59:
==== Virtualizzazione ====
Cosmos permette agli utenti di avviare il proprio [[sistema operativo]] nell'ambiente virtualizzato usando una [[macchina virtuale]]. Ciò permette allo sviluppatore di testare il sistema nel proprio computer senza la necessità di riavviare, dando i vantaggi di non richiedere hardware aggiuntivo e permette allo sviluppatore di rimanere nel suo ambiente operativo ([[Integrated development environment|IDE]]). Cosmos permette l'utilizzo di 3 emulatori: [[Bochs]] è un emulatore gratuito
Un'altra caratteristica disponibile con Bochs è il [[debugger]] che permette all'utente di seguire direttamente attraverso il codice sorgente, similmente come il [[debugger]] di [[Microsoft Visual Studio|Visual Studio]] mentre il sistema gira su [[Bochs]]. Questo avviene grazie all'aggiunta di codice all'interno del sistema operativo creato, che permette di comunicare con il [[debugger]] di Cosmos attraverso una [[rete virtuale]].
| |||