history

青木日記 RSS

<前の日 | この月 | 次の日>

2005-01-23

OS 構想

つっこみより。長くなったので本文で書きます。

> メモリ管理誰がどうするつもりでした?
> 物理=仮想で突っ走るのかな。
> デバドラも ruby で書きますか。

そりゃ普通に C で。 Ruby でなんでもやる気はないんで、ドライバも C で書きます。 じゃないとドライバが再利用できないですから。 Ruby ではアプリケーションだけ書ければ十分でしょう。

仮想アドレスも使います。 というか Alpha だと仮想アドレス必須なので動かすしかありません。 それに OODB を実装するには仮想メモリ機構がないときっとやりにくいだろうし。 ユーザモードに移行せず、 全プロセスのアドレス空間が共有される UNIX、 と言ったらイメージが伝わるかなあ。 で、全プロセスでシングルスレッドの ruby が動いてる。

まあ、あるていどやってみないことには、 うまく融合できるかどうかはよくわかんないね。 とりあえず現状では実戦経験がゼロに近いので、 細かいところをつっこまれてもなんとも言えません。 この企画はもともとアーキテクチャの勉強をしようってところから 始まってるので、失敗してもいいです。うまく動いたらめっけもん。

まあでも、どうせなら実用になってくれるほうが嬉しいので、 実装コストはできるだけ下げて、 うんざりする前に version 0.1 が出せるように考えてます。

ただ、どっちかというと問題はカーネルよか ライブラリじゃないかと思うんですけどね……。 アプリケーションをまともに作るとしたら画像処理ライブラリなんかも必要だから、 libpng とか libjpeg とか、その他もろもろを全部移植しないとならない。 特にファイルシステムがないことで いろいろひっかかりそうな予感がします。

(05:09)

Ruby のドキュメント

あー、ちなみに、「Ruby 言語仕様」を作ったのは俺です。 従ってあれが中途半端になってるのも俺の責任です。 それだけははっきりさせておこう。

放置されている理由はいくつかありますが、挙げておくとこんな感じかな。

  • 「Rubyの文法」との違いがわからんと言われて意気消沈
  • Wiki で長文を書くのにウンザリした
  • 書いてみて、動作仕様の細かいところを厳密に 書けるほど理解してないことに気付いた (RHG 以前のものなので)
  • RHG を書き終わったころには存在を忘れてた。 ReFe もできたし、本体はもう読むことがなくなってしまったので気付かないまま

が、他のどこにも行きようのないセキュリティレベルの話とかがあるので、 全部消すわけにもいかず放置されているというわけです。

今年はバッサリとドキュメント全部書き直すのが目標なので、 そのついでに「Ruby言語仕様」も変更されるでしょう。

(04:29)

名前
メールアドレス

<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|

Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved. LIRS