7. カーネルの側から見た未来

(OHP 12)
--------------------------
Work in Progress
- Porting to Alpha, MIPS, Sparc and PowerPC
- Filesystem optimization
- Kernel threads
- Symmetric Multiprocessing
- Loadable Module
---------------------------

これが今考えているカーネルの将来。このうち移植についての話は既に述べた ので飛ばそう。ファイルシステムの最適化は、現在一番やりたいと思っている 問題だ。これがうまく行けば、ファイル処理がずいぶん高速化されるはずだ。 今の Linux でもファイル処理は遅くないけど、いくつかの部分には改善の余 地があるので、それらを改善すればずっとファイル処理は速くなるはずだ。た だ、実際に取りかかれるのはしばらく先になると思う。どうすればいいのかは だいたい見当がついてるので、あとはコーディングの問題だけなんだけど。

もう一つ、カーネルにとっての重要な宿題はスレッド化だ。マルチスレッド化 できれば、一つのプロセスが複数のスレッドを同時に実行できるようになるの で、一つのスレッドがユーザーからの入力を受けつけ、別のスレッドが計算を 続けるような使い方も可能になり、ウィンドウシステムなどには特に有効だろ う。

カーネルをスレッド化すると SMP マシン、すなわち、マルチプロセッサのマ シンにもきわめて有益だ。マルチプロセッサのマシンでは複数のスレッドを並 列して同時に動かすことが可能なので、プログラムはずっと速く動くようにな るはずだ。

SMP(Symmetric Multi Processor)対応というのもこれからの課題だ。今でも Intel のマシンではマルチプロセッサに対応しているので、2 つの Pentium が載ったマシンで Linux を動かすことができる。Linux はちゃんと 2 つの CPU を使いこなしている。もちろん、4 つのプロセッサを持つマシンならもっ と速く動く。SMP 対応は現在も開発が進行中なので完全に安定しているとは言 えないけど、もし本当に速いマシンが必要な場合は SMP Linux も十分選択肢 に入ると思う。

現在取り組んでいるもう一つの課題は、実行時ロードモジュール(loadable module) だ。これは、実行中のカーネルに新しいドライバを動的に組み込む機 能で、この機能を使えば、普段はあまり使わない特殊なハードウェア用のドラ イバを常にカーネルに組みこんでおく必要が無くなり、必要な時にドライバを ロードしてそのハードウェアを使い、必要が無くなったらドライバをアンロー ドして、大事なメモリを別の仕事に使うことが可能になる。

以上がカーネルについての将来。次にカーネルに限らず、Linux 全体の将来像 を述べてみよう。