• ベストアンサー

Linux系では、ドライバがどうなっているのですか

以前Linuxをインストールしたものですが、プリンタのドライバとか 無線LANカードとか、自動的に認識できたのですが、 Windowsとかは、プリンタだとその会社のドライバだと、いれないといけないけど、 LinuxとWindowsのドライバの認識の違いは、どうなっているのでしょうか? 解る方お願いします。 あと、余談ですが、PS3でも認識できて、印刷できたことがありました。

質問者が選んだベストアンサー

  • ベストアンサー
  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.2

Linuxの成功には、オープンソースの概念が、その中心にあります。 オープンソースのソフトウェアは、ソースコードが公開されていて それを修正することも、再パッケージし配布することも自由です。 ですから、オープンソースのLinuxカーネルのソースコードツリーには 膨大なデバイスドライバーのソースコードが含まれています。 たとえば、うちの環境で、モジュール化されたドライバーの数をカウントすると $ ls -R /lib/modules/`uname -r`/kernel/drivers/ |grep o$|wc -l 2558 となっています。デフォから、一つか二つだけ増えていると思います(うろ覚え) 実際には、ソースコードの中から、カーネルバイナリーに組み込むもの カーネルモジュールとしてバイナリーファイル化するもの 組み込まないものの三つに分類され…その作業は RedHatやUbuntuといったディストリビューションの開発元が選択しています。 ですから、現在のディストリビューションで動かす可能性の高いデバイスについては 可能のかぎり、デバイスドライバーがモジュールとして組み込まれています。 さらに、SATAコントローラーのように、起動時に必須のものについては カーネルに組み入れてあったり…あるいは起動時に使われる initrdと呼ばれるRAMディスクイメージの中に組み入れられています。 この辺の仕組みを理解していないと、カーネルの最小化などは難しいのですが HDDの容量に余裕がある現在では、モジュール化されているものについては 動作を重くする要素は無いので、カーネル再構築の必然性は年々減っています。 実際のドライバーは、有志の人が開発しているものがありますし… あるいは、ドライバーの寄付と呼ばれる、ハードウェアベンダー自身による提供もあります。 Linuxのカーネルツリーに統合できないけど、オープンソースで公開されている例もあったと思います。 すべてのベンダーがLinux用ドライバーを公開するということは、当面ありえないので 利用できない機器もたくさんあります。 ただ、オープンソースの再配布に関する自由度の高さゆえに Linuxでは、クリーンインストールするだけで そのまま利用できるデバイスの数は、Windowsよりもはるかに多いのです。 それゆえに、クリーンインストールに限って言えば Windowsは、Linuxよりもインストールが難しいOS。 たぶん、MacOSXよりもインストールが難しいOSとなっています。 なお、一部のデバイスについては、カーネルツリーに組み入れられておらず メーカーサイトなどでのみ配布されているものもあります。 無線LAN機器や、新しいコントローラーなどでは、そういう状況は比較的多くなります。 nvidiaのように、オープンソースのドライバーもあるけれど メーカー純正のプロプライエタリーのドライバーもある場合もあります。 すべての情報を公開してほしいという要望と メーカーでドライバーを作ってほしいという要望は 必ずしも、両立するものでもなく nvidiaに対して、批判的な声があがったりもしています。

mitti2323
質問者

お礼

大変詳しい説明ありがとうございます。 カーネルモジュールとしては、世界の数あるベンダーの機器のドライバーとしては、少ないのでは、ないでしょうか。 カーネルツリーに組み込まれていないモジュールは、再構築といった操作が必要になりますか? 参考になりました。

その他の回答 (1)

  • DarkMoon
  • ベストアンサー率21% (225/1046)
回答No.1

Linuxも、ドライバを読み込みます。 カーネルに組み入れてコンパイルする場合と、 モジュールとして動的に読み込む場合があるようです。 Windowsの場合は、基本的なドライバはOSに元々入っていますが 細かい調整をしたものや、Windowsが発売されたときに世に出ていなかった製品は メーカーからのドライバダウンロードが必要です。 Linuxの場合は、カーネルのソースコードが変更されるたびに 新しいドライバのソースコードも追加されていっているようです。 Linuxを普通にPCにインストールしたときに入るカーネルは とりあえず殆どのハードウエアに対応できるようコンパイルされたもののようです。 自分で不要なドライバを取り除いてカーネルの動作を軽くするといった カスタマイズも可能ですが、ちゃんと動作するカーネルに仕上げるのは ちょっと難易度が高いようです。

