ENGINEERING DETAIL

WAYFINDER OS エンジニアリング詳細

このページは、手法を確かめたい方のためのものです。どこまでを自作するのか、ライセンスの境界をどう引くのか、72 時間の電力収支をどう計算するのか、規模の見積もりの根拠は何か。数値はすべて計画値で、実測結果ではありません。

WAYFINDER OS が何を目指し、なぜ作るのかを先に知りたい方は、システムページをご覧ください。

WHAT WE BUILD

自作の境界を、
まず明確に。

目標は「WAYFINDER OS のアドレス空間内にサードパーティのコードをゼロにする」こと。これは設計と検収の要件であり、完了した監査の結果ではありません。

OS イメージ、カーネル、ユーザープログラムに含めるコードは、チームによる自前実装を原則とします。プラットフォームファームウェア、開発ツール、独立したチップのファームウェアは分けて管理します。メモリ配置、リンク結果、実際にロードされる内容は、いずれも照合が必要です。

開発ツール
GCC / Clang、binutils、GDB、OpenOCD、git は開発用途に使えます。コンパイラがランタイム関数の呼び出しを生成することがあるため、libgcc、compiler-rt、スタートアップオブジェクト、リンクイメージも確認が必要です。ベアメタル向けのコンパイルオプションを使っただけで、サードパーティコードがゼロだとは言えません。
プラットフォームファームウェア
DDR 初期化と BL31 は、実際のプラットフォームに応じて出所、入手性、ライセンスを確認します。BL31 は EL3 でランタイムサービスを提供し続けることがあるため、起動後に消えるプログラムと一律にみなすことはできず、一律にクローズドソースとみなすこともできません。
独立チップのファームウェア
EG915U、Genio に付随する Wi-Fi/BT、nRF54L15 などのチップ上のファームウェアは、外部モジュールへの依存として扱います。メイン OS のコードではありませんが、バージョン、インターフェース、更新方法は記録する必要があります。

技術的な境界の参考資料:GCC ランタイム関数の解説 ↗︎、Trusted Firmware-A 設計ドキュメント ↗︎。

ENERGY BUDGET

72 時間の電力収支。

計画上の仮定、実測ではありません
72 時間の電力収支は、どう確かめる?

計画上の仮定として 1S 5000 mAh、公称 3.7 V で計算すると、名目エネルギーは約 18.5 Wh。使用可能エネルギーを 16.7 Wh とすると、72 時間の平均電力予算は約 232 mW です。セル、変換効率、カットオフ電圧はまだ確認が必要です。

「動作 20%、フル負荷 2%」が重ならない時間比率で、残り 78% が待機だとすると、現在の消費電力の範囲で、動作とフル負荷のエネルギーは約 11.52–20.16 Wh になります。範囲の上限はすでに 16.7 Wh を超えています。そのため、待機電力を下げるだけで 72 時間を保証することはできません。

動作とフル負荷の合計を 16.1 Wh と仮定し、残る 0.6 Wh を 56.16 時間の待機に割り当てた場合に限り、約 10.7 mW という待機電力の上限が得られます。この計算には、繰り返しのコールドブートや、その他の算入していない損失はまだ含まれていません。

次は、各状態のエネルギー、1 回のコールドブートあたりの消費エネルギー、ウェイクアップ頻度、電源オフ前のデータ保存コストを測定し、本体全体の電力モデルを組み直します。ここでの 20% は動作時間の仮定であり、開発の進捗率や資金調達の比率ではありません。

自作 OS は本プロジェクトが選んだ道筋ですが、秒単位の起動は自作 OS だけのものではありません。Bootlin の Linux 起動高速化資料 ↗︎にも事例があります。これをもって、CORE のいずれかのシステムが同じ速度を達成できると推論することはできません。

SCALE ESTIMATE

規模とメモリの初期見積もり。

規模とメモリ:現在どんな見積もりがある?

チームの初期見積もりでは、全体の規模は 12–16 万行、項目別の合計は約 14 万行です。これは計画上の規模感で、完成済みのコードではありません。

コード規模の概算。機能がすでに存在することを示すものではありません
モジュール見積もり行数
カーネル:起動、MMU、GIC、スケジューリング、IPC、VFS15,000
SoC ドライバー25,000
libc12,000
描画と UI40,000
ファイルシステム7,000
周辺機器、電源、AT プロキシ20,000
アプリケーション層15,000
常駐コアのファームウェア6,000

イメージ 5–10 MB、実行時 RAM 64 MB 未満は、暫定のリソース予算です。表示解像度、ダブルバッファ、フォント、ドライバー、アプリケーションのワーキングセットに応じて見積もり直す必要があります。

40–70 人月、学生チームでは 60–140 人月という数字も未校正の初期見積もりで、行数から直接導けるものではありません。次は作業分解、投入できる時間、実際のデバッグ記録で校正します。

LICENSING

ライセンスと「自分で書き直す」の境界。

GPL と「自分で書き直す」の境界

U-Boot は全体として GPLv2 またはそれ以降のバージョンですが、個々のファイルには異なるライセンスや例外がある場合があり、ファイルごとの確認が必要です。コードの引用や書き換えが派生物に当たるかどうかは、名前の変更、言語の変更、「自分で打ち直した」ことだけでは判断できません。

GPL のソースコード提供義務は、対象となるプログラムの頒布に関わるものです。読んだり私的に改変したりしただけで、OS 全体を世界に公開しなければならないわけではありません。参考コードを採用する前に、出所、ライセンス、使用方法の記録を残し、そのうえで具体的な公開条件を確認します。

参考:U-Boot プロジェクトのライセンス説明 ↗︎、GNU GPL よくある質問 ↗︎。