ページへ戻る

− Links

 印刷 

design004 :: OSASK計画

osaskwiki:design004

ページ内コンテンツ
  • 最近のOSASKの目指しているところ
      • (0) このシリーズについて
      • (1)
      • (2)
      • (3) 将来の補足
      • (4) 背景の補足
  • こめんと欄

最近のOSASKの目指しているところ anchor.png[1]

  • (by K[2], 2008.10.12)
  • 1ヶ月くらい様子を見て、問題がなさそうなら「川合のぼやき」に書く予定。
Page Top

(0) このシリーズについて anchor.png[3]

  • これは当初「川合のぼやき」に書こうかどうか迷った内容のものを書くことにしたわけだけど、ここは僕のホームページではなくOsaskWikiなので他の誰が書いてもいいものだと思う。
  • ただこのシリーズの趣旨としては、OSASKの設計に関する話を書いているので、他の人が書く場合もそれには準じてほしい。で、僕以外の人がOSASKの設計に関する話を書くなんてことはまずないと思うかもしれないけど、そんなことはなくて、たとえばこういう考え方のもとでこうしたらどうかという提案はできる。
  • 基本的に一つの話題に1ページ使ってしまうので、ちょっとした提案であれば、OSASK-MLやimpressions[4]を活用してもらうほうがいいと思う。
Page Top

(1) anchor.png[5]

  • 僕はOSCなどで大勢の人にOSASKを説明する必要性に迫られるわけだけど、そこでの説明のしかたは http://osask.jp/[6] でのものと完全に同一というわけではない。全部を説明する時間なんか無いので大幅に要約して1分とか30秒とかで説明する。そうなると、開発背景とか長期的なビジョンとか、そういうことを丁寧に説明することはできない。その説明は当然のことながら現状を強く反映していて、古い内容のホームページよりもむしろ僕の気持ちに近い気がする。ということで、僕が1分くらいで説明する内容を10倍くらい詳しくしてここに書きたいと思う。
  • 誤解がないよう念を押すが、僕の気が変わってページに書いてあるとおりのことを目指さなくなったというわけではない(そうであればページは修正されるべきだ)。ただどこに力点を置くかは変わっている。なんというか僕の言い回しで言えば、優先順位が変わったということだ。
Page Top

(2) anchor.png[7]

  • 背景・歴史:
    • OSASKはエミュレータの存在を前提にした設計でOSを作ろうということで始まった。それは従来のものとの互換性の放棄や仮想化の思想などを中心にしたものだった。同時に既存のOSはやたらと大きくて遅いように思えたのでそれも改善したいと思った(つまり当初は高速化やコンパクト化は最大の動機ではなかった)。
    • 自分なら作れると思って始めたわけではない。できるかもしれないしできないかもしれない。でもやらなければ絶対に出来ないし、やってだめならあきらめもつくと思った。
  • 現状:
    • 今は単に超絶に軽いだけのOSでしかない。しかもいわゆる実用レベルには(何をもって実用とするかはいろいろ意見があるけど)ちょっと遠い。しかし、このサイズのOSがこれだけの機能と性能を持ちうるという証明にはなっている。証明とか言い出した時点で、大学などで作られている研究目的OSと大差ないともいえる。しかも僕が証明したいのは自分やOSASKコミュニティの開発力ではなく、このスペックのPCが実はこれだけの処理能力を秘めていたのだということだ。ベンチマークで秒間○○の転送能力があるとか、演算能力があるとか、まあいろいろ数値はあるけど、その数値はつまりこれだけのことをこの速さで(=ストレスない速さで)できるということ意味しており、それを忘れないでほしいということだ。つまり僕が証明しているのはみんながボロだクズだと見捨てた機種の本来の性能である。
    • 今の僕はこの速さとコンパクトさという方向性に満足している。これは非常に良い。エミュレータやOSの再設計などよりも良い。ということでOSASKは意図せず予想以上に軽量なOSになってしまったが、この結果のせいで追求するべき第一目標と第二目標は完全に逆転した。むしろ軽量化のためにエミュレータを前提に再設計したということになっている。当初は前述の通りそこまでの目的意識を持って再設計に挑んだわけではなかった。でも今にして思えば「なぜ再設計する必要があったのか」といえば、やっぱり「従来のOS構造は効率がよくない(=エミュレータに任せればいいことをそれ以外の方法で解決しようとしているのでうまくない)」と思ったからで、まあ、結局は効率向上のためといえばそのとおりだから、これは全くのウソではない。
    • 実用性は無いと書いたそばから言うのもなんだが、僕自身はちょくちょく使っている。TOWNSや98でゲームをして遊ぶにはこれほどいいOSはないし(特にkaodunは面白い)、プレゼンテーションするにも僕にはちょうどいい。何かメモを取るときはテキストエディタで十分にできる。WindowsやLinuxの代替になるかといえば絶対にそんなことはないけど、でも使い道が全くないというわけではないのだ。
    • こういう現状なので、僕の推奨する今のOSASKの使い方は、押入れからかなり古いPCを探し出して、ダウンロードしたOSASKを使って、なんだお前はこんなに速かったのか、使えないパソコンだと見捨ててしまってゴメンな、悪いのはお前じゃなくてムダに肥大化したソフトのほうだったんだな、ともの思いにふけってもらえればそれでいいのだ。そしてFirefox2系から3.00への進化のような軽量化への進歩を歓迎するように心がけてもらえればいい。そうすればゆっくりとだけど世の中の流れが変わって、僕の望む理想に近くなる。
  • 将来:
    • OSASKにネットワーク機能を載せて、Officeソフトも移植して・・・という方向性は確かにありうる。もしくはエミュレータ機能を付けて・・・という方向もありうる。ありうるというか僕は今でもこれらを将来やるべきことにリストアップしている。しかし最優先ではない。
    • はっきり言って僕やコミュニティの開発力からすれば、これらの目標は荷が重過ぎる。僕としては軽いOSが使えるようなる未来があればいいのであって、それは自分で作ったOSASKでなければいけないというわけではない。というか他人が、OSASKの目標としているOS、もしくはそれ以上のものを先に作ってくれるのなら、これほど楽なことはない。・・・なんというかOSASKを実用的にするよりも、LinuxやWindowsが軽量化に目覚めてくれたほうが早く目的に達せそうな気がするのだ。
    • ということで、OSASKは「ソフトウェアも軽量化を心がければここまで軽くできる」という見本であり続けられればそれでいいと思う。だから当面は機能の追及よりも、みんなが「この機能を果たすにはこれくらいの負荷はしょうがない」と思われていることを覆すようなことをやり続けたいと思う。そういう観点ではOSASK-HBでのefg01みたいな機能は多くの人に驚きをもって迎えられたので大変うまくいっている(OSが変わればCPUが同じでもそれまでのソフトウェア資産はすべてあきらめるというのが必然だと思われていたので)。ネットワーク機能など誰にでも思いつくようなものを実装して、OSASKならこれくらいは当然という結果を出すのもいいけど、それよりは多様な可能性を示し続けるほうが上記の目的にはかなっている気がする。もちろんそういうネタが尽きれば、今度こそ実装率を上げて行くほうが重要だろう。
