Updated: 2005.Mar.26 (16:53:30 JST). Total Access: 2743.

LINUX SPORTS

リヌクス・スポーツ
〜健康的なLinuxユーザのためのオンライン新聞〜
- 特集 -
- Column -

GUIとマルチメディア

初出 1999年3月22日(月)

1.近頃さえてる

 最近、筆者は冴えているようだ。

 前回までに私は、メディアの配布手数料で稼ぐフリーソフトのビジネスは、ブー タブルメディアでの配布でフリーソフトでもどんどん稼げることを示した。まあ、 こうすればどのPCにもそのメディアが1枚は附属することになって、メディア配 布側にもメリットになる。が、まあ良い。SunもそのOS商品のソースコードを公 開するビジネスモデルを見出したところで大いに自己満足の世界に浸ることがで きた。

 前回は、ソースコードが公開されることが当たり前となっても、特許という壁 が存在し、IBMなどが懸念していることも紹介した。すると、 Linus Torvalds氏も同様の懸念を持っている ことが報道された。Richard M. Stallman氏がそのような懸念を持っていること は、GPL2の文章に如実に現れており、想像できたが、Torvalds氏もそのような懸 念を持っていることに、やや安堵を覚えるものである。彼が私と同様の危機感を 認識しているということは、少なくともしばらくは、Linuxコミュニティで特許 のような危険性は避けてくれる可能性があるからである。今後、何らかの対策を 求める声が、世界中に広がればいいと思うのである。

 海外の動きとしては健全な進み方をしているということが、これらの報道で 明らかになったように思われる。 PlayStation の開発環境がLinuxになる ことも報道されたし、今後はLinuxもどんどん市民権を得ていくことだろう。あ とは、日本をはじめとして、localeなどの国際化(多国語化)がさらに進めばい いのだが…。locale関係をプログラムしてみようとは思っているのだが、どうも この辺は、どうやって実装すればいいのか、多少の時間をかけて取り組んでみる のだが、よくわからない。

 ここは私も疎いところなので、プログラマ諸氏の御指導をお願い致します。わ かれば、手数だけは提供できますので。

2.GUI

 ビジネスモデル、それからそれを取り巻く法的な問題について述べたわけだが、 それらをクリアしたとして、どういう商品を作っていくか、が次なるテーマであ る。最終的には賢いコンピュータが目標であるが、その手前で有効な使い方がな されていかねばならない。GUIとマルチメディアOSという2つの重要テーマが横 たわっている。

 GUIは、明らかに皆の注目しているところで、GnomeやKDEの動きにその熱意が 現れている。その前から注目を集めていたLesstifも、まだまだアップデートが 続いている。

 XFormsライブラリは皆さんご存知のことと思う。一度でもこれを使ったことが あれば、その簡単さに驚いたに違いない。ボタンやメニューなどの部品と、それ らの部品にバインドされたコードが、実にシンプルに書くことができる。附属の GUIビルダーによれば、画面構成をWindowsのVisual Studio並かそれ以上簡単に 作成できる。最近はPerlライブラリもあって、Visual Basicよりも美しいプログ ラムを書くことができるのである(構造化されていないような、とても見にくい プログラムにする必要はない。Perl自体は汚く書こうと思えば書けてしまう言語 だが)。

 以前からしばしば書いてきているので、知っている方はまたかとお思いかも知 れないが、このXFormsをlesstifなどでソースコードフリーにすることが、私の 主要な開発テーマである。今さらlesstifでもあるまい、というメールを下さる 方もいらっしゃったが、GtkやQtなどのライブラリによるXForms互換ライブラリ は、どうせほかの方のほうが得意だろうし、誰かがやってくれるものと信じてい るのである。

 GUIを「使いやすいわけではない」と批判するような、UNIXの達人もいらっしゃ ることは知っているが、あれば便利なのである。lsコマンドに対してxls、grep コマンドに対して、xgrepのようなもの、sendmailやINNの設定に対しては、ある 程度のXインタフェースがあったほうがいい。私は時々変わるsendmailやINNのオ プションや設定ファイルの書き方に当惑し、これらのツールのGUIがあれば何と 楽かということをしばしば感じてきた。カーネルのコンパイルオプションを全部 指定するのも面倒だと思っていたらmake menuconfigというやりかたがあって救 われたように感じるのと同様の感覚である。なくてもいいのかも知れないが、あっ たほうが便利である。

 それでXFormsというような簡単なプログラミングツールがつけば完璧だ。高校 生にも十分に使えるツールを作ることができるようになるだろう。あれくらいシ ンプルなツールで作られたほうが、あとから修正するときも楽だろうと思うので ある。GnomeにしてもKDEにしても、XForms互換ライブラリを作って頂ければ、す ぐにPerlなどとの連係が取れて、楽だろうと思うのである。

 全く、XFormsのライブラリ部分がバイナリだけで配布されると知った2年前に は、大いにショックを覚えたものである。それから今まで、対抗できていない自 分に腹も立つ。残念なことだが、せっかくいいアイデアがあるのだから、あれの いいところを真似したいと思うのである。

3.マルチメディア

 「マルチメディア」という言葉に食傷気味ならば、「リアルタイムOS」と呼び 変えても良い。世間の注目度の低さからして、今回はこちらのほうを強調してお こうと思う。GUIが大切なことはみんなわかっているかも知れない。しかし、そ れ以上にLinuxのリアルタイム性において注目して欲しいものである。

 現在、リアルタイムOSへの取り組みとしては、

  1. rt-linux
  2. KU Real Time Linux (KURT)
  3. Linux POSIX Real Time
