これは、Zigプログラミング言語で書かれたオープンソースオペレーティングシステムプロジェクトです。
Bamosは新しい標準を導入していませんが、既存の標準の可能な限り最高の実装を目指しています。
このプロジェクトの主な機能と目標は、可能な限り、十分に文書化された簡潔なコードベースを備えた軽量で非常に高速なオペレーティングシステムを開発することです。
カーネルとユーザースペース(GNU/Linux、Windows NTなど)の間に複数のシステムABIのネイティブサポートを同時に含めることを目的としています。これにより、ユーザーエクスペリエンスが大幅に改善され、ソフトウェア開発者の作業が簡素化されるはずです。

C/C ++などの馴染みのある確立された言語や、より安全な錆のような言語にもかかわらず、私たちの選択はZigです。
Zigは、C/C ++のより安全で機能的な代替品を提供しながら、錆よりも維持可能になるほどシンプルです。 Zigは、高速で最適化されたマシンコードを生成できます。その主な利点の1つは、コンピレーションプロセスをシームレスで信じられないほどシンプルにするビルドシステムです。
カーネル実行可能ファイルを作成するには、必要なのはソースコード、Zigコンパイラ、およびコマンドzig build kernelだけです。
一般的なOSドキュメントはこのページで入手できます。
コードドキュメントはこのページで入手できます。ローカルでドキュメントを生成する場合は、次のコマンドを実行します。
zig build docs静的サイトはdocsディレクトリに配置され、以下を使用して起動できます。
cd docs
python -m http.server標準ライブラリのZig言語の説明とドキュメントは、公式Webサイトにあります。
バモスはまだ小さいながらも成長しているプロジェクトです。
貢献を歓迎し、プロジェクトの開発と進化に参加するように勧めます。
貢献に関する情報を参照してください。
ビルドプロセスは非常に簡単です:
git clone https://github.com/bagggage/bamos.git
cd bamos
zig build kernel --release=[small | safe | fast]デフォルトでは、ビルド結果は.zig-outディレクトリにあります。別のパスを指定するには、ビルド中に--prefix=[path]オプションを使用します。
現在、OSはサードパーティのブートブートブートローダーに依存しており、 bootboot/mkbootimgユーティリティを使用して画像を作成しています。将来的には、この段階を簡素化し、よりクロスプラットフォームにすることが計画されています。ただし、今のところ、画像を作成するには、次のことが必要です。
mkbootimgを解凍します。env.shにBOOTBOOT変数を設定して、 bootboot-binディレクトリへのパスを指定します。iso.shを実行します。デフォルトでは、画像はdistディレクトリに配置されます。
迅速なOSテストと起動のために、QEMUエミュレーターを使用することをお勧めします。
Windowsでは、事前にPATH Environment変数にqemuディレクトリを追加する必要があります。
プロジェクトのルートディレクトリには、 qemu.shとdebug.shスクリプトがあります。
qemu.sh 、エミュレータで事前に構築されたシステムイメージ(デフォルトでdist/bamos.iso )を実行します。debug.shコンパイル、画像を作成し、エミュレータでシステムを実行します。 バモスは開発の初期段階にあり、多くのことはまだ実装されていません。さらに、実装の作成とオペレーティングシステムアーキテクチャの開発には、最良のソリューションを見つけるための反復的なアプローチが必要であるため、いくつかの詳細が変更される可能性がありますが、これはすべてより良いものです。
プロジェクトで既に実装されているものと現在どの段階にあるかを追跡するには、このページをご覧ください。