シンプルなオペレーティングシステムを作成する

オペレーティングシステムを作りたいと思ったことはありませんか? コマンドラインオペレーティングシステムがどのように機能するかを知りたくありませんか? すべてがここにあります!

したがって、C#で基本的なオペレーティングシステムを作成します。心配しないでください。C++またはJavaの基本を知っていれば、コードを理解できます:D

このチュートリアルを完了すると、クールなオペレーティングシステムを作成できるようになります。

だから、いくつかのインドから始めましょう

ステップ1:コンセプト

それでは、実際にOSはどのように機能するのでしょうか? 電気回路のレベルから説明します。

あなたのほとんどは、電気回路の論理ゲートを知っています。 多くの論理ゲートが接続されている場合、つまり、チップ内で数十億個のトランジスタが接続されている場合、0と1を格納できます。 各ゲートには、0または1を格納できます。

次に、接続されたトランジスタがマイクロコントローラーまたはマイクロプロセッサーを形成します。 ここでは、コンピューターにあるマイクロプロセッサーでプログラムします。

お使いのコンピューターもオペレーティングシステムで実行できることをご存知ですか? なんて素晴らしい! コンピューターのすべてのチップは、マイクロプロセッサーなしで個別に実行できますが、OSなしでは、マルチタスクを実行したり、単純な言葉のように複数のスレッドを一緒に実行したり、一度だけ音楽を再生したり、一度だけグラフィックを再生できるビデオを再生することはできません。 しかし、両方を一緒に実行することはできません。

オペレーティングシステムのため、今日、インターネットを閲覧しながら音楽を聴くことができます。

OSは、カーネルに基づいて動作します。 カーネルはすべてのライブラリファイルを保存し、プログラムを実行するたびに、プログラムのコードはカーネルからヘッダーファイルを呼び出します。 Windowsでは、カーネルは「Win32」です

ステップ2:材料と前提知識

何が必要ですか?

1)Microsoft Visual Studio 2012/2013/2010(すべてのエディション)

リンク://www.visualstudio.com/

2)COSMOSユーザー開発キットマイルストーン4(C#オープンソース管理オペレーティングシステム)

リンク://cosmos.codeplex.com/downloads/get/90082

3)OSを実行する仮想化ソフトウェア。 VMware Playerを使用しています。

必要な知識

C ++、Java、.netの基本が機能する

あなたがより良い理解を得ることができるように、C#の5〜10個の基本的なオンラインチュートリアルを参照するように要求します。

ステップ3:COSMOSの概要

Cosmos(C#オープンソースマネージドオペレーティングシステム)は、開発環境としてVisual Studioを使用するオペレーティングシステム開発キットです。 名前にC#が含まれていますが、VB.NET、Fortran、Delphi Prism、IronPython、F#など、あらゆる.NETベースの言語を使用できます。 Cosmos自体とカーネルルーチンは、主にC#で記述されているため、Cosmos名です。 それに加えて、NOSMOS(.NETオープンソース管理オペレーティングシステム)は愚かに聞こえます。

Cosmosは、従来の意味でのオペレーティングシステムではなく、「オペレーティングシステムキット」、または「オペレーティングシステムレゴ」と言ってもいいでしょう。 Cosmosでは、通常Visual StudioとC#でアプリケーションを作成できるように、オペレーティングシステムを作成できます。 ほとんどのユーザーは、Visual Studioを使用して、わずか数分で独自のオペレーティングシステムを記述して起動できます。 Milestone 5には、Visual Studioの統合プロジェクトタイプや統合デバッガーなどの新機能が含まれています。 ブレークポイントを使用して、Visual Studioからオペレーティングシステムを直接デバッグできます。 Cosmosは、開発者キット(devキット)とユーザーキットの2つのディストリビューションで利用できます。 開発キットは、Cosmos自体で作業するユーザー向けに設計されています。 ユーザーキットは、独自のオペレーティングシステムの構築とCosmosの作業に興味がある人向けに設計されています。 開発キットは、Cosmos SDKと考えることができます。 開発キットのように圧倒されないため、ほとんどのユーザーはユーザーキットから始める必要があります。 この記事では、ユーザーキットに焦点を当てています。

ステップ4:最初のオペレーティングシステムを作成する

そのため、まず画面にテキストを印刷するだけのOSを作成しましょう!

まず最初に、前のステップで説明した必要なソフトウェアをすべてインストールします。

1)Visual Studioを開き、[ファイル]> [新しいプロジェクト]に移動します。