Page Top

(3) 将来の補足 anchor.png[8]

  • そうはいっても、だからOSASKはメガデモというか、そういうびっくり箱みたいなものを目指して、一発芸が受ければそれでいいかというともちろんそうじゃない。一発芸はとても大事だけど、それだけじゃおもちゃにしかならない。少なくとも僕にとっては実用的でなくてはならない。使う場面が増えるようなことをやっていきたい。
  • たとえばネットワーク機能だけど、僕の実感として結局OSASKが使われるのは、TOWNSと486級のPCが中心だ。(持ってはいないけど)Core2DuoのPCでOSASKを使いたいとは思ってない。別にLinuxでいいんじゃないかと思う。そんなにストレスを感じるわけじゃない。今すぐOSASKを実用化しないと困るというわけじゃないのだ。そりゃまあ軽ければ軽いに越したことはないからあれば使うけど、でもそういうものがないならとりあえず我慢したっていい。・・・で486級のPCでネットワーク機能があればうれしいかといえば、まあそりゃ使えないよりは格段にいいけど、でも最近のページは根本的にムダに重いし、それらのページにアクセスできるだけの帯域をこれらの機種がサポートできる気がしない。そうなるとメールとIRCくらいしかできない。その程度のために優先的にがんばるべきなのか。だからどうしても及び腰になる。USBデバイスもこれらの機種には当然搭載されていない。
  • エミュレータにしても状況は似ている。Windowsアプリなら普通にWindowsで動かせばいいじゃないか。VMwareやXenなどの仮想化がはやったおかげで、複数のOSを切り替えて使うのはかなり容易になった。OSASKが目指しているシームレスなエミュレータにはなってはいないけど、でも前進であることは間違いない。聞くところによればWINEもだいぶよくなったそうじゃないか。・・・その上僕としては、すでに肥大化しまくったWinアプリやLinuxアプリをOSASK上で動かすことそのものにあまり魅力を感じなくなってしまった。OSASKがWindowsやLinux並に大きくて遅いOSなら、まあこれらのアプリを使っても良かっただろう。しかしOSASKは超軽量OSであって、その特徴を相殺しかねないようなアプリを積極的に使いたいという状況がよく分からない。それならアプリも作り直して小さくするほうがいい結果になりそうだ。それでOSASK-HBになったわけだ。しかもOSASK-HBのアプリは他のOS上でも動くから、目的には近づいている。大きいゆえに利用環境を選ぶようなものを相互に利用可能にするよりは、小さいゆえに利用環境を選ばないものこそ相互に利用可能であるべきだ。
  • 僕としてはみんなが容易に思いつくような改善点は基本的に後回しにしたい。それは僕による実装を後回しにするというだけで、コミュニティの誰かが活躍するのを妨げる気はない。むしろ不満を持つ人が積極的にやればいいものができるのではないかと思う。それでもしコードが大きすぎれば僕が不満を持つだろうし、もし不満を持てば僕だって直すだろう。
