Crea un sistema operativo semplice

Hai mai desiderato creare un sistema operativo? Hai mai voluto sapere come funzionano i sistemi operativi a riga di comando? È tutto qui!

Quindi creeremo un sistema operativo di base in C #, non ti preoccupare, se conosci anche alcune basi di c ++ o java, capirai il codice: D

Alla fine di questo tutorial, sarai in grado di creare il tuo fantastico sistema operativo!

Quindi cominciamo con qualche ind

Passaggio 1: il concetto

Quindi, come funziona effettivamente un sistema operativo? Spiegherò dal livello di un circuito elettrico.

La maggior parte di voi conosce porte logiche nei circuiti elettrici. quando sono collegate molte porte logiche, vale a dire miliardi di transistor collegati insieme all'interno di un chip, possono memorizzare 0 e 1 secondi. Ogni gate può memorizzare 0 o 1.

Quindi il transistor collegato forma un microcontrollore o un microprocessore. Qui programmeremo sul microprocessore che è nel tuo computer.

Sapevi che il tuo computer può funzionare anche con un sistema operativo !? Mi chiedo come! Ogni chip nel tuo computer può essere eseguito individualmente senza un microprocessore ma poi senza sistema operativo, non può eseguire il multitasking o eseguire più thread insieme come in parole semplici, riprodurre un video in cui è possibile riprodurre la musica una volta e la grafica una volta. Ma entrambi non possono correre insieme.

Grazie a un sistema operativo, oggi puoi ascoltare musica mentre navighi in Internet.

Il sistema operativo funziona in base al suo kernel. Il kernel memorizza tutti i file della libreria e ogni volta che eseguiamo un programma, il codice del programma chiama i file header dal kernel. In Windows, il kernel è "Win32"

Passaggio 2: materiali e conoscenza dei prerequisiti

Di cosa avrai bisogno

1) Microsoft Visual Studio 2012/2013/2010 (qualsiasi edizione)

Link: //www.visualstudio.com/

2) COSMOS User Development Kit Milestone 4 (Sistema operativo gestito open source C #)

Link: //cosmos.codeplex.com/downloads/get/90082

3) Qualsiasi software di virtualizzazione per eseguire il sistema operativo. Sto usando VMware Player.

Conoscenza preziosa

Le basi di C ++, Java, .net funzionerebbero

Chiedo solo di sfogliare solo 5-10 tutorial online di base di c # in modo da poter capire meglio

Step 3: Introduzione a COSMOS

Cosmos (Sistema operativo gestito open source C #) è un kit di sviluppo del sistema operativo che utilizza Visual Studio come ambiente di sviluppo. Nonostante C # nel nome, è possibile utilizzare qualsiasi linguaggio basato su .NET, inclusi VB.NET, Fortran, Delphi Prism, IronPython, F # e altro. Cosmos stesso e le routine del kernel sono principalmente scritte in C #, e quindi il nome Cosmos. Oltre a ciò, NOSMOS (.NET Open Source Managed Operating System) sembra stupido.

Cosmos non è un sistema operativo nel senso tradizionale, ma è piuttosto un "Kit del sistema operativo", o come mi piace dire "Lego del sistema operativo". Cosmos consente di creare sistemi operativi proprio come Visual Studio e C # normalmente consentono di creare applicazioni. La maggior parte degli utenti può scrivere e avviare il proprio sistema operativo in pochi minuti, tutto usando Visual Studio. Milestone 5 include nuove funzionalità come un tipo di progetto integrato in Visual Studio e un debugger integrato. È possibile eseguire il debug del sistema operativo direttamente da Visual Studio utilizzando i punti di interruzione. Cosmos è disponibile in due distribuzioni, il kit di sviluppo (kit di sviluppo) e il kit utente. Il kit di sviluppo è progettato per gli utenti che desiderano lavorare su Cosmos stesso. Il kit utente è progettato per coloro che sono interessati a costruire il proprio sistema operativo e fare un po 'di lavoro su Cosmos. Il kit di sviluppo potrebbe essere pensato come Cosmos SDK. La maggior parte degli utenti dovrebbe iniziare con il kit utente in quanto non è così travolgente come il kit di sviluppo. Questo articolo è incentrato sul kit utente.

Passaggio 4: scrivere il tuo primo sistema operativo

Quindi, prima lasciamo scrivere un sistema operativo che può semplicemente stampare del testo sullo schermo!

Quindi, prima di tutto, installa tutto il software richiesto menzionato nel passaggio precedente.

1) Apri Visual Studio e vai a File> Nuovo progetto

