重くなったLinuxで悩む
LinuxがWindowsを全て置き換えるだろう、とか言われてもう10年以上になるが、まだそんな様子は見えない。もちろんWEBサーバなどにはよく使われているのだが、普通の人が普通に使うPCはやはりWindowsか、あるいはMacだ。
2世代、あるいは3世代前のPCで当世のWindowsXpを走らせるのはまず無理だが、Linuxだとそんな古いPCの上でもすいすい走る、というふうなことを今でも信じている人は多いようだが、それはある条件のもとであって、Windowsみたいにマウスでグラフィックぐりぐりというふうなことが出来るわけではない。
ではどういう条件下ではすいすいなのかというと、
[picks@LL500 yacc]$ ll *.lxi -rw-rw-r-- 1 picks picks 242 2009-01-14 21:15 table.lxi [picks@LL500 yacc]$ flex table.lxi [picks@LL500 yacc]$ grep main *.c lex.yy.c:/* The state buf must be large enough to hold one state per character in the main buffer. lex.yy.c:/** The main scanner function which does all the work. lex.yy.c:/* Defined in main.c */ ytab.c:main(){ [picks@LL500 yacc]$ gcc ytab.c y.tab.c -o ytab [picks@LL500 yacc]$ yacc -d table.y yacc: 1 shift/reduce conflict. [picks@LL500 yacc]$ gcc ytab.c y.tab.c -o ytab [picks@LL500 yacc]$ |
こんなふうにコマンドを文字列として打ち込むようなインタフェース(CUI:Character User Interface;上記の例では青字で示したのがコマンドとして入力した部分)だと、10年前のPCでもわりとすいすい走る。これに対してWindowsやMacなどのような、マウスを使って視覚的に操作するものをGUI:Graphic User Interfaceというが、Linuxでも同じようにGUIを使おうとすると、Windowsと同じように重くなってしまう。
いや、実はGUIを軽く、高速に動かす技術はWindowsのほうが優れているので、同じPCの上でGUIを動かすと、Windowsのほうが高速に動作する。
それでもやはりLinuxが使われるのは、そのセキュリティの強固さと、何よりも「無料で使える」というアドバンテージによってだろう。ネットワーク機能がふんだんに盛り込まれていることから、linuxはしぶとく生き残っているのだ。
しかし、ここ1、2年になってlinuxもそろそろ肥大化というのか、Windowsと同じような壁に突き当たっているような気がする。
ごく趣味的に、Linuxを古いPCにいろいろインストールしたりしているのだが、例えば最近のFedora9というバージョンでは、メモリ256MのPCにインストールできなかった。Linuxは256Mでも走るのかもしれないのだが、インストーラが256Mでは走らないのだ。なんてこった。
数年前にFreeBSDというまぁLinuxのお兄さんに当たるようなちょっと硬派なunix系OSをPCに組み込もうとしていた。最初に試したversionは4.11だったが、これをインストールするのは難しかった。割込みの設定や、I/Oポートアドレスまで設定してインストールは成功したものの、ネットワークカードを認識しないのでネットワークにつなげられない。ネットワークにつなげられないUnixというのはタイヤのない自動車のようなもので、何の役にも立たない。車で言えばガソリンを入れに行くこともできないわけだから、バッテリもそのうちに死んでしまって、あとは犬小屋にでもするしかない、ということになる。
FreeBSDもversion6.1になって、ずいぶんインストールが楽になった。インストール用のフロッピーディスクを作って、あとはネットワークからインストールするということも出来た。つまり初めからネットワークカードを認識しているわけだ。このPCはなんとCPUが166MHz、メモリが96M、HDDは6Gだった。このPCは今でも動作しているが、主役ではなくなっている。HDDが6Gというのがネックで、これを大きくしようとするともう一度最初からやり直しになるので、これはしんどい。
FreeBSDも今ではversion7になっているが、硬派なところがやはりとっつきにくくて、もう一度やってみようという気にはならないなぁ。
その後、FreeBSDはちょっと諦めてLinuxのCentOS4.3というのでしばらく遊んだ。これはメモリ256Mでもインストールできたし、重くはあるがGUIも動作していた。私はネットワークサーバとして使いたかったので、GUIはすぐに殺してしまうのだが。
CentOSのほかには、前にも出てきたFedoraというものを使っている。この両者はどちらもRedHat系と呼ばれていて、有償でサポートの付いているRedHatに対して、その先駆的なパイロット版(半年ごとにversionが上がる)がFedora、十分に使われて枯れたものがCentOSという位置付けになっている。Fedoraでは無線LANが使えたり、USBでいろいろなデバイスが使えたりするということなのだが、私はWEBサーバを管理できればいいので、そのあたりは追求していない。このサーバがWindowsのプリンタサーバになってくれればいいんだけどなぁ。
というわけでCentOSが枯れててつまらなくなってFedoraへ浮気しているという状態ではあるのだが、それがなんだかずいぶん重くなってきたなぁ、という印象なのだ。
インストールが楽かどうかって言うのは、要するに各種のドライバをいかに事前に用意できているかというところがあって、思えばWindows3.0とかWindows3.1のころは大変だった。OSがダイヤルアップ機能さえ持っていなかったから、TrunpetとかいうフリーソフトをCDROMベースで手に入れて組み込んだりしていた。
米国ではWindows3.11というバージョンがNetwork対応OSとしてリリースされたが、日本ではLAN-Managerだったか、関連製品と競合するためにリリースされなかったと聞いている。
Windows95になって一番驚いたのはこのインストーラの充実で、インストーラがPCの構成をいろいろと探りまくって装着している装置を検出し、それに適合したドライバを次々に組み込んでいくのに驚嘆したものだった。その機能があってこそのインターネット接続機能だったのだ。
Linuxもようやくそのレベルに達してきたようで、そのぶんインストーラが重くなってきているのだろう。あとは各種のドライバを供給するメーカとの力関係でマイクロソフトと並ぶことができるかどうか、ということなのだろうか。
それにしてもメモリが足りなくてインストーラが動けないというのはショックだったなぁ。これはVistaのお試し版でも経験したのだが(512M以上ないと動いてやらないというメッセージが表示された)、Vistaはメモリが実質1Gないと本番でも動作しないという超ド級OSだから仕方ないかもしれないが、Linuxはきっと本番ではインストーラより少ないメモリで動くんじゃないかと思う。試すつもりもないけど。
| 固定リンク
コメント