要求に応じて簡単・安全に機能の拡張や性能の最適化が可能な連携サービスバス(分散OS)
LP49 __/__/__/__/
(Last updated: 2010/06/30)
LP49 : L4 と Plan9 を発展させた連携サービスバス(分散OS)
- ●連携処理基板
- 分散配置されたオブジェクトのスムースな連係。
- ●マイクロカーネルとマルチサーバ構成
- 強固なガード、高信頼化、頑丈化
- ●Simple, Scalable, Secure component, , ,
- Paperwareではなく実働Softwareコンポーネント。
- ●分散OS学習/開発の教材
- オープンソース。新しい機能を手頃なサイズで実現。
ソースプログラムとバイナリの最新版
- 能動オブジェクトライブラリ libactobj.a [To be extended]
- 能動オブジェクトライブラリを使ったウィンドマネジャー:進行中
- VGA について
- 本格シェル rc が進捗。Shell scriptも動く。
- Make について
資料
簡単便利なイメージファイル類
【使い方 (Linux上)】
[1] plan9.img.gz を解凍する。
[2] qemu -hda plan9.img -std-vga
[3] 使用ファイルシステムを聞いてきたら Return を打鍵。
[4] User名を聞いてきたら glenda と入力。
[5] Plan9 がはじまる。
【使い方】
% qemu -cdrom lp49-boot.cd -std-vga
【使い方】
% gunzip lp49.disk.gz
% qemu -cdrom lp49-boot.cd -hda lp49.disk -boot d -std-vga
⇒ CDイメージとHDDイメージを与え、CDイメージからブート(-boot d)させる。
今のところブートはCDからのみ(USB-MEMブートさせたいが手がまわらない)。
--- LP49 ---
LP49[/]: mount -ac /srv/dos /c /dev/sdC0/dos-0
⇒ ハードディスクイメージのDOSファイルシステムが /c にマウントされる。
LP49[/]: cd /c
【使い方 (Windows-XP上)】
[1] qemu-0.9.zip を(例えばデスクトップ上に)解凍する。
[2] qemu-0.9.1-windows-LP49 フォルダを開く。
[3] そこから LP49 フォルダを開く。
[4] lp49-1.bat をダブルクリックすると、1台目のLP49が立ち上がる
[5] lp49-2.bat をダブルクリックすると、2台目のLP49が立ち上がる
なぜか Windows-Vista では動作しない ???
(理由をご存じの方は、教えて下さい)
能動オブジェクト(平行オブジェクト)モデルによるプログラム書き直し
現プログラムのプロセス間通信は Plan9 の機構をそのまま使っている。
L4マイクロカーネルを使った能動オブジェクト型にプログラムを書き直す事で、
プログラムの大幅な簡明化を行う。
応用プログラムとサーバ間通信の改善
現プログラムでは、全てのシステムコールはLP49-coreプロセスを経由して
該当サーバと通信している。
これを、LP49-coreが目的サーバを見つけてクライアントプロセスとサーバ間のリンクを
確立(open()/create()/walk() )したら、あとはクライアントプロセスで直接通信を
行うようにする。
プログラムの掃除
現プログラムは試験コードが混在しており、分かり難いと思われる。
分散OS学習に使えるように、分かり易く書き直しをしたい。
L4 と Plan9 の本家WEBサイト
L4マイクロカーネル
Plan 9 from Bell Labs
Plan 9 は、継続的に更新されています。
本ファイルは、LP49がベースとしている 2006-Spring 版です。
これが
Plan 9 ソースコードの TAR file
です。
参考リンク