2)新しいプロジェクトダイアログボックスで、テンプレートボックスでCOSMOSを選択し、次にCOSMOSプロジェクトを選択します。 プロジェクトに名前を付けて、[OK]をクリックします。

3)ソリューションエクスプローラーに「program.cs」というファイルが表示されます。 クリックしてロードします。

4)たくさんのコードが表示されますが、怖がらないでください。「public static void Init()」ブロックのみでコードを編集する必要があります:D

5)Visual Studioツールバーに表示される[スタート]ボタンをクリックするか、[デバッグ]メニューから[デバッグを開始]をクリックします

6)COSMOS Builderウィンドウが表示されます。変更せずに、ビルドをクリックするだけです

7)うわー! QEMUウィンドウが表示されますか? QEMUは実際にはオペレーティングシステムエミュレーターであるため、実行中のコードが表示されます。 次に、いくつかの変更を行い、OSをカスタマイズします。

ステップ5:OSのカスタマイズ

コードに簡単な変更を加えるだけで、

public static void Init()の下で、

Console.WriteLine( "ようこそ!C#コードを起動しました。ニーズに合わせてProgram.csを編集してください"); to Console.WriteLine( "Hello World!これが私の最初のオペレーティングシステムです");


これで、 ようこそ! C#コードを起動しました。 Program.csを編集して、 Hello Worldの ニーズに合わせてください これは私の最初のオペレーティングシステムです。

テキストを編集しました。 次に、コードをコンパイルして出力を確認します。 前の手順の手順を実行して、コードをコンパイルします。

それをみた! テキストが変更されました! ここに名前を入力することもできます。 おめでとうございます! 基本を理解することで、戦いの半分に勝ったことになります。 しかし、ユーザーからの入力を受け取り、ユーザーに出力を提供するオペレーティングシステムはどうでしょうか。 コマンドラインオペレーティングシステムまたはLinuxターミナルのように。

ステップ6:コマンドラインOSの作成

そこで、ここではコマンドラインオペレーティングシステムを作成します。 前のコードを見たように、コードはConsole.WriteLine()関数を介して画面にテキストを書き込むだけです。 次に、ユーザーが入力を行い、コンピューターがそれを処理するOSを作成します。

それでは、 Hello User!を出力するコードを作成しましょう。 このオペレーティングシステムをご利用いただきありがとうございます! コンピューターへの入力としてhelloを指定した場合。

プログラミングには、条件が満たされた場合にアクションを実行するIfループなど、ほとんどの人が知っているさまざまな種類のループがあります。 そのため、ここではifループを使用し、ユーザーの入力がhelloの場合、上記の行を出力します。

コード:

文字列入力;

入力= Console.ReadLine();

if(input == "hello")

{Console.WriteLine( "Hello User!このオペレーティングシステムをご利用いただきありがとうございます!");

}

このコードでは、inputという名前の文字列を作成し、データを読み取ります。 Ifループは、入力が単語helloに一致するかどうかをチェックし、 Hello User!を出力する必要があります。 このオペレーティングシステムをご利用いただきありがとうございます!

では、このコードを実行してみましょう!

これで、オペレーティングシステムに入力できるようになりました! タイプこんにちは

興奮した? 出力を見ましたか? :D

独自のコマンドラインOSを作成しました。 しかし、これにもっと多くの機能を追加するのはどうですか? 約入力した場合と同様に、OSに関する情報が表示され、helpと入力した場合はコマンドのリストが表示されますか? 次のステップでやってみましょう。

ステップ7:OSに機能を追加する

そのため、 COSMOS OS 1.0を表示する機能や、表示するヘルプなどの機能を追加します。

hello-シンプルなOSコマンド

about-OSについて知る

同様に、前のステップと同様に、さらに2つのifループを作成します。

コード:

文字列入力;
入力= Console.ReadLine();

if(input == "hello")

{Console.WriteLine( "Hello User!このオペレーティングシステムをご利用いただきありがとうございます!"); }

