Think GNU 第 12 回 □近未来のパーソナルコンピュータ□ CJ No.4/'912.18 発売号掲載 0. はじめに  「Think GNU」を書き始めてはや 12 回、最終回を迎える。これまでは記事が読者の目に触れる時期や季節は全く念頭になく (期限に追われて) がむしゃらに書いていた。今回は少し趣向を変えて、季節感を取り入れてみたいと思う。この号が書店に並ぶのは 1991 年の 2 月ごろである。新年にあたって、日ごろ考えていることをもとに、パーソナル・コンピュータ (ノートブック・タイプ) の夢を披露したいと思う。 1. パーソナル・コンピュータ  ついこのあいだまで、この記事はパーソナル・コンピュータで入力していた。世に言ういわゆるノートブック・タイプで、深夜や長期出張のおりにも重宝していた。アパートに住んでいると深夜の騒音問題に特に気を使う。また、長期出張とはいえ荷物を増やしたくないし、モデムがあれば必要な場所に電話からログインすることができる。  北京に出張した時は持って行かなかったが、米国の出張には持って行くことが多かった。出張時のメリットは、どこでも入力してテキストが作成できること以外に、自分のホーム・マシンにログインしてメールの整理とニュース (電子掲示版) を読むことが可能になる点にある。米国にいる場合、会社に国際電話をかけてログインするのは高くつくので、現地近くのアクセス・ポイントを利用している。アクセス・ポイントはコロラドのボルダー(会社の事務所がありモデムを備えたマシンもある) とボストン (プロジェクト GNU のマシンにログインできる) の 2 つがあり、近い方に電話してログインする。ただし、ボルダーからはメールを日本に送ったり、(JUNET の) ニュースを読むことしかできない。プロジェクト GNU のマシンからは Internet を通じて会社のホーム・マシンにログインできるので便利である。  こういった形で利用しているパーソナル・コンピュータの 2〜3 年後の将来を想像してみよう。裏返せばこういうものを作ってほしいというリクエストであり、時間があればソフトウェア部分を作りたいという希望でもある。特に求めている外部仕様は、テキスト入力支援ツールとしての機能である。パーソナル・コンピュータ上では現在、日本語 Micro Emacs を使っている。これの最大の欠点は Undo(取消機能) がないことである。だいぶ以前の GNU Emacs もそうであったが、この機能がないとテキスト入力あるいはテキスト作成に集中できない。◆1  このコンピュータ上のソフトウェア全てのソース・コードにアクセスでき、自分でカスタマイズできるようにしたい。自分の環境は自分で整える、というもともとの Unix の発想 (ツールの組み合わせの妙味)、MIT の昔の雰囲気 (全てを統一環境で操作できる)、GNU ソフトウェアの考え方 (ソース・プログラムをアクセスでき、みんなで共有する) を大切にしたい。 1-1. ハードウェア  全体構成を図 1 に示す。 (図 1 ショウリャク)  ユーザ・インタフェースの観点から考える。小さくて、軽く、長時間にわたる電池駆動が可能なもの。しかし、小さ過ぎてキーボードの形状とキータッチが悪いのでは本末転倒である。キーの配列も好みのものが選べるようになっていると良い。マウスあるいはポイント・デバイスも必要である。ただし、マウスだと場所をとるので考えないといけない。トラック・ボールは場所をとらないが微妙な描画性がマウスに比べて劣るだろう。ペンタッチ式が有力である。  レジューム機能は必要だろう。マシンが速くなっても大容量になっていくディスクに応じてブート時間がかかることを避けたい。外部とのインタフェースとして、ファイル交換のために 3.5 インチのフロッピー・ディスクが必要である。ワークステーションとのデータ交換はイーサネットを通じて行なう。モデムは 10K bps から 20K bps が現実のものとなるだろう。ISDN のインタフェースも別途用意したい。ホテルでも最近モデム用のジャックを併設しているところがあるが、しばらくすると ISDN のジャックも追加してあるホテルが出てくる日がきっとやってくる。さらに無線パケット通信であるテレターミナル・インタフェースも欲しい。つまり、携帯電話と同じであるが送受信するものは声ではなくデータである。無線でデータ交換ができるようになるだろう。無線でデータ交換が可能になれば、電子メールは無線の経路にもなるだろう。例えばメールが来るとレジューム状態であったのが自動的に表示がオンになる、といったシステムが考えられる。◆2  先日香港に出張したが、そこで使用したホテルではメッセージが入っていると部屋にメモが置かれ、加えてテレメッセージということでテレビでもそれを見られるようになっていた。メッセージが来ると自動的にテレビの電源が入って、メッセージが入っていることを知らせる仕組みになっていた。ちょっと大きなお世話かとも思ったがシステムとしては面白い。その他に、スイッチを入れないのにテレビがつくケースは火災が発生した場合である。火災が発生するとテレビに指示が出るようだ。しかし、火事になったら電源ケーブルやケーブル・テレビ用の線も断線している可能性の方が大きいのでは、とふと疑問に思った。  CD-ROM ドライブを備え、そこには是非辞書を入れておきたい。英和 / 和英辞典、国語辞典など。加えて Unix のマニュアルも入っているとありがたい。  エディタは Emacs 系が良いので、現状だと次のような環境が考えられる。 ノートブック型のパーソナル・コンピュータ + 漢字版 Micro Emacs+ 内蔵モデム (あるいはモデム・カード)(東芝 J3100 や NEC の PC98 でも freemacs が動き始めたようだ)◆3  近未来として、 ・公衆電話からや飛行機の中でも電源や回線を遜色なく使えると便利である。 ・freemacs が漢字を扱えると良い。これはβテストのものはあるようだ。Micro Emacs には Undo(取消機能) がない。freemacs にはあるかどうか調べていないが、拡張言語を備えているので自分なりのカスタマイズが可能であろう。 ・CPU は何でもいいが、安く低消費電力のものが作られる可能性の大きいものとしては Intel 社の i386(あるいは 486) が有力となるだろう。 1-2. ソフトウェア  このコンピュータ上のソフトウェアは、できれば全てコピー・フリーのプログラムで統一したい。GNU ソフトウェアをこの規模のマシンで動かすには難しいが、きっと技術の進歩が可能にしてくれるだろう。  MINIX 386 が動くようになれば、GNU ソフトウェアの多くが動作するので MINIX も候補に入る。◆4  ソース・コードで配布されていて、値段が安く強力なソフトウェアがいい。ユーザが多い点から MINIX は有望だろうが、エディタとして考えた場合の日本語環境が未知数である。 2. 今月のニュース  「GNU's Bulletin」(日本語版では「GNU ダイジェスト」) が発行される月のせいか、リリースされるツールが非常に多い。反対に一番少ないのが 8 月である。みんな夏休みのせいもある。しかし、たまに夏休みの間だけプロジェクト GNU でアルバイトする人もいて作業が全く中断されるわけではない。 2-1.find(バージョン 2.1) ◆5  find は、あるディレクトリの下からファイルを見つけて、ある操作を施すコマンドである。  前回、GNU 版 find のバージョン 2.0 の報告をしたばかりであるが、バージョン 2.1 がリリースされた。 ●リリース日…1991 年 1 月 3 日 ●作成者…djm(David J. MacKenzie、FSF) ●投稿者…djm(David J. MacKenzie、FSF) ●ニュース・グループ…gnu.utils.bug ●入手方法 方 法 anonymous ftp マシン名 prep.ai.mit.edu(18.71.0.38) ファイル名 pub/gnu/find-2.1.tar.Z ●特徴 ・fstype というコマンド・オプションが amd という自動マウント・プログラムとともに動作するようになった。自動マウント・プログラムには Sun の automount や amd(イギリスの Jan-Simon Pendry が作成した) などのコマンドがあり、あるディレクトリがアクセスされた時に初めてマウントし、一定時間アクセスされないとマウントを外すというものである。 ・-exec や -ok というコマンド・オプションの引数に { } を使った引数置換機能をどこでも何回でも使えるようになった。-exec や -ok は見つかったファイルに対して、与えられたコマンドを起動するオプションである。 ・xargs の -p オプションが正しく動作する。-p は、会話的に実行するかどうかを予め問い合わせてくるオプションである。 ・POSIX.1 システム上でコンパイルすることができる。 2-2.diff(バージョン 1.15)  diff はファイル差分を検出するコマンドである。GNU 版のバージョン 1.15 がリリースされた。 ●リリース日…1991 年 1 月 7 日 ●作成者…mib(Michael I. Bushnell、FSF) ●投稿者…mib(Michael I. Bushnell、FSF) ●ニュース・グループ…gnu.utils.bug ●入手方法 方 法 anonymous ftp マシン名 prep.ai.mit.edu(18.71.0.38) ファイル名 pub/gnu/diff-1.15.tar.Z ●特徴 ・多くの改良が施されたが大きな変更はない。 ・新しい出力形式をサポートする。 2-3.patch(バージョン 2.0.12u2)  patch は diff の出力ファイルである差分情報を元のソース・コードに反映させるプログラムである。 ●リリース日…1991 年 1 月 7 日 ●作成者…djm(David J. MacKenzie、FSF) ●投稿者…djm(David J. MacKenzie、FSF) ●ニュース・グループ…gnu.utils.bug ●入手方法 方 法 anonymous ftp マシン名 prep.ai.mit.edu(18.71.0.38) ファイル名 pub/gnu/patch-2.0.12u2.tar.Z ●特徴 ・GNU の統一 diff 形式 (GNU diff バージョン 1.15 で採用) をもサポートするようにした。 2-4.rcs(バージョン 5.5)  rcs は revision control system の略で、ファイルのバージョンを管理するシステムである。これはコピー・フリーであるが、そうでない商用のものとして sccs(source code control system) などがある。rcs はプロジェクト GNU で保守しているソフトウェアではない。 ●リリース日…1991 年 1 月 7 日 ●作成者…mib(Michael I. Bushnell、FSF) ●投稿者…mib(Michael I. Bushnell、FSF) ●ニュース・グループ…gnu.utils.bug ●入手方法 方 法 anonymous ftp マシン名 prep.ai.mit.edu(18.71.0.38) ファイル名 pub/gnu/rcs-5.5.tar.Z ●特徴 ・GNU の統一 diff 形式 (GNU diff バージョン 1.15 で採用) をもサポートするようにした。 2-5.spim(バージョン 4.0)  spim は MIPS アーキテクチャ CPU の教育用のシミュレータである。 ●リリース日…1991 年 1 月 14 日 ●作成者…James Larus ●投稿者…James Larus ●ニュース・グループ…spim のメーリング・リスト ●入手方法 方 法 anonymous ftp マシン名 primost.cs.wisc.edu(128.105.2.115) ファイル名 pub/spim.tar.Z ●特徴 ・バグ修正 ・xspim という X Window インタフェースを持つプログラムもある。これまではソース・プログラムのみを表示していたが、テキスト・セグメントとデータ・セグメントをも出力できるようになった。 ・システム・コールが実際のマシンにさらに近い仕様になった。 2-6.POE について ◆6  前回も POE について紹介した。「GNU ダイジェスト」にもあるが、ここでも取り上げる。CMU の Mach カーネル周りでリリースされているものの特徴の概要が報告された。そこから POE の部分のみを抜き出す。  現在の POE はそのまま使えない。POE の配布条項を弁護士が詰めていないからだ。そのため POE が使えるようになるまでの間、GNU OS として BSD カーネルを使う案もあがっている。  そうこうしているうちに配布条項がまとまったらしい、というメールを受け取った。ただ、この変更がいつから行なわれるのか、マイクロカーネルのあるモジュールが必要なのだがそれがライセンスなしで配布できるソフトウェアになっているかどうかがはっきりしていない、と rms は指摘している。とにかく作業中であることについては彼は評価している。◆7 ●リリース日…1991 年 1 月 2 日 ●投稿者…mrt@MRT.MACH.CS.CMU.EDU(Mary Thompson) ●ニュース・グループ…comp.os.mach ●特徴 ・ライセンスが不要のシステム環境を提供する。 ・簡単なユーザ環境を提供する。編集やコンパイル、ブート・ストラッピングなどでは、サーバが 1 つしかない場合の透過型エミュレーション・ライブラリを使って実現している。★1 ・完全な Unix を提供していないが、ユーザ・レベルのアプリケーション・プログラムを作るには十分なツールが用意されている。 ・1ヵ月以内に Sun-3 と Intel 社 i386 を使ったプラット・ホーム用のものを提供する予定。8◆ 3. おわりに  たくさんやり残したことがあるという感は拭えない。これが精いっぱいだったのかもしれない。筆者らの非力さを自覚した次第である。読者の方に GNU という理想 (ではあるが着実にゴールに近づいている) を追って活動しているグループ (プロジェクト GNU) があることを知っていただければ幸いである。  まとまりのない最終回の「おわりに」であるが、このコラムを書く上でお世話になった人々に感謝し、プロジェクト GNU を進めている Richard やそのほかの多くのスタッフ、そしてそれに協力してくださっている方々に深謝してペンを置く。 (P.S. これから「GNU ダイジェスト」を作成しなければならないので、例によってまだまだ気が抜けないが……) 参考文献 ★1 引地信之・引地美恵子「Think GNU 第 10 回」「C JOURNAL」1991 年 1 月号、ビレッジセンター --------------------------------------------------------------------- Think GNU 連載第 12 回【脚注】 ◆1 以前、パーソナル・コンピュータ上で日本語 Micro Emacs を使っていたが、最近は demacs という i386 MS-DOS 用日本語 GNU Emacs を利用している。Undo 機能があるので精神的にも楽であり、更にワークステーション上と同じ Emacs Lisp パッケージを読み込める点が便利である。 ◆2 ノートブック・パーソナル・コンピュータ用のポイント・デバイスとして場所をとらない新しいものが採用されている。動向を見極め、良いものがあればマウスやトラック・ボールと置き換えたい。外部記憶装置は、3.5 インチ・フロッピーではなく、2.5 インチの MO または MO/CD-ROM ドライブ、あるいはフラッシュ・メモリに置き換えたものが現実となるかもしれない。 ◆3 漢字を扱える freemacs は日本で修正され、リソースされている。しかし、前述のように i386 で既に GNU Emacs が動作している。本文で想像していた以上に技術の進歩が加速している。例えば、i386 PC/AT 互換機上でコピー・フリーの BSD(386BSD) が動作しているので、ディスクの容量さえ十分であれば MS-DOS にとらわれる必要もなくなってきている。 ◆4 MINIX/386 は既にリリースされている。日本語環境は整備されている。しかし、NFS を含むネットワーク・ソフトウェアが動作している 386BSD があるので、こちらの方が利用価値が広いだろう。この場合には、コンソールで日本語を表示させるような日本語環境が整えば、なお望ましい。 ◆5 現在 find はバージョン 3.7 に、patch はバージョン 2.0.12u7 に、rcs はバージョン 5.7 に更新されている。diff はバージョン 1.15 のままである。 ◆6 POE はβリリースされているようである。ファイル・システムには書き込みできない。従って、このリリースはマイクロカーネル自体の機能テスト、あるいはサーバをロードするためのプログラムという色彩が濃い。 ◆7 Mach マイクロカーネルがコピー・フリーでリリースされている。それ用のコピー・フリーの BSD サーバが CMU よりβテスト・リリースされている。従って、Mach マイクロカーネル +BSD サーバが選択肢の 1 つに入るだろう。  しかし、ここで憂鬱の種が 1 つ発生している (1992 年 8 月現在)。BSD サーバのソースとバイナリ・コードの配付が現在中止されているのである。BSD サーバは Berkeley 版 Unix(BSD) のコピー・フリーのソース・コード (Net2) も参照しており、386BSD とバイナリ互換である。バークリー校が AT&T の Unix のソース・コードを一切参照しないで作ったものが Net2 である。しかし、USL/ATT は、Net2 を利用するためには Unix のソース・コード・ライセンスが必要という見解である。そのために、CMU は BSD サーバの配布を中断しているのである。 ◆8 POE のプラットホームは i386 のみだったように記憶している。