Cosmos (sistema operativo): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
ortografia
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
Riga 16:
'''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 in futuro potrà essere anche compilato usando [[Mono (progetto)|Mono]].
 
Come citato nel [[sito web]], Cosmos è un acronimo per C# Open Source Managed Operating System. Il nome è stato scelto prima di dargli un significato: infatti tutti i linguaggi .NET possono essere utilizzati (non solo C#) per sviluppare Cosmos. Non è tra gli obiettivi di Cosmos essere un sistema operativo completo, ma piuttosto un set di strumenti per permettere gli altri sviluppato di costruirsi semplicemente i propri sistemi operativi, o come uno dei leader del progetto preferisce dire, di agire come assemblatore di "mattoncini [[LEGO]]", ognuno dei quali rappresenta una caratteristica del sistema operativo. Può anche agire come un [[hardware abstraction layer|layer di astrazione hardware]] (HAL), nascondendo molto le strutture interne costituenti la logica dell'hardware allo sviluppatore.
 
La maggior parte del lavoro su Cosmos consiste nello sviluppo di un'interfaccia di rete per il sistema: il sistema già supporta alcune schede di rete e qualche caratteristica del protocollo [[TCP/IP]]. Sono disponibili due versioni di Cosmos: la più aggiornata proviene dal [[codice sorgente]] su repository di Github mentre l'altra versione è disponibile per tutti (conosciuta come User Kit). Il codice disponibili su Github è indicato per chiunque voglia aiutare lo sviluppo del [[Kernel]] mentre l'user kit è progettata per chiunque voglia usare solamente Cosmos per svilupparsi il proprio sistema operativo. Per qualche tempo prima della release della Milestone3, è stato raccomandato a tutti gli utenti di scaricare il codice sorgente da Codeplex, siccome la precedente Milestone 2 era diventata obsoleta.
 
Cosmos usa il bootloader [https://limine-bootloader.org/ Limine], ma precedentemente è stato anche usato [[GNU GRUB|GRUB]] e [[SYSLINUX|Syslinux]].
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 ([[Ambiente di sviluppo integrato|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, [[Hyper-V]]).
 
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]].