history

青木日記 RSS

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

2005-01-22

OS 開発

http://www.ipa.go.jp/jinzai/esp/2004mito2/gaiyou/6-6.html
CLIを実装する次世代オペレーティングシステムの開発
(笹田さんの日記より)

やられた。 まさに同じことを考えてたよ。こっちは Ruby だけど。 こないだから飲み会に出るたびに OODB とかスレッドとか言ってたのも、 Alpha のアドレス空間を調べてたのも実は全部それがらみ。 NetBSD と ruby をひっつけてストレージは全部 OODB、 プロセスなしで全部スレッド、という感じにしたかった。 見れば見るほどよく似てるなあ。

たぶんちょっと違うことを考えてたのは次のような点か。

  • Knoppix みたく CD-ROM 1 枚で実装してブートできるようにしたい
  • サポートするデバイスはストレージ・ネットワーク・シリアルのみ
  • サポートするネットワークプロトコルは IP/ethernet のみ

前者は手軽に試せるようにするため。 後者は単に手間を減らすため。 もともとの動機は「Alpha で動く OS 書きたい」で、 そのときはスクラッチから書こうと思っていたので、 とにかく手数を減らしたかった。 それでもシリアルが入ってるのはもちろんシリアルコンソールのためだ。 本当は telnet のみってのも考えたんだけど。

ちなみに、最初はストレージすら使わず、 すべてオンメモリにしようかと思っていた。 必然的にメモリ容量がそれなりに必要になるから、 まともに使うには 64 ビット環境が必須だ。 しかし手軽に試せるようにするためには IA-32 は切れないので、 メンテの手間も考えた結果 IA-32, AMD64, Alpha にしぼった (それでもやっぱり Alpha は入る)。 Opteron 欲しいなーとか言いだしたのも実はそのせいだ。

あと最近考えてたのは、 どーせすぐに流行ったりしないんだから YARV とか M17N とかの不安定な部分をドカドカ放り込んで Ruby の仕様実験場みたいにしようかってこと。 もはや最初のアイデアからはどんどん離れる一方だな。

くそー、名前も決まったし、 テスト専用の Alpha と IA-32 も用意してたのに……。 俺は作ると言って作らなかったものが多すぎるので、 今年一年かけて形にしてから表に出そうと思ってたんだけど、 甘かったか。

まあ、こういうアイデア自体は昔っからあるけどさ、 Lisp machine とか Smalltalk machine とか。 GUI とファイルシステムを捨てて、 マシン全体を強制的にオブジェクトの塊に しちゃうっていうところがちょっと独特なところかな。

あ、まだ作るとは決まってないですからね。 Ruby OS キター! とか叫ばないでくださいね?

(00:11)

13章

strftime(3) の解説に戻るです……

(00:13)

本日のツッコミ(全5件) [ツッコミを入れる]
さかい (2005-01-23 00:32)

Ruby OS キター! (お約束)

ささだ (2005-01-23 03:54)

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

shiro (2005-01-23 05:00)

OSKit + PLT Schemeってのがありましたね。5時間で作れたそうです。ファイルシステムはオンメモリのみとか言ってますが。
http://lists.tunes.org/archives/lispos/1998-December/002514.html
OSのディテイルに時間をかけたくないのなら、こういう手もありなんじゃないでしょうか。

ささだ (2005-01-23 14:43)

あー、いいっすねー>Scheme Machine の記事。私も OSKit 使ってほげほげしてみようと考えてました。

青木 (2005-01-23 15:15)

5 時間は凄いですね。
これはお手軽そうでいいなあ。

名前
メールアドレス

<前の日 | この月 | 次の日>
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