Repolode
yhzhang0128

yhzhang0128/egos-2000

学生がコード全体を読めるよう、CとRISC-Vアセンブリ約2,000行で作られた教育用OSです。

スター
3,694
フォーク
320
未解決の Issue
0
最終コミット
2 か月前

これは何?

egos-2000は、CとRISC-Vアセンブリで書かれた教育用OSで、コードベース全体が約2,000行に収まっています。動作するOSのコードを学生が一行残らず読めるようにすることを目指し、デバイスインターフェース、メモリ管理、タイマー、プロセス、システムコール、ファイルシステム、シェルを扱います。

システムは3つのレイヤーで構成されています。earthレイヤーはtty、ディスク、タイマー、メモリなどのハードウェアを抽象化し、grassレイヤーはハードウェアに依存しないプロセス制御とシステムコールのインターフェースを提供します。アプリケーションレイヤーにはファイルシステム、シェル、ユーザーコマンドが含まれます。各レイヤーのインターフェースは、ヘッダーファイルegos.h内で`struct earth`と`struct grass`として定義されています。

QEMUエミュレーターとRISC-Vボードの両方で動作します。このプロジェクトはEGOSの書籍と連携しており、書籍にはコードベースを使った9つのコースプロジェクトが収録されています。

主な機能

  • 01OSの主要コンポーネントを約2,000行のコードで実装
  • 02QEMUエミュレーターとRISC-Vボードで動作
  • 03ハードウェア、プロセス/システムコール、アプリケーションのコードを分離する3層設計
  • 04ファイルシステム、シェル、ユーザーコマンドを搭載
  • 059つのコースプロジェクトを収録したEGOSの書籍と連携

ユースケース

  • ハードウェアインターフェースから上位層まで、OSの仕組みを学ぶ
  • 学生が小規模なOSカーネル全体を読み、機能を拡張するOSの授業で使う
  • 新しいRISC-Vボードやプロセッサ実装にOSを移植する

クイックスタート

  1. 1

    egos-2000 の実行方法については、USAGES.md をお読みください

使う前に知っておきたいこと

  • メタデータにライセンスが記載されていないため、再利用条件が不明です。
  • QEMU と RISC-V ボードでのみ動作し、ほかのハードウェアでは動作しません。
  • コード量が約 2,000 行の教育用 OS であり、本番環境向けのオペレーティングシステムではありません。

トピック

よくある質問

egos-2000 とは?
学生がコード全体を読めるよう、CとRISC-Vアセンブリ約2,000行で作られた教育用OSです。 egos-2000は、CとRISC-Vアセンブリで書かれた教育用OSで、コードベース全体が約2,000行に収まっています。動作するOSのコードを学生が一行残らず読めるようにすることを目指し、デバイスインターフェース、メモリ管理、タイマー、プロセス、システムコール、ファイルシステム、シェルを扱います。
egos-2000 は無料で使えますか?ライセンスは?
egos-2000 は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
egos-2000 は今もメンテナンスされていますか?
半年以内に更新あり。egos-2000 の最終コミットは 2026年8月16日 です。
egos-2000 は何に使えますか?
ハードウェアインターフェースから上位層まで、OSの仕組みを学ぶ 学生が小規模なOSカーネル全体を読み、機能を拡張するOSの授業で使う 新しいRISC-Vボードやプロセッサ実装にOSを移植する
egos-2000 のインストール方法は?
egos-2000 の実行方法については、USAGES.md をお読みください
egos-2000 はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/yhzhang0128/egos-2000

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト