2012-07-12

Debianはどこまでいくのか

Debianは非常に懐の広いディストロだ。まず、サポートしているアーキテクチャが広い。LinuxカーネルとGNU tool setがサポートしている環境ならすべてに対応することを目指している。

そればかりではない。Debianでは、ひとつのカーネルに依存しない試みもある。Linuxカーネルの他に、FreeBSDカーネルとGNU Hurdカーネルも利用可能だ。Debian GNU/kFreeBSDは、FreeBSDカーネルを利用したもので、だいぶ実用的に動く。ただし、FreeBSDは様々な点で、Linuxに遅れている。たとえば、Kernel Mode Settingの実装も、いまだ頑張っている最中なので、グラフィックドライバーも、ものすごく古いものを使わなければならない。Debian GNU/Hurdは、GNU Hurdカーネルを利用したもので、これは・・・お世辞に言ってもハードウェアのサポートが貧弱すぎるので、今のところ、QEMU環境でしかまともに動かない。

[Phoronix] Test Driving GNU Hurd, With Benchmarks Against Linux

Debianはさらに、コンパイラー依存からの脱却もはかっている。GNU/Linuxベースのシステムといえば、コンパイラーにはGCCを使うのが普通だ。というより、今までそれ以外に選択肢はなかった。ところが、最近Clangが興隆してきて、まだGCCには及ばない部分もあるものの、規格準拠度やわかりやすいエラーメッセージなどの点で優れている部分もある。DebianはコンパイラーをClangに置き換えることができるよう、作業を進めている。

すでに、FreeBSDはClangを使い、GCCをdeprecated扱いしている。これは、技術的な理由と言うよりも、FreeBSDの思想の問題である。特にFreeBSDはGPLが嫌いなのだ。結局、FreeBSDを必要とする人間は、GPLを毛嫌いしている浅はかな人種なのだから、そういう人種の期待に答えるためにも、GCCから離れたいのだろう。

Debianはそういった思想上の理由でClangへの対応を進めているのではない。複数のコンパイラーでコンパイルできるコードは、より移植性や規格準拠度が高い優れたコードである。

Build of the Debian archive with clang

No comments:

Post a Comment

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.