Page Top

(4) 背景の補足 anchor.png[9]

  • もっとさかのぼって考えると、僕はFM-TOWNSが廃れていくのが不憫でならなかった。TOWNSは初めは主にNECのPC-98と競争していた。僕から見れば(ハードウェアスペック的には)明らかにTOWNSのほうがいいのに、国内シェアは98のほうがずっと上だった。もちろん僕個人としてはTOWNSの人気がないほうがメリットではあった。だって中古機をおかげでかなり安く買えたから。
  • そしてTOWNSはWindowsパソコン(AT互換機)とも競争するようになった。これに関してはハードウェアスペックで勝っていると言い切れるほどの優位性はなかったけど(でも最初のころは同価格帯の機種には勝っていた)、だんだん差が小さくなってそして結局最後には負けた。
  • 僕がこの競争で強く感じたのは、とにかく「いい機種」であっても世間はそれを容易には評価しないということだ。そしてそれはとてもよくないことだと強く思った。だから僕はV98というエミュレータを作って、TOWNSは98よりもいい機種だということを示そうと思った(98にできることができて、そのうえTOWNSにしかできないことができるのだから、そりゃTOWNSのほうがいいことになる)。これはまだTOWNSがWindowsパソコンに負ける前のことだ。
  • 僕が望んでいるのは正しい競争である。本当にいい機種が競争に勝ち残るようなそういう世界であるべきだ。僕たちはソフトウェアの非互換性のために本当にいい機種かどうかを客観的に判断できない状態に置かれている。だからそれをエミュレータ技術で克服し、その共通の基盤としてOSASKというOSを準備しようと考えた。これこそOSASK計画の当初の目的だった。この頃の僕は「OSASKを普及させる」ことをかなり意識していたと思う。だって競争に寄与するためには使ってもらわなければ意味がないから。

  • その先は上記の通りだ。どのハードウェアでもすべてのソフトウェアがどの機種用であるかを意識しなくなって使えるという理想は、自分の実力ではすぐには実現できなさそうなことが分かった。その上、OSが思った以上に速くて小さくなってしまい、これが実に気持ちよかったために、その特徴を生かすことを優先して開発することにした。これは同時に僕が大きくて重いソフトウェアを使う気がなくなったことを意味する。自分に使う気がしないものを動かすためのエミュレータを作るのは実に気乗りしない。それでかなり後回しにすることにした。
    • 実はV98のときも自分で使う気はほとんどなかった。それでも熱心に作ったのは、TOWNSの実力を証明してやりたいという思いがあったからだ。それに対して、OSASKにエミュレータを乗せてWindowsやLinuxのアプリを動くようにすることは、一体何かを証明するだろうか。OSASKというOSが優れているということ?そんなことは既に小さくて速いことで証明済みだ。僕の技術力?僕はそんなものを証明することに興味がない。
  • 僕は今でもエミュレータに期待している人が少しいることは知っている。その人たちに言えることは2つしかない。・・・もし早くほしいのなら自分で作ってください。ほしい人が作ることこそ、いいものを早く作る秘訣だから。もしくはあなたがたも軽いOSの良さを知ってください。どんなにいいエミュレータを書いて高速に動かせたとしても、ファイルサイズは減りません。それに速度もOSASKアプリには追いつけません。そもそもOSASK上で使いたい他のOSのアプリってなんですか。いくつありますか。エミュレータを作るよりもそれを移植するほうが目的をよりうまく達せそうな気がしませんか。・・・さらに高速かつコンパクトに移植したものが他のOS上でも動いたらもっといいですよね。それがOSASK-HBの新アプリ規格なんです。
  • OSASKというプロジェクトはソフトウェアをただ作ることが目的ではない。常に何らかの目的を持ち、それをかなえるためにソフトウェアを作っている。目的をよりよく達成するために、作るべきものを変更することだってありうる(とはいっても今のところ変更はなくて追加して優先順位をいじっているだけだけど)。作っても意味のないものは作りたくないし、作っても効果が薄いもの、実用性に疑問を感じるもの、すでに他のOSを使えば可能なことなどは、やはりそうではないものよりも優先順位を下げざるを得ない(この機種で実用的な速度で○○するにはOSASKしかない、みたいなのが一番いい)。

  • 先日arigayasさんからimasy上の僕の古いページにアクセスできなくなっているという指摘を受けた。それで少しずつ発掘している。その中でかなり初期の内容のものを見つけたのでリンクしておく(今でもgoogleのキャッシュからなら見れるけど、キャッシュに頼るのはあまりよくないと思うので)。
Page Top

こめんと欄 anchor.png[12]


Last-modified: 2009-11-21 (土) 00:00:00 (JST) (319d) by k-tan