2) Nella finestra di dialogo del nuovo progetto, selezionare COSMOS e quindi Progetto COSMOS nella casella dei modelli. Assegna un nome al progetto e fai clic su OK!

3) Ora vedrai un file "program.cs" in Esplora soluzioni. Fare clic e caricarlo.

4) Vedrai un sacco di codice in esso, non aver paura, dobbiamo solo modificare il codice solo nel blocco "public static void Init ()": D

5) Ora fai clic sul pulsante di avvio che vedi sulla barra degli strumenti di Visual Studio o dal menu Debug, fai clic su "Avvia debug"

6) Vedrai apparire una finestra COSMOS Builder, senza alcuna modifica, basta fare clic su build di avvio

7) WOW! In modo che appaia la finestra QEMU? QEMU è in realtà un emulatore del sistema operativo, quindi stai vedendo il codice in esecuzione. Ora consente di apportare alcune modifiche e personalizzare il sistema operativo.

Passaggio 5: personalizzazione del sistema operativo

Ora apporta alcune semplici modifiche al codice,

sotto vuoto statico pubblico Init (),

Change Console.WriteLine ("Benvenuto! Hai appena avviato il codice C #. Modifica Program.cs per adattarlo alle tue esigenze"); a Console.WriteLine ("Hello World! Questo è il mio primo sistema operativo");


Quindi, sei cambiato Benvenuto! Hai appena avviato il codice C #. Modifica Program.cs per soddisfare le tue esigenze su Hello World! Questo è il mio primo sistema operativo.

Abbiamo appena modificato il testo. Ora consente di compilare il codice e vedere l'output. Eseguire i passaggi del passaggio precedente per compilare il codice.

L'ho visto! Il testo è cambiato! puoi persino mettere il tuo nome qui. Congratulazioni! hai vinto metà della battaglia capendo le basi. Ma che dire di un sistema operativo che prende input dall'utente e fornisce all'utente un output? Proprio come i sistemi operativi a riga di comando o il terminale Linux.

Passaggio 6: creazione di un sistema operativo da riga di comando

Quindi qui creeremo un sistema operativo da riga di comando. Come abbiamo visto il codice precedente, il codice scrive solo del testo sullo schermo tramite la funzione Console.WriteLine () . Ora scriveremo un sistema operativo in cui l'utente fornisce l'input e il computer lo elabora.

Quindi, facciamo un codice che stampa Hello User! Grazie per aver utilizzato questo sistema operativo! quando diamo ciao come input al computer.

Nella programmazione, ci sono diversi tipi di loop che molti di voi conoscono come If loop che esegue l'azione se le condizioni sono soddisfatte. Quindi qui useremo if loop e se l'input di un utente è ciao, allora stamperà la riga che abbiamo menzionato sopra.

CODICE:

input di stringa;

input = Console.ReadLine ();

if (input == "ciao")

{Console.WriteLine ("Ciao utente! Grazie per aver utilizzato questo sistema operativo!");

}

Qui in questo codice, abbiamo creato una stringa denominata input in cui leggiamo alcuni dati. Il ciclo If verifica che se l'input corrisponde alla parola ciao, dovrebbe stampare Hello User! Grazie per aver utilizzato questo sistema operativo!

Ora lascia andare ed esegui questo codice!

Ora puoi digitare nel sistema operativo ora! digita ciao

Eccitato? Hai visto l'output? : D

Hai creato il tuo sistema operativo da riga di comando. ma che ne dici di aggiungere molte più funzionalità in questo? Come se si digita, ti dice le informazioni sul sistema operativo e se si digita help mostra l'elenco dei comandi? Facciamolo nel prossimo passaggio.

Passaggio 7: aggiunta di più funzionalità al nostro sistema operativo

Quindi, consente di aggiungere altre funzionalità come su quali display COSMOS OS 1.0 e guida su quali display

ciao - comando SO semplice

about - Informazioni sul sistema operativo

Analogamente al passaggio precedente, crea altri 2 se loop.

CODICE:

input di stringa;
input = Console.ReadLine ();

if (input == "ciao")

{Console.WriteLine ("Ciao utente! Grazie per aver utilizzato questo sistema operativo!"); }

if (input == "about")

{Console.WriteLine ("COSMOS OS 1.0");

}


if (input == "aiuto")

{

Console.WriteLine ("ciao - comando SO semplice");

Console.WriteLine ("about - Know about OS");

}

