Cosmos (sistema operativo): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione Android
ValterVBot (discussione | contributi)
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:
<sourcesyntaxhighlight lang="CSharp">
protected override void BeforeRun()
{
Riga 30:
Console.WriteLine("Cosmos booted successfully. Type a line of text to get it echoed back.");
}
</syntaxhighlight>
</source>
 
Nel metodo Run() invece va scritto il codice proprio del Sistema Operativo tipicamente per esempio:
<sourcesyntaxhighlight lang="CSharp">
protected override void Run()
{
Riga 43:
//Add further code here...
}
</syntaxhighlight>
</source>
 
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 . [[VMWare]] è un altro emulatore, commerciale, scaricabile dal sito di VmWare. Siccome Cosmos può essere inserito all'interno di un'immagine ISO, può essere avviato anche su qualsiasi altro emulatore che supporta l'avvio da ISO avviabile (esempio, [[Virtual PC]]).
 
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]].