OSASK-WikiのKの落書きの過去ログ

  • 本家:OSA:K
    • 過去ログにコメントしたい人も、本家のこめんと欄に突っ込んでください。
      • そのうちKによって下のこめんと欄に移動しますので。

2004年のKの総括

  • (2004.12.30)
  • 今年は最初にこんな予定を立てていた。
    • 1.生活資金集め(苦笑)
    • 2.OSASKのサウンド対応(APIレベル:SB16, TOWNS, AC97, YMF724)
    • 3.ネットワーク対応(えせ未満:I/O直叩きアプリにて)
    • 4.KHBIOSの最低一回のリリース
    • 5.DOSASKの最低一回のリリース
    • これくらいなら何とかこなせそうかなあ。だめかなあ。
  • 予定を立てたからには、どのくらい達成できたかを評価する必要があると思う。ということで1年を主観的に振り返ってみたい。
  • 僕がやったことを時系列で適当に並べてみた。カッコ内は費やした時間のめやす。
    • お仕事をさせてもらった(3ヶ月くらい)
    • がちゃぴんPCを作った(1ヶ月くらい)
    • 未踏に応募した(1.5ヶ月くらい)
    • tek1〜5の開発に乗り出した(5ヶ月くらい)
    • 高校野球とオリンピックを見入ったうえに、その後に体調崩して開発停滞(1ヶ月くらい)
    • 和製OS界への援助(OS-Wikiの整備やBBL対応など)(0.5ヶ月くらい)
    • オープンソースカンファレンスやオンライン会などのために使った時間(0.5ヶ月くらい)
  • 仕事をしたこと以外は、まったく予定とは違っている(苦笑)。
  • しかし、方向が違っただけで、開発そのものが進んでいないということではない。
    • 未踏の応募やオリンピックなどは、全然開発に寄与しない時間だけど。
  • 2ちゃんねるを見ているとtekの改良がOSASKの開発とは関係ないと思っている人がいるようで、OSASKの現状を「開発停滞」だとみなしているが、僕は全くそう思わない。
  • OSの開発で重要なことは何かと言うと、その順位付けは人によって多少の違いはあると思うが、タスクスケジューリングやメモリ管理など、一般にOSに必須と思われている機能の重要度は多くの人が理解するところだと思う。各種のデバイスドライバやシェルやアプリケーションの開発は、それよりは重要度が劣る。
  • OSのあるべき姿を理解しない人には、圧縮の重要性は分からないと思う。OSにとって圧縮はオプショナルであって、アプリケーションレベルでのサポートで十分だという視点は確かにある。そう考えればtekの開発はOSASKの開発ではない。・・・しかし僕はそうは思わない。圧縮はOSレベルでサポートするべきものであり、それはタスクスケジューリングやメモリ管理に匹敵する重要度である。少し重要度を下げてファイルシステムレベルで圧縮をサポートする方法ももちろんあるが、これは使い勝手が悪くなるのでうまくない設計だろう。
    • もしアプリケーションレベルでのサポートになると、展開キャッシュのような仕組みはまず作れない。アプリが10回連続で起動すれば、SFXルーチンは生真面目に10回展開ルーチンをまわすことになる(UPXがまさにこれ)。これは結果的にマシンパワーの浪費となる。OSが展開を管理すれば、展開キャッシュのような仕組みを設けることで、1回しか展開しないで済む。
    • ファイルシステムレベルで圧縮・展開をサポートした場合はこんな問題が起きる。たとえば誰かが作ったゲームをダウンロードした場合、当然そのゲームには圧縮が掛かっていない。掛かっていたとしても.tar.bz2とかそういうものであり、これは解かれる。圧縮を利用したいと思えば、各自が自分のHDDやCFやFDなどに入れるときに圧縮することになるだろう(ファイルシステムレベルで圧縮をサポートすると、ファイルシステムの外では無圧縮でやり取りされるため)。そうなるとじっくり時間をかけて圧縮する気にはなれない。じっくり圧縮するユーザもいるかもしれないが、多くの人はそうはしないだろう。・・・OSASKの方法だと、アップロードする人がリリースするときに圧縮しておけば、ダウンロードした人のマシンで圧縮プログラムを使う必要はない。圧縮のためにCPU時間を使うのはリリースする人だけである。圧縮の恩恵にあずかりたいと思う人全てが負担するわけではない。
    • OSASKの場合、アプリを作る人は圧縮ファイルの存在を意識する必要が全くないが、OSの設計のあちこちで、tek圧縮の存在を仮定している。むしろそのおかげで、ユーザやアプリプログラマは、何の苦労もなくtek圧縮の恩恵にあずかれる。他のOSではこうはいかない、残念ながら。
  • そういうことを踏まえて考えれば、圧縮技術はサウンドやネットワークよりも重要だと思う、OS技術論的には。もちろん、ウケはよくないだろう。メモリ管理やタスクスケジューリングと同じく地味だ。OSASKを既存のOSの焼き直し程度にしか理解できない人には、既存OSがサポートしていないもののために僕が時間をかけるのは理解できないだろう。しかし僕はOSにおける圧縮技術の重要性を理解しているので、今年の進展に不満はない。
  • 予定していたものが進まなくて、その点では期待していた人に申し訳ないと思う。でも、この1年が停滞していたとか、進んでいないとか、そんなふうには考えていない。
    • とくにtek5の圧縮率や展開速度や展開時の必要リソースを踏まえれば、なおさらである。もしこれで今は無き旧tek3のような圧縮率しか出ていなければ、それは5ヶ月の開発には見合わなかったと僕も思うだろう。tek5は、他の圧縮形式に負けない。tek5よりも圧縮率がよいものは、tek5とくらべて途方もない作業用ワークエリア(メモリ)を必要とするものばかりである。そんなものはPCでしか使えないフォーマットであり、とても汎用的な(=つまりアプリだけではなくデータも圧縮するような)圧縮形式としては推薦できない。
  • 大きく譲歩して、tek1〜5がOSASKに寄与しないとしても、ソフトウェア界全体から見れば、発展に貢献したといえるだろう。tekに難点をつけることはもちろんできる。使いやすいツールがまだ充実してないとか、8MB以上の圧縮に対応してないとかである。それはもちろん今後改善すべき点だが、しかし基本的に「圧縮アルゴリズムとして」他の圧縮よりも実用性に優れているのは明らかだと思う。展開が速いとか、圧縮率がいいとかは重要だ。
    • むしろ、OSASKよりもtek&sarのほうが世に貢献している、という人もいる。うれしいような、うれしくないような、複雑な気持ちになるけど(笑)。
  • 未踏はもう応募しない。だからもう来年からはこの手のロスは無い。そう判断できるようになったことが、今年の未踏応募の収穫だろうと、僕は思っている。この結論のために1.5ヶ月を費やしたのは小さくは無い代償だとは思うが、これは仕方ない。
  • がちゃぴんPCを作ったことは、すごくいい勉強になった。使ってみるまでは、これほど静音PCが素晴らしいとは思わなかったし、消費電力の差も測定できてよかった。今ではすっかりメインマシンだ。Athlon1.2GHzは、もう半年ほど電源を入れてない。
    • そして今、75MHzの486ノートPCをサブマシンとして使おうかなと計画中。ずうーっと前に1,500円で買ったやつ。1.2GHzを頂点にして、どんどんクロックの山を降りている気がする・・・。
    • なんで使う気になったのかと言うと、ノートパソコンなら寒い日に布団の中で開発できそうだし、このマシンはKHBIOSの練習用にも良さそうだし、それに遅いマシンなら自分のプログラムのよくないところに気がつきやすそうだから。
  • 来年の目標は、また来年になったら考えよう。
    • でも今年の目標をそのまま引き継ぐことになりそうだな。どれもやりたいことだし。

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: 2006-02-16 (木) 18:00:08 (5977d)