In questo codice, come vedi, ne abbiamo fatti altri 2 se i loop. Ora esegui il codice e digita about . Visto ciò, visualizza COSMOS OS 1.0, quindi chiude la finestra ed esegue nuovamente il codice e quindi digita help . L'hai visto? Questo significa che tutto sta andando bene.

Ora ogni sistema operativo ha un'opzione di spegnimento o spegnimento. Quindi, consente di aggiungere funzionalità come l'arresto e il riavvio.

Passaggio 8: aggiunta delle funzioni di spegnimento e riavvio

L'aggiunta della funzione di arresto e riavvio è anche estremamente semplice. In cosmos il codice da chiudere è Cosmos.Sys.Deboot.ShutDown (); e riavviare è Cosmos.Sys.Deboot.Reboot ();

Ora crea loop IF che hanno input come shutdown e riavvio .

CODICE:

input di stringa;
input = Console.ReadLine ();

if (input == "ciao") {Console.WriteLine ("Ciao utente! Grazie per aver utilizzato questo sistema operativo!"); }

if (input == "about") {Console.WriteLine ("COSMOS OS 1.0");

}

if (input == "help") {Console.WriteLine ("ciao - Comando SO semplice"); Console.WriteLine ("about - Know about OS"); }

if (input == "shutdown") {Cosmos.Sys.Deboot.ShutDown (); }

if (input == "restart") {Cosmos.Sys.Deboot.Reboot (); }


Ora esegui il codice e digita riavvio . Visto xD! È ricominciato! Ora digita shutdown . L'ho visto, la finestra chiusa, il che significa che il sistema operativo si è spento.

Questa potrebbe essere la parte più eccitante quando hai creato un sistema operativo che può spegnersi e riavviarsi!

Ora consente di migliorare questo sistema operativo dandogli gli ultimi ritocchi.

Passaggio 9: ritocchi finali

Nei tocchi finali, useremo la custodia dell'interruttore perché è molto più semplice e migliore dell'istruzione IF. Faremo anche un comando che quando l'utente digita una parola chiave che non è nell'elenco dei nostri comandi, dovrebbe mostrare No tale comando

Basta vedere il codice una volta.

CODICE:

while (true)
{

string command = Console.ReadLine ();

switch (comando) {

case "shutdown": {Cosmos.Sys.Deboot.ShutDown ();

rompere;

}

caso "aiuto":

{

Console.WriteLine ("ciao - comando SO semplice");

Console.WriteLine ("about - Know about OS");

rompere;

}

caso "about":

{

Console.WriteLine ("COSMOS OS 1.0");

rompere;

}

caso "riavvio": {

Cosmos.Sys.Deboot.Reboot ();

rompere;

}

case "ciao": {

Console.WriteLine ("Ciao utente! Grazie per aver utilizzato questo sistema operativo!");

rompere;

}

impostazione predefinita: {Console.WriteLine ("Nessun comando simile");

comando = null; rompere; }}

}

Ok, copia il codice in Visual Studio ed esegui il codice. Si noti che abbiamo aggiunto l' interruzione ;. Questo è usato in caso di commutazione. Adesso divertiti con il tuo sistema operativo!

Ora prova a digitare un comando sbagliato come aiutami. questo comando non è stato definito, quindi mostra Nessun comando trovato . Ciò significa che ora il nostro sistema operativo non accetterà comandi errati. E prova tutti i comandi. Potresti aver notato che ora puoi digitare un altro comando dopo il precedente poiché stiamo prendendo input in un ciclo costante.

Passaggio 10: esecuzione e test del sistema operativo

Quindi ora testerò il sistema operativo che abbiamo creato. Userò un software di virtualizzazione per eseguire il sistema operativo. Userò VMware Player che è scaricabile gratuitamente!

Ok, quindi crea una macchina virtuale e apri C: \ Users \ {Your Username} \ AppData \ Roaming \ Cosmos User Kit

Qui troverai il file cosmos.iso dopo aver selezionato la build ISO in Visual Studio. Basta avviare questo file in VMware e goditi il ​​tuo sistema operativo! (renderlo a schermo intero)

Passaggio 11: grazie e chi sono

Sono uno sviluppatore embedded di 16 anni che collabora con MIT Media Labs India Initiative. Lavoro in varie tecnologie come ARM, AVR, Arduino e Raspberry Pi.

Puoi trovarmi qui: //www.sarthaksethi.net/

Facebook: //www.facebook.com/pages/Sarthak-Sethi/25272 ...

Youtube: //www.youtube.com/channel/UCv7OszKtRFkJ_e0Af ...

Articoli Correlati