目指せ、Hurdより前に完成部門より。
Anonymous Coward曰く、"2ちゃんねるのOSを作ろうスレッドでひげぽん氏を中心に開発が進められているMonaのver.0.1.5がリリースされた。(リリースノート, スペック, ダウンロード)
Monaは従来のOSの枠組みにとらわれない新しいOSを目指して2年前から開発されている。その大半は地道なカーネルの実装に費やされたため地味な印象があったが、今回のリリースで念願のユーザーモードアプリケーションが作成できるようになった。リリースに含まれるフロッピーイメージにはメガデモやオセロなどが収録されている。"
"Monaは主にC++で記述されているが、ひげぽん氏はOS作成に着手するまでアセンブリやC/C++の経験はほとんどなかった。2年間でこれだけのものに仕上がったというのだから驚きである。もちろんそれは2ちゃんねるでのアドバイスが大きな助けになっており、2ちゃんねるをうまく利用したバザールモデルとして注目に値する。
将来的にはマイクロカーネルを目指しており、プロセス間のメッセージングによって動作するモデルを追求している。現時点でマウスやキーボードがサービス(デーモン)として提供されている。
実機でフロッピーブートさせることの繁雑さを避けるためエミュレータを重視しており、ひげぽん氏自らBochs, Virtual PC, VMwareで徹底的に動作を検証しているのも心強い。
まだまだ検証に不十分な点が多いため、MonaBBSのMonaOS開発板にある動作・不具合報告スレッド(直リンク不可)への報告にご協力をお願いしたい。"
ひげぽん氏の人格 (スコア:3, すばらしい洞察)
Monaがここまできたのはひげぽん氏の人格によるところも大きいと思います。
普通の人だったら2ちゃんねるのあのものすごい荒らしには耐えられないでしょう。
これからも頑張ってほしいものです。影ながら応援しています。
開発人数・・・? (スコア:1, 興味深い)
BeOSと一緒の道を歩むんだろうか。
ポイントはアプリでしょう。ゲーム業界と一緒でソフトウェア・キラーコンテンツが無いと
ハード自体も売れないしOS自体も成長しないと思うんですが。
重たいOSにはなってほしくないと願います。
Re:ん? (スコア:4, すばらしい洞察)
知識とか経験とか楽しみの方が重要ですな。
親コメント
Re:ん? (スコア:2, すばらしい洞察)
親コメント
新キャッチコピー (スコア:2, おもしろおかしい)
親コメント
解説を (スコア:1)
「こいつはここがスゲーんだ!」
というポイントが見えてこないんだけど、
どのへんがスゴイのか、解説お願いします、エラい人。
--------------------
/* SHADOWFIRE */
Re:解説を (スコア:3, すばらしい洞察)
親コメント
OSなんて (スコア:2, すばらしい洞察)
親コメント
Re:解説を (スコア:2, すばらしい洞察)
親コメント
Mona搭載・・・ (スコア:1)
・Mona搭載PC
・Mona搭載モバイル
・Mona搭載ケイタイ
・Mona搭載PSX
#搭載する意味があるのか分からないがID
Re:Mona搭載・・・ (スコア:3, 参考になる)
Monaは基本的にC++で開発されているので、携帯等のプアな環境には向きません。
もっとも、最近の携帯は数世代前のPDAよりも強力になってきてますが。
親コメント
Re:Mona搭載・・・ (スコア:2, おもしろおかしい)
始祖あんりあ(Ichigo Mayo)
親コメント
Re:Mona搭載・・・ (スコア:2)
# そういやOpenGL/ESなんてのもあるな。
trueOne
親コメント
Re:Mona搭載・・・ (スコア:2, 参考になる)
・templateの使用
コンパイラにもよると思いますが、基本的に使われうる型の組み合わせの分だけ同じようなコードが生成されるのであっという間にサイズが肥大化する傾向があります。
・例外処理機構の使用
try文の中では、例外発生時にスタック等を巻き戻すのに備えてある種のチェックコードのようなものが埋め込まれて多少実行効率が落ちる、のかな?(ちょっと自信なし)
あとはまあ、いろんな処理をクラスにラップすることで見通しはよくなるが、コードのサイズでちょっと損をするという場合は往々にしてあるように思います。
親コメント
Re:Mona搭載・・・ (スコア:3, 参考になる)
しかし、かつて同じようにCのバイナリはあまりにも効率が悪く使いものにならないとMC68000で大量のアセンブラコードが書かれた事がありましたが、今では「gccの吐く68000コードはあまりにも効率が良く人間がいじる余地がない」という声を聞きますよね。また、かつてBe-OSは当時の環境 (今のPDAよりプアだったように思います) で高いパフォーマンスを見せていたように記憶しています。
コンパイラと設計次第だったりはしませんかね。いや、「使っちゃいけないC++の重要な機能」なんてのがあれば本質的な弱点なのでしょうけど…。
親コメント
解説求む (スコア:1)
というのは具体的にどこに現れているのでしょうか?
> 新しい技術に基づいてマイクロカーネルのOSを作成
とも書いてあるけど、単にマイクロカーネルと言うだけでは ありふれているし。どういう新規技術を導入した のか興味があります。 以前bitに、マイクロカーネルのIPCのオーバーヘッドを モノリシックのシステムコールのオーバーヘッドより軽くする 手法についての記事が載ったことがあったけど、それと 関係有る?
Re:解説求む (スコア:3, 興味深い)
>
> というのは具体的にどこに現れているのでしょうか?
他OSとの互換性(POSIXなど)を気にしていないという点です。
裏を返せば初心者が自分の好きなように遊んでいるだけですが。
> > 新しい技術に基づいてマイクロカーネルのOSを作成
> とも書いてあるけど、単にマイクロカーネルと言うだけではありふれているし。どういう新規技術を導入したのか興味があります。
そうだったらいいな、という理想です。実際に何か目新しい技術があるかと言えば、ありません。現時点ではマイクロカーネルですらありません。
> 以前bitに、マイクロカーネルのIPCのオーバーヘッドをモノリシックのシステムコールのオーバーヘッドより軽くする手法についての記事が載ったことがあったけど、それと関係有る?
現時点では動作させるのに精一杯という状態で、チューニングのことはほとんど考えられていません。FDドライバすら最適化されていない状態です。
もともと好奇心でOSを作りたくなったというだけで、革新的な何かを実装するためにやっているプロジェクトではないです。
親コメント
Re:解説求む (スコア:2, 参考になる)
ちなみに、Linuxもそもそもは「もともと好奇心でOSを作りたくなったというだけで、革新的な何かを実装するためにやっているプロジェクトではない」というものでした。ただ、実用を目指してPOSIX互換を前提にしていたのがmonaとの大きな違いですね。
とはいえ、この手の小さなOSというのは、学習用途には非常にいいと思います。いきなり*BSDやLinuxではいまや肥大化しすぎていますし、かつてのこの手の用途の王道だったMINIXは、いまやフリーになったとはいえいまさら感が漂っていますし。
で、「革新的なOSがいじりたいんだ」っていう人はPlan9あたりをいじりましょう。
#マイクロカーネル云々な人はL4 Hurdという手もあるな。
親コメント
ユーザーライブラリ (スコア:1)
QtからX依存の部分を切り離したもので、Unicode扱えるQStringクラスとかそれはまぁ色々なものが着いて来るんですが。
#暇になったらやってみよっかなぁ。
libstdc++はどうしたのかな? (スコア:1)
#だから普通のOSはカーネル内はC言語
その辺はどうやって乗り越えたのかな?