パスワードを忘れた? アカウント作成
395856 journal

kokitoの日記: HaikuにFreeBSDネットドライバ互換レイヤーが実装される 6

日記 by kokito

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の効果がこうやって少しずつ目に見える成果に変わっていくのを見るのはこれからも楽しみです。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Jadawin (2174) on 2007年05月10日 8時53分 (#1155021) 日記
    Windows用のネットワークドライバを利用可能にする、
    NDISっつうのがあるんだが。それも含めての話かな?
    ちょろっと眺めた程度では、見当たらなかったけれど。

    #なんかどんどんと、OS間の風通しが良くなってる気
    #がする。
    • by Stealth (5277) on 2007年05月10日 11時00分 (#1155103)

      NDIS は Microsoft が決めた [microsoft.com] Windows のネットワーク用ドライバインタフェース仕様ですよ。

      このドライバを FreeBSD でも使えるようにするのが if_ndis ですね。Linux 方面でも同様のドライバが存在しています。しかし、これまで使えるようにすると、事実上 Windows 対応 NIC は全部使えるようになる訳ですが……。

      # Centrino プラットフォーム用のドライバが Windows 用しか提供されない事に対応するための苦肉の策だったと思います。
      親コメント
    • by kokito (17249) on 2007年05月10日 10時59分 (#1155102) 日記
      良い質問だな。その可能性は考えなかった。:)

      互換レイヤーの上にNDISラッパーが動いて、
      さらにその上にWindowsのNDISドライバが動作する、
      という仕組ですが、Windows NDISドライバとの
      カーネルアドレススペースの違いで適用できない
      可能性がある。
      親コメント
      • by Anonymous Coward
        このNDISラッパーというのが他の枝で出てるif_ndisのことなら、仕様上は全Windows対応NICが動くはずですね。ラッパーを2枚通すことになるからパフォーマンスは落ちるかもしれませんが、ハードウェアが(とにもかくにも)動くってことは大きなプラスだと思います。NICに限らず「Windows用のドライバに対応するラッパー」があるというのは心強い。

        #欧文直訳調のタレコミって斬新ですね
        • by kokito (17249) on 2007年05月10日 14時38分 (#1155201) 日記
          はい、if_ndisのことです。

          借りに、互換レイヤーをif_ndisに対応させ、if_ndis自体がHaiku用にコンパイルができたとしても、
          if_ndisが対象とするWindows用バイナリドライバがHaikuで動作するかどうかは、現段階で確認できていなくて、
          使えない可能性もある(と、Hugoさんが話してくれた)。

          > #欧文直訳調のタレコミって斬新ですね

          というよりも、タレコミ文の日本語は下手なだけですよ。:)
          親コメント
    • by Murphy (250) on 2007年05月10日 14時04分 (#1155189)
      FreeBSD Announces Intel Approval for Redistribution of Wireless Firmware [prweb.com]
      という話が2ヶ月ほど前にあった。対象となるのは、下記のデバイス。
       Intel 2100, 2200BG, 2225BG, 2915ABG, and the 3945ABG devices.

      ここらへんも含まれるといいんだが。
      親コメント
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...