の3種類が存在している。ハードリアルタイムを目指すrt-linuxは、負荷の高い ときでも確実に音を鳴らし続けることができたとその性能を誇っているが、今の ところインテル386の互換CPUでのみ動作する。「リアルタイムシステムとしては 使えないんじゃないの?」という人もいらっしゃるかも知れないが、486 33MHz で最悪でも30micro sec.で動作するという数字や、手前味噌かどうかはわからな いが、DOSよ りも早く動作する場合があるという自慢話は、十分に興味をそそるのではな いだろうか?実際、 工場に 利用できないかという研究や、制御 ジャイ ロソーサの制御に利用しようという研究や、 専門の書籍、あるいはロボットの制御に使っている例まである。

 KURTは最近、ATMの疑似スイッチまでこのKURTで作っていたりするが、ハード リアルタイムではない、ソフトリアルタイムとの中間の「ファームリアルタイム」 だと書かれている。POSIXインタフェース実装の試みは、POSIXで連綿と標準化さ れてきたリアルタイム用の時間計測用の関数を用意しようという活動のようだが、 すでに2.2で実現しているかどうかはよくわからない。KURTと同じ指導教授の元 で、カンザス大学によって進められているプロジェクトである。KURTについては、 日 本国内の実験例もあって興味深い。

 個人的には、KURTとrt-linuxでは、どちらかと言えばrt-linuxのほうが応用範 囲は広いように思われる。ハードリアルタイムということで、BeOSに負けないく らいのアプリケーションをそろえることはできると思われるからである。更に、 ルータや組み込み機器などの専用ハードウェのOSとしても使うことができる。 KURTが普通のプログラムにリアルタイムモード呼出を付け加える程度 で使えるという理由もあるだろうが、rt-linuxにはいくつかのサンプルが用意さ れていて、開発者の熱意があるようなきもする。

 ただ、rt-LinuxのMLアーカイブページで述べていた人がいたが、rt-linuxは、 必要なときには非リアルタイム系のプロセスに処理を与えるのに対し、KURTはリ アルタイム系のプロセスが動いている間は他のプロセスが止まり、明示的に処理 を返さなければならないという。ハードリアルタイムに加えて、KURTのほうに存 在するこのような不自由さからも、私は個人的にrt-linuxのほうが伸びるのでは ないかと思えるのである。ただ、rt-linuxでは独特のリアルタイム用ループを用 意する場合などもあるようで、やはりやってみるしかないと思われる。

 Linuxの伝統としては、モジュール構造にしておいて、KURTも同じOS内に同居 して、ユーザに選択させることができればなお良い。どちらか一方しか、同時に は動作させることができなくても良いのだが、インタフェースは共通なほうが、 ユーザには便利ではある。

 実際、リアルタイムOSというのは、家電や組み込み用ボード上で動いていたり するものであり、機械の一部となって時間的に正確に処理を続けるためのもので ある。従って、POSIX標準の関数があるということよりも、実際にどれくらいの タイムスライスでループが回るか、等の厳密な予測ができなければならない。も ちろん、アプリケーションの書き方によっては遅い処理をすることもできるので あるが、やろうと思えばマイクロ秒オーダでメモリを書き換えたりデータを出力 したりしなければならない。

 最近は、一部のユーザの心をBeOSが捉えているようだ。しかし、確実に細かい 時間内でデータを出し続けられれば、音も映像も処理し続けられる。BeOSは今や オープンソースではないから、できあいのPC以外への移植は進まないであろう。 ノウハウも蓄積されていかないとすれば、リアルタイムマルチメディア処理の分 野でもLinuxのほうが将来的に伸びる可能性があるのである。

 問題は、どれくらいのプログラマが開発に参加できるかというところである。 rt-linuxへの取り組みが発表されてからでも、既に2年以上が経過している。な のに、さほどこの分野で注目されていないのはどういうことだろうか?

 フルモーションのアニメーションを動かすには、1/60秒、つまり16ミリ秒後に 次のデータを表示させれば良い。データさえ存在していれば、rt-linuxにとって は十分に長い時間である。音にしても、ミキシングしながら出力するのに十分な 時間である。テレビやVTRのOS、組み込み機器のOSとしても使えるのである。 TRONでできなかった、オープンソースでのノウハウの蓄積がLinuxになれば可能 である。アルバイトを雇うにも、外注を探すにも、とりあえずLinuxでのプログ ラマを探せば良くなるのである。

 一部、このような組み込み市場へLinuxを持ち込もうとしている人々はいらっ しゃるようである。fj.os.linuxにも記事が出たことがあるので、私の目にも触 れた。今後ますますこの分野での取り組みがなされることを期待している。

 今週はそういうことを考えつつ、lesstif-0.87.9をmakeしたりしていた。なか なか、時間を見つけるのに苦労する。先週までで、ほぼLinuxは市民権は得るこ とができたと思われる。今月のLinuxWorld Conference Japanで日本でも同様の 報道がなされ、期待が集まるだろう。しかし、地道なプログラミング活動がなけ れば、結局は発展していかない。そろそろ、真面目に時間を作って、世界の Linuxに貢献したい。

 DVD-RAMが一般的になる頃には、DVDで配布し、そのままDVDをメインの2次記 憶装置として利用するような環境を夢見ているところである。

道向 新(みちむこ しん)
smitimko@ca2.so-net.ne.jp

= Contents =
keywords: or Help?


Powered by Linux, Apache, and S.CREW.

Copyright (c) 1998 Peanuts Production. All rights reserved.