Skip to content

再配置可能な WAX の ABI と複数インスタンス起動を設計する #90

Open

Description

@src3453

2026-10-25 実装状況の照合

リモート main 921a935 を基準に確認。

現在の契約

WAX 自体は固定アドレス形式だが、#105 の仮想記憶対応後は、同じアプリの同時起動が一律 ADDRESS_CONFLICT になるわけではない。foundation/kernel/proc.c の load_module は VM 時に VM_NO_SLOT とプロセスごとのページ表を使う。tools/llvm-src32/test_toolchain.py の test_foundation_vm_kernel は同じアドレスの独立したプロセスを扱う。

固定スロット構成では占有スロットへの spawn が ADDRESS_CONFLICT になる。8保護領域制約もスロット構成の契約であり、VM に一律適用しない(doc/spec_Foundation.md §5)。

残作業・受け入れ条件

  • R30 origin に基づく再配置可能 WAX の配置・entry・静的参照・関数ポインタ・WAL import と形式識別/互換性を仕様化する。
  • loader / LLVM / sol の段階的実装案を用意する。同じ仮想アドレスを別ページ表で使う VM の既存機能と、異なる基底への再配置を区別する。
  • 異なる基底に同じ画像を配置し、独立データで同時実行するテスト案を作る。
  • 原子的な失敗・ゼロクリア、固定 WAX v2/v3・WAL の回帰を維持する。スロットと VM の制約を分けて検証する。

成果物はまず仕様と実装計画。WAX v3/WAL や VM の再実装課題にはしない。

根拠: doc/spec_WAX_v3.md、doc/foundation_os_plan.md。移行元: KAN-32。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions