AlmeidaOS
1.0.0
IntelおよびAMDプロセッサ向けのシンプルで自己完結型のクリーンコード、十分に文書化された趣味の64ビットオペレーティングシステム。これは、アセンブリ(Intel Syntax)とC(GNU99標準)で書かれており、ソースコードにコメントを可能な限り追加するよう努めているため、将来のOS開発者のリファレンスとして使用できます。
ゼロから書かれた次のコンポーネントが含まれています。
| 成分 | 説明 | ソースコード |
|---|---|---|
| MBR | 最初のステージブートローダー | コード |
| ローダ | セカンドステージブートローダー | コード |
| 成分 | 説明 | ソースコード |
|---|---|---|
| PML4 | ページング構造 | コード |
| 相棒 | メモリアロケーターシステム | コード |
| printk | printfのような文字列形式の解析ユーティリティ | コード |
| シリアルドライバー | RS232を介してPrintkMSGSを送信して、デバッグを支援します | コード |
| コアダンプ | デバッグ目的でCPUレジスタをダンプします | コード |
| syscall/sysret | リング3とバックにジャンプするように選択されました | コード |
| ピット | プログラム可能なインターバルタイマー | コード |
| 写真 | プログラム可能な割り込みコントローラー | コード |
| (x)遅延 | 私がPITを使用していることを考えると、タイトループに基づいています | コード |
| CMOS RTC | リアルタイムクロック | コード |
| スケジューラ | シンプルなラウンドロビンスケジューラ | コード |
関数がオンデマンド:コードが追加されています
もっと来る!スター/このリポジトリをご覧ください。
このアプリを構築するために、マシンにmakeとdockerがインストールされることが期待されています。他のすべての建物の依存関係は、このステップで作成されたDocker画像によって自動的に処理される必要があります。
それを構築するには、実行する必要があります:
make build
このアプリを実行するには、マシンにmakeているとqemu-system-x86_64がインストールされていることが期待されています。
make test
このOSにできることに焦点を当てないようにするために、短期的に実装したい機能のリストを作成することにしました。
素晴らしいことですが、私の生涯の中でやることが必要なことがあるかどうかはわかりません。
これらはすべて、アルメイダオスの開発中に私を大いに助けてくれた参考文献です
フォーラム:
本:本:
既存のOS:
コース: