簡単なオペレーティングシステムを作る:11のステップ(写真付き)

簡単なオペレーティングシステムを作る:11のステップ(写真付き)

目次:

Anonim

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

だから私たちはC#で基本的なオペレーティングシステムを作ります、あなたがc ++やjavaのいくつかの基本さえ知っていれば、心配しないでください、あなたはコードを理解するでしょう:D

このチュートリアルの終わりまでに、あなたはあなたのクールなオペレーティングシステムを作ることができるでしょう!

だからいくつかのindから始めましょう

用品:

ステップ1:コンセプト

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

あなたのほとんどは電気回路の論理ゲートを知っています。多数の論理ゲートが接続されているとき、すなわち何十億ものトランジスタがチップ内で一緒に接続されているとき、それらは0および1を記憶することができる。各ゲートは0または1のどちらかを格納できます。

そして、接続されたトランジスタはマイクロコントローラまたはマイクロプロセッサを形成する。ここで私達はあなたのコンピュータにあるマイクロプロセッサでプログラムするつもりです。

お使いのコンピュータもオペレーティングシステムで実行できることをご存知ですか?どうだろう?あなたのコンピュータのすべてのチップはマイクロプロセッサなしで個々に走ることができます、しかしOSなしで、それは簡単な言葉のようにマルチタスクをすることもマルチスレッドを走らせることもできません。しかし、両方を一緒に走らせることはできません。

オペレーティングシステムのおかげで、今日インターネットを見ながら音楽を聴くことができます。

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

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

あなたは何が必要でしょう -

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

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

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

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

3)OSを実行するための任意のVirtulizationソフトウェア。私は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は伝統的な意味でのオペレーティングシステムではありませんが、代わりに "Operating System Kit"、または "Operating System Legos"と言います。 Visual StudioやC#でアプリケーションを作成できるのと同じように、Cosmosでもオペレーティングシステムを作成できます。ほとんどのユーザーは、Visual Studioを使用して、わずか数分で独自のオペレーティングシステムを作成して起動できます。 Milestone 5には、Visual Studioの統合プロジェクトタイプや統合デバッガなどの新機能が含まれています。ブレークポイントを使用して、Visual Studioから直接オペレーティングシステムをデバッグできます。 Cosmosは2つのディストリビューション、開発者キット(devキット)とユーザーキットで利用可能です。開発キットは、Cosmos自体で作業したいユーザーのために設計されています。ユーザーキットは、独自のオペレーティングシステムを構築し、いくつかのCosmos作業をすることに興味がある人のために設計されています。開発キットは、Cosmos SDKと見なすことができます。それはdevキットのように圧倒的ではないので、ほとんどのユーザーはユーザーキットから始めるべきです。この記事ではユーザーキットに焦点を当てます。

ステップ4:最初のオペレーティングシステムを書く

それでは、まず画面にテキストを印刷するだけのOSを書いてみましょう。

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

1)ビジュアルスタジオを開き、ファイル> 新規プロジェクトに移動します。

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を編集してください"); Console.WriteLine( "Hello World!これは私の最初のオペレーティングシステムです");

だから、あなたは変わった ようこそ! C#コードを起動しました。あなたのニーズに合うようにProgram.csを編集してください"こんにちは世界"これが私の最初のオペレーティングシステムです。

テキストを編集しました。それではコードをコンパイルして出力を見てみましょう。前のステップのステップを実行してコードをコンパイルしてください。

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

ステップ6:コマンドラインOSを作る

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

それでは、印刷するコードを作成しましょう こんにちはユーザー!このオペレーティングシステムをご利用いただきありがとうございます。 あげるとき こんにちは コンピュータへの入力として。

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

コード:

このコードでは、inputという名前の文字列を作成し、そこにデータを読み込みます。 Ifループは、入力が単語と一致するかどうかを確認します。 こんにちはそれからそれは印刷するべきです こんにちはユーザー!このオペレーティングシステムをご利用いただきありがとうございます。

それでは、このコードを実行して実行しましょう。

今すぐオペレーティングシステムに入力できます。タイプ こんにちは

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

あなたはあなた自身のコマンドラインOSを作りました。しかし、これにもっと多くの機能を追加してはどうでしょうか。 aboutと入力した場合と同様に、OSに関する情報が表示され、helpと入力した場合はコマンドの一覧が表示されます。次のステップでそれをやろう。

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

だから、のようなより多くの機能を追加することができます どの表示 COSMOS OS 1.0 そして 助けて どの表示

hello - 単純なOSコマンド

について - OSについて知っている

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

コード:

このコードでは、ご覧のとおり、ifループがさらに2つ作成されています。今すぐコードとタイプを実行します 。それを見て、それは表示されます COSMOS OS 1.0 ウィンドウを閉じてコードを再実行してから 助けて。それをみた?これはすべてが順調に進んでいることを意味します。

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

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

シャットダウンと再起動の機能を追加することも非常に簡単です。コスモスでは シャットダウン です Cosmos.Sys.Deboot.ShutDown();再起動 です Cosmos.Sys.Deboot.Reboot();

今のように入力を持つIFループを作る シャットダウン そして 再起動.

コード:

今すぐコードとタイプを実行します 再起動。それをxD見ました!再開しました!今タイプ シャットダウン。それを見た、ウィンドウが閉じた、それはOSがシャットダウンすることを意味する。

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

それでは最後に仕上げて、このOSを改良しましょう。

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

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

一度だけコードを見てください。

コード:

それでは、コードをVisual Studioにコピーして実行してください。追加したことに注意してください ブレーク;。 これはスイッチケースで使用されます。今すぐあなたのOSを楽しんでください!

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

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

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

仮想マシンを作成し、C: Users {あなたのユーザー名} AppData Roaming Cosmos User Kitを開きます。

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

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

私は16歳の組み込み開発者で、MIT Media Labs India Initiativeに協力しています。私はARM、AVR、Arduino、Raspberry Piのような様々な技術で働いています。

あなたは私のことをここに見つけることができます:http://www.sarthaksethi.net/

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

YouTube:http://www.youtube.com/channel/UCv7OszKtRFkJ_e0Af …