Cosmos (sistema operativo): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Attività per i nuovi utenti Suggerito: aggiungi collegamenti |
||
| (26 versioni intermedie di 15 utenti non mostrate) | |||
Riga 1:
{{Sistema operativo
| nome = Cosmos
| logo =
| screenshot = Cosmos shell.png
| didascalia = Screenshot di una sessione di prova della shell di Cosmos:
| sviluppatore =
| stadio_sviluppo= Disponibile pubblicamente/In sviluppo
| tipo_kernel = [[
| tipologia_licenza = libero
| licenza = [[Licenza BSD]]
| famiglia = ...
| sito_web =
| ultima_versione_pubblicata=
| data_ultima_pubblicazione =
|prima_versione_pubblicata = Milestone 1|data_prima_pubblicazione = 25 gennaio [[2008]]|piattaforme_supportate = [[IA-32]]}}
'''Cosmos''' è un [[sistema operativo]] [[open source]] scritto in [[C sharp|C#]]. Include inoltre un compilatore ([[IL2CPU]]) per convertire il ([[Microsoft .NET|.NET]]) [[bytecode]] del [[Common Intermediate Language]] in istruzioni native. Il sistema operativo è compilato insieme con un programma utente e le librerie associate usando il [[compilatore]] [[IL2CPU]] per creare un binario scritto in [[linguaggio macchina]] [[stand-alone (informatica)|stand-alone]] e avviabile. Il binario può essere avviato da un [[floppy disk]], una [[chiavetta USB]], [[CD-ROM]] o dentro una [[macchina virtuale]]. L'architettura supportata è x86, ma molte altre destinazioni sono state pianificate, e sebbene il sistema sia mirato al C#, possono essere usati la maggior parte dei linguaggi conformi a .NET (il linguaggio deve essere compilato puramente in [[Common Intermediate Language|CIL]] senza usare [[P/Invoke]]).<ref>{{cita web |url=https://www.codeproject.com/Articles/99928/Develop-Your-Own-Operating-System-in-C-or-VB-NET |lingua=en |accesso=22 agosto 2018 |titolo=Develop Your Own Operating System in C# or VB.NET}}</ref> Cosmos è principalmente destinato all'uso con il [[.NET Framework]] di [[Microsoft]], comunque
Come citato nel [[sito web]], Cosmos è un acronimo per C# Open Source Managed Operating System
Cosmos usa il bootloader [
== 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
<
protected override void BeforeRun()
{
// Write you inizialization code here
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:
<
{
var input = Console.ReadLine();
▲ //Add further code here...
Console.Write("Text typed: ");
Console.WriteLine(input);
//Add further code here...
}
</syntaxhighlight>
Questo metodo sarà chiamato per primo quando il sistema operativo verrà eseguito. Le prime due linee inizializzano il sistema, caricando i driver e preparando la macchina. In un sistema operativo pratico, lo sviluppatore sostituirà ''//Add further code here...'' con il codice del suo sistema operativo. Questo codice può usare ogni oggetto presente nella libreria del [[.NET Framework]] supportati da Cosmos (o si crea una traduzione dell'oggetto nel codice macchina (tramite costrutti chiamati Plugs), o ogni parte di esso è già supportata). Inoltre può chiamare una delle librerie incluse in Cosmos.▼
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).
▲
=== Il Cosmos User Kit e Visual Studio ===
Riga 44 ⟶ 53:
== Compilare un progetto ==
Una volta che il codice è completo, un utente potrà compilare l'intero progetto usando il [[compilatore]] [[.NET]] preferito. Così si convertirà il codice sorgente costituente l'applicazione (scritta in
=== Opzioni per il debug ===
Riga 52 ⟶ 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 ([[
Un'altra caratteristica disponibile con
==== Immagine disco ====
Questa opzione scrive il sistema operativo in un'immagine ISO, che può essere caricata in alcuni emulatori (come [[Microsoft Virtual PC|Virtual PC]]) o masterizzata su [[CD-ROM]] e avviata nativamente su un hardware fisico.
==== Avvio tramite rete PXE ====
Questa opzione permette al sistema operativo di essere avviato nativamente senza ricorrere ad un software di virtualizzazione. I dati sono inviati tramite una rete [[LAN]] al terminale client. È richiesto
=== Cosmos Assembler ===
Il team del progetto Cosmos ha anche creato un [[assembler]] che sarà il principale per il progetto. Comunque, è ancora lento e inefficiente, perciò si sta usando invece l'[[assembler]] [[NASM (informatica)|NASM]].
== Note ==
<references/>
== Voci correlate ==
Riga 72 ⟶ 82:
== Altri progetti ==
{{Interprogetto}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
{{Portale|software libero|informatica}}
[[Categoria:Sistemi operativi liberi]]
| |||