mitti2323
質問者

お礼

大変詳しい解説ありがとうございます。 カスタマイズは、研究者とかそういった人が行っていると聞きました。 参考になりました。

関連するQ&A

  • Linuxのドライバについて

    先日、LinuxのUbuntuを初めてパソコンにインストールしました。 現在初回再起動の後、という状態なのですが、 LinuxにもWindowsと同じようにドライバをインストールしてもよいのでしょうか。 私がいつもWindowsにインストールしていたドライバは以下のものです。 マザーボード ドライバ ビデオカード ドライバ ただ、マザーボードドライバをインストールしなくてもインターネットに繋がっていますし 音もちゃんとなっています。 ということは、インストール時のドライバの中にマザーボード関連のドライバがあって、 すでにインストールされたのでは、と思っています。 このような場合でも、マザーボードドライバはインストールするべきでしょうか? またビデオカードドライバも(私の場合は)AMDのサイトからダウンロードしてきて、 Windowsと同じようにインストールすればいいのでしょうか? よろしくお願いします。

  • Linux ubuntu 10.04 ドライバ

    Windowsユーザーです、Linux は初めてです。 ノートパソコンにLinux ubuntu 10.04をインストールしまし、無線LANが使えないのに築き有線でupdate manager、driver update managerで更新を試して見ました。 Broadcom sta driver のインストール中にエラーが起きドライバは更新出来ていない状態です。 自分なりにググってLinux 用broadcom wireless driver をdlしデスクトップに解凍、中にはファイルやフォルダは有りますがランチャーらしき物が見当たらずインストールにこまっています。 ノートパソコンは: emachines D525 更新中にエラーが起きインストール出来ないドライバ名は: Broadcom STA 無線ドライバ BCM43xxです。 Windowsしか使った事がなく、Linux のコマンド制御が理解できず壁にぶつかってしまいました。 お力を貸してください、ご教授宜しくお願いいたします。

  • Linuxでの無線LANの設定を教えてください。

    Vine Linux 4.0をインストールしたノートPCで無線LANを使いたいのですが、無線LANカード(WLI-CB-G54)のドライバをインストールしたものの解凍ができず、カードを認識させることができません。いろいろなサイトで調べてみましたが知識不足で理解できません。詳しい方のアドバイスをお願いいたします。

  • LANカードのドライバとOSとの関係

    現在 WINxpです。 無線LANのカードを外付で使っています。 今後 WIN以外の他のOSをデュアルブートで使ってみようと考えていますが。 ふと思ったのですが、現在は当然LANカードのドライバーをインストールしていますが、このドライバーはWINxp対応ということになるのでしょうか。 とすると他の例えばLINUX系のOSをデュアルブートで使おうとするとこの無線LANのカードのドライバーは認識してくれるのでしょうか。 そもそも無線LANの規格は色々とありますが、規格とOSとの関係はどうなっているのでしょうか。

  • CD-ROMデバイスなしで、LinuxをFTPインストールする

    CD-ROMデバイスのついていないノートパソコン(HITACHI FLORA)にLinuxをインストールしようと思います。Linuxのディストリビューションは、とくにこだわりません。Linuxマシンをファイルサーバとして利用できれば、よいので。 LANカードを認識してくれるかという問題はありますが、try and errorでチャレンジしたいと思います。 FTPインストールは、難しいと聞いています。そこで、参考になる良書か、具体的な方法を教えてください。 ちなみに、当該マシンには、Windows95(もっとも古い初期のもの)がインストールしてありますが、LANカードを認識しません。LANカードのドライバが新しすぎるためかと思います。 ネットワークには、Windows98SE、WindowsNT4.0マシンが繋がっています。 Linux, UNIXをインストールした経験は、かなりありますが、CD-ROMからしかインストールしたことがありません。 また、Dual Boot環境を構築して、Windowsと共存させる必要は、なく、HDDをLinuxで埋め尽くせばよいのですが。

  • ドライバーのインストールができない

    XK70のドライバーをmouseのDAIV P4にインストールできない 昨日は接続できて印刷できたのに、今日はプリンターを認識しなくなりました ドライバーを再インストールしてもプリンターを自動認識しません ※OKWAVEより補足:「キヤノン製品」についての質問です。

  • KALI LINUX 無線ドライバインストール方法

    こんばんは。 KALI LINUXをwindows7上のバーチャル空間で動かしていますが、 無線ドライバがインストールされたいないのか、WI-FIが読み込めません。 Windows経由のインターネット、となってしまいます。 そこで、どうやったらKALI LINUXに無線のドライバをインストールできますか? ちなみに、マウスコンピュータのノーパソコンです。 ご回答よろしくお願いします。

  • Linux対応のLANカードを認識しない

    中古ノートパソコンを購入しやっとのことでLinux(RedHat9)をインストールすることができました。 LANがついていないマシンなので、Linuxにも対応していると表記されたLANカードを購入しました。 そのLANカード(FNW-3800-TX)です→【http://www.plathome.co.jp/detail.html?scd=12400563】 早速LANカードをはめ込みケーブルをつなげ、ブラウザをたちあげたのですがインターネットに繋がりません。再起動してもやはりつながりません。 付属のCDの中身もWINDOWS系のドライバしか入っておらずマニュアルもWindowsのことにしか触れていませんでした。 それらしい情報【http://www.ryouto.jp/linux/linux_42.html】を見つけたのですが、Linuxの操作も用語もわからずなにが書いてあるのか理解できません。 Windowsの操作ならだいたいわかるのですがLinuxは昨日インストールできたばかりで、なにをどうすればいいのか、どこをいじればデバイスを認識してくれるのか。なにからはじめればいいのか。 ご存知の方がいらっしゃいましたら手をかしてもらえないでしょうか。 よろしくお願いします。

  • Plamo Linux でネットワークが繋がりません

    Plamo Linux 4.02でLinuxに挑戦しています。まだエディタの使い方も 分からない素人です。現在、なんとかインストールをして、ユーザー(kazu)を 一つ追加して、それでX-Windowsを立ち上げることができました。 しかしネットワークが繋がらない状態です。 ネットワークの構成は ADSL--無線LAN--PC1(Win2000)--有線LAN--PC2(Win2000/Linux) となっています。 PC2は自作機でM/BはAsus P4P800。LANは内蔵の3ComのGigabit Lanです。 PC1で無線LANネットワークの共有を行い、PC2のWindows2000からは 設定無しでもインターネットに接続できることを確認しました。 Plamo Linux での問題は、まず標準ではLANカードが認識されていないこと。 Asus P4P800のドライバCD-ROMにLinux用のドライバも添付されておりました ので、このtarファイルをkazuのホームディレクトリのtempフォルダに移動して CD-ROM添付のインストール方法にしたがって解凍、インストールを行いました。 ifconfig で eth0 で割り当てられています。ただ、一つ問題がありまして、 このままshutdownして、再起動すると再度LANカードが認識されない状態になります。 ドライバをどこかにコピーして起動時に実行する設定が必要なのでしょうか? 次の問題はLANカードは上記のように認識したのですが、それでもネットワークに 繋がらないということです。netconfig を使って接続はDHCPを設定してみましたが PC1の有線LANカードのIPアドレスにpingを送ってみても何も反応がありません。 The Unix Super Textを使って勉強していこうと思っていましたが、ネットワークの 設定方法はあまり詳しく書いてありませんので、どなたが御指南いただけると 幸いです。よろしくお願いいたします。

  • LINUX対応ドライバの件

    VP4300プリンタにおいてPS-107のインターフェースカードを取付ている状態です。 パソコン本体のOSがLinuxなのですが、対応のドライバはありますか? 宜しくお願いいたします。 ※OKWAVEより補足:「EPSON社製品」についての質問です。