HaikuにFreeBSDネットドライバ互換レイヤーが実装される 6
目に見える成果 部門より
BeOSに大きく影響されて開発が進められているHaikuプロジェクトがGoogle Summer of Codeの参加プロジェクトにはじめて選ばれたのはつい最近のこと。それがきっかけでプロジェクトに参加するようになったHugo Santosさんは、いま一番多くコードを貢献している存在になってきた。主にネットワーク関係のコーディングをしているHugoさんだが、彼一人の頑張りで、最近のHaikuネットワークスタックはかなり機能が増え、安定もして来た。おかげで、Vision IRCクライアントやBeSHare、日本発のFTP Positiveなどが使えるようになっている。
(つづく...)
そのHugoさんが最近手がけているのがHaiku用FreeBSDネットドライバ互換レイヤー(ソースコード)。狙いは、FreeBSDのネットワークドライバをそのまま、またはちょっとした修正だけで、Haiku用にコンパイルができて使えるようにすることと本人が述べている。この互換レイヤーを実際に適用したFreeBSDネットワークドライバが既にHaikuのレポジトリにコミットされ、一部は動作も確認されている、とHugoさんは言う。
現時点でレポジトリにコミットされたFreeBSDドライバはif_em (Intel Pro 1000)・if_le (PCNet)・if_rl (rtl 8139)だが、このうちif_emはソースコードの変更なしでコンパイルできたという。この互換レイヤーの実装を進めることで、将来的には無線LANアダプタなどを含むもっと多くのFreeBSDドライバを使えるようにする狙いもある。ちなみに、パーフォーマンスも、ネイティブドライバとほとんど変わらないとHugoさんはコメントしている。
Haikuの開発のために8人の学生さんを援助してくれるGoogle Summer of Codeの効果がこうやって少しずつ目に見える成果に変わっていくのを見るのはこれからも楽しみである。
FreeBSDだと、、、 (スコア:3, 興味深い)
NDISっつうのがあるんだが。それも含めての話かな?
ちょろっと眺めた程度では、見当たらなかったけれど。
#なんかどんどんと、OS間の風通しが良くなってる気
#がする。
Re:FreeBSDだと、、、 (スコア:2, 参考になる)
NDIS は Microsoft が決めた [microsoft.com] Windows のネットワーク用ドライバインタフェース仕様ですよ。
このドライバを FreeBSD でも使えるようにするのが if_ndis ですね。Linux 方面でも同様のドライバが存在しています。しかし、これまで使えるようにすると、事実上 Windows 対応 NIC は全部使えるようになる訳ですが……。
# Centrino プラットフォーム用のドライバが Windows 用しか提供されない事に対応するための苦肉の策だったと思います。Re:FreeBSDだと、、、 (スコア:1)
互換レイヤーの上にNDISラッパーが動いて、
さらにその上にWindowsのNDISドライバが動作する、
という仕組ですが、Windows NDISドライバとの
カーネルアドレススペースの違いで適用できない
可能性がある。
Re:FreeBSDだと、、、 (スコア:0)
#欧文直訳調のタレコミって斬新ですね
Re:FreeBSDだと、、、 (スコア:2, 参考になる)
借りに、互換レイヤーをif_ndisに対応させ、if_ndis自体がHaiku用にコンパイルができたとしても、
if_ndisが対象とするWindows用バイナリドライバがHaikuで動作するかどうかは、現段階で確認できていなくて、
使えない可能性もある(と、Hugoさんが話してくれた)。
> #欧文直訳調のタレコミって斬新ですね
というよりも、タレコミ文の日本語は下手なだけですよ。:)
Re:FreeBSDだと、、、 (スコア:1)
という話が2ヶ月ほど前にあった。対象となるのは、下記のデバイス。
Intel 2100, 2200BG, 2225BG, 2915ABG, and the 3945ABG devices.
ここらへんも含まれるといいんだが。