最初からオペレーティングシステム(ほぼ)

読者の皆さん、こんにちは! 私の名前はニキータです。今日は私のプロジェクトについて紹介します。 これは、ゼロから作成されたオペレーティングシステムです。 どこかからコードファイルをコピーしたので「実際に」と言いますが、コメントには自分のコードではないと書いています。



これはどのようなプロジェクトですか?



彼の名前はU365です。 私はそれを一人で書いているのではなく、小さなチームがあります。 2015年12月から開発が進行中です。 ほぼ1年間、機能するOSを作成することができました。 私たちの能力を見てみましょう!



特徴



このOSは、趣味のOSに対して非常に多くのことができます。 システム内のすべてのレンダリングに使用されるグラフィックエンジンがあります。 U365はCおよびアセンブラーで記述されています。 スクリーンショットを見てみましょう:



画像



VirtualBoxで約3秒間続く起動直後。



画像



helpコマンドを入力すると、コマンドのリストが表示されます。



画像



font-viewerコマンドはTrueTypeフォントビューアーとして機能し、完璧に機能します。



画像



システムコアのログ。



前のスクリーンショットで見たように、システムには多くの未使用の機能があります:PCI、ハードディスクドライバー、ネットワークドライバー。



歴史と克服しなければならなかったこと





開発を始めたとき、すでに1つの失敗したプロジェクト、OS365がありました。 私たちに従った人は理解するでしょう。 私は少なくとも彼女よりも良いことをすることにしました。 OS365のすべてのコードを放棄し、UNIX互換のOSを作成したいと考えました。 ブートローダーを変更せず、GRUBを使用しました。 冒頭でテキストの結論を出しましたが、その後、奇妙で湾曲した自家製のピクセルフォントがあり、将来的にはVGAモード80x25の標準フォントに置き換えました。 最初に、システムは小さなishシェルを受け取りました。これはすでに非推奨であり、ish2に置き換えられています。 スクリーンショットはish2のみを示しています。 ご覧のとおり、彼のプロンプトは、私が使用したbashプロンプトに非常に似ています。 それを作成するために、招待状を表示するパーサーPS1を作成しました。

それでは、開発の初期段階に戻りましょう。 ドミトリーは私にFSを書きました。 書き直す時です...

5月に、ELF実行可能形式のサポートの記述を開始しましたが、完了しませんでした。ファイルは起動しましたが、しばしばクラッシュしました。 9月まで、私はインターネットがなく、ネットワークに対するまれな攻撃の間、編集をGitリポジトリに注ぎました。 そのとき、ハードドライブドライバーを作成し、Ext2ドライバーの開発を開始しました。

10月に、移植しやすい素晴らしいライブラリをいくつか見つけました。 それらの1つは、TrueTypeフォントのレンダリングを目的としています。 それは素晴らしかったです! 次に、今度はさまざまな形式で画像を表示するための同じライブラリを見つけました。 現在、ネットワークドライバーを完成させ、NFS Most Wanted 2005のクローンを2Dで作成する計画があります。



助けが必要です



OSに問題があります。 これはレンダリング、つまりその抑制です。 チームにはセットがあり、Cの知識と仕事をしたいという願望があります。



参照資料



ソースコード: gitlab.com/bps-projs/U365/tree/testing



All Articles