if(入力== "about")

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

}


if(input == "help")

{

Console.WriteLine( "hello-シンプルOSコマンド");

Console.WriteLine( "about-OSについて知る");

}

このコードでは、ご覧のとおり、さらに2つのifループを作成しました。 次に、コードを実行してaboutを入力ます。 COSMOS OS 1.0が表示された後、ウィンドウを閉じてコードを再実行し、 helpと入力します 。 それをみた? これはすべてが順調であることを意味します。

現在、すべてのOSにはシャットダウンまたは電源オフのオプションがあります。 シャットダウンや再起動などの機能を追加しましょう。

ステップ8:シャットダウンおよび再起動機能の追加

シャットダウンおよび再起動機能の追加も非常に簡単です。 cosmosでは、 シャットダウンするコードはCosmos.Sys.Deboot.ShutDown()です。 再起動するにCosmos.Sys.Deboot.Reboot();

ここで、 シャットダウンおよび再起動として入力を持つIFループを作成します。

コード:

文字列入力;
入力= Console.ReadLine();

if(input == "hello"){Console.WriteLine( "Hello User!このオペレーティングシステムをご利用いただきありがとうございます!"); }

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

}

if(input == "help"){Console.WriteLine( "hello-Simple OS command"); Console.WriteLine( "about-OSについて知る"); }

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

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


ここでコードを実行し、 restartと入力します。 xDを見た! 再起動しました! 次にshutdownと入力します。 それを見た、ウィンドウが閉じ、OSがシャットダウンしたことを意味します。

これは、シャットダウンして再起動できるOSを作成したときに最もエキサイティングな部分かもしれません!

最後に、最後の仕上げを行ってこのOSを改善しましょう。

ステップ9:最後の仕上げ

最後の仕上げでは、IFステートメントよりもずっと単純で優れているため、 スイッチケースを使用します。 また、コマンドのリストにないキーワードをユーザーが入力すると、そのようなコマンドは表示されないコマンドを作成します

コードを一度表示するだけです。

コード:

while(true)
{

string command = Console.ReadLine();

スイッチ(コマンド){

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

ブレーク;

}

ケース「ヘルプ」:

{

Console.WriteLine( "hello-シンプルOSコマンド");

Console.WriteLine( "about-OSについて知る");

ブレーク;

}

ケース「約」:

{

Console.WriteLine( "COSMOS OS 1.0");

ブレーク;

}

case "reboot":{

Cosmos.Sys.Deboot.Reboot();

ブレーク;

}

case "hello":{

Console.WriteLine( "Hello User!このオペレーティングシステムをご利用いただきありがとうございます!");

ブレーク;

}

デフォルト:{Console.WriteLine( "No such command");

command = null; ブレーク; }}

}

OK、コードをVisual Studioにコピーして実行するだけです。 ブレークを追加したことに注意してください これはスイッチケースで使用されます。 OSをお楽しみください!

私を助けるような間違ったコマンドを入力してみてください。 このコマンドは定義されていないため、 「コマンドが見つかりません」と表示されます。 これは、OSが間違ったコマンドを受け入れないことを意味します。 そして、すべてのコマンドを試してください。 定数ループで入力を取得しているため、前のコマンドの後に別のコマンドを入力できることに気付いたかもしれません。

ステップ10:OSの実行とテスト

だから私は今、私たちが作ったOSをテストするつもりです。 仮想化ソフトウェアを使用してOSを実行します。 無料でダウンロードできるVMwareプレーヤーを使用します!

それでは、仮想マシンを作成してC:\ Users \ {Your Username} \ AppData \ Roaming \ Cosmos User Kitを開きます

Visual StudioでISOのビルドを選択すると、cosmos.isoファイルが見つかります。 このファイルをVMwareで起動して、オペレーティングシステムをお楽しみください! (フルスクリーンにする)

ステップ11:ありがとう&私について

私は16歳の組み込み開発者で、MIT Media Labs India Initiativeと協力しています。 私は、ARM、AVR、Arduino、Raspberry Piなどのさまざまなテクノロジーで働いています。

私についてはここで見つけることができます://www.sarthaksethi.net/

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

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

関連記事