Skip to main content.
Google custom search

移植性と対応ハードウェアプラットフォーム

移植性

すべての成果は、何もかも綺麗に`マシン依存'(Machine Dependent: MD)と `マシン非依存'(Machine Independent: MI)の領域に分けるように努力されています。 例えば、あるイーサネットのチップセットは、ひとつのMIコアハードウェアドライバーを持ち、 それは対応するプラットフォーム用の適切なMDバス組み込みコードと合わせられます。 歴史的な理由により、 すべてのドライバーが私たちが望んでいるほど綺麗なわけではありませんが、 新しいドライバーはそうなっていきますし、古いドライバーは変換作業中です。

具体例を示しますと、ドライバー、例えば fxp(4) Intel i82557、 i82558 および i82559 Ethernet インターフェースドライバーは、 alpha, arc, cats, cobalt, i386, macppc, prep の各システム (これらはすべて pci スロットを持ちます) において、 Intel EtherExpress カードの操作に使われます。

さらに、同じドライバーが、同じチップセットを持つ Cardbus デバイスの操作 に使われます。これは、一旦コードが書かれると、それが多くの場所で何度も 使われるということです。ドライバーの最初の実装に間違いがあると、 このような広範なシステムでの使用では、普通はより早く問題が表面化します。 PPC を i386 と異ならしめているものを理解することは、設計のよい熟考と よりよいコードにつながります。

対応ハードウェアプラットフォーム

NetBSDのロゴは「もちろんNetBSDで動いている (Of course it runs NetBSD)」で、 ちゃんとしたわけがあります。 これを書いている時点で、 NetBSDは53のアーキテクチャーのための 公式リリースと、 その他に 4 のportがあります。 たったそれだけかと思われる人もいるかもしれませんが、 実はひとつのport(mac68k)で、 93種類の異なるマシンのうち、現在89種類(うち37種類は完全)に対応しているのです。