オペレーティングシステム開発

オペレーティングシステム開発

私は、オペレーティング システムに関連する基本的な機能を実行する非常に基本的なオペレーティング システムを作成するつもりですが、低レベルのプログラムで作業したくないので、C/C++ で作業する可能性はあるか、また、C/C++ プログラムをオペレーティング システムにする方法を知りたいです。そのためには、異なる種類のプログラミングや手順が必要であれば、ご協力いただければ幸いです。ありがとうございます。

答え1

このリンクが役に立つかもしれません:コンピュータのオペレーティングシステムの作り方

リンクからの抜粋

  • 3 OS に何をさせたいかを決めます。グラフィカル ユーザー インターフェイス (GUI) を備えた完全な機能を備えた OS にするか、もう少しシンプルなものにするかにかかわらず、始める前に OS の方向性を決めておく必要があります。

  • 5 すべてを最初から自分で行うのか、それとも既存のカーネルをベースに構築するのか決めます。 ゼロから学ぶLinuxたとえば、独自の Linux ディストリビューションを構築したい人のためのプロジェクトです。外部リンクについては、ヒントを参照してください。

  • 6 独自のブートローダを使用するか、Grand Unified Bootloader (GRUB) などの事前に作成されたブートローダを使用するかを決定します。独自のブートローダをコーディングすると、ハードウェアと BIOS に関する多くの知識が得られますが、実際のカーネルのプログラミングが遅れる可能性があります。ヒントを参照してください。

  • 7使用するプログラミング言語を決定するPascal や BASIC などの言語でオペレーティング システムを作成することは可能ですが、C またはアセンブリを使用する方が適切です。組み立ては絶対に必要ですオペレーティングシステムの重要な部分には、コンパイラが必要です。一方、C++ には、別の完全に構築された OS を実行する必要があるキーワードが含まれています。C または C++ コードからオペレーティングシステムをコンパイルするには、当然、いずれかのコンパイラを使用する必要があります。したがって、ソフトウェアにパッケージ化されているか、ディストリビュータの Web サイトで入手できるかに関係なく、選択した C/C++ コンパイラのユーザーガイド、マニュアル、ドキュメントを読む必要があります。コンパイラに関する多くの複雑な事柄を知る必要があり、C++ 開発の場合は、コンパイラのマングリングスキームと ABI について知っておく必要があります。さまざまな実行可能形式 (ELF、PE、COFF、プレーンバイナリなど) を理解し、Windows 独自の形式である PE (.exe) が著作権で保護されていることを理解する必要があります。

関連情報