タグ付けされた質問 「drivers」

デバイスドライバーまたはソフトウェアドライバーは、上位レベルのコンピュータープログラムがハードウェアデバイスとやり取りできるようにするコンピュータープログラムです。

12
ディスクへのデータ書き込みの遅延の背後にある哲学は何ですか?
Linuxでは、cpまたはなどのコマンドの実行が終了しddても、データがデバイスに書き込まれたことを意味しません。たとえば、を呼び出すsyncか、ドライブの「安全な取り外し」または「取り出し」機能を呼び出す必要があります。 そのようなアプローチの背後にある哲学は何ですか?データが一度に書き込まれないのはなぜですか?I / Oエラーが原因で書き込みが失敗する危険はありませんか?

3
ユーザー空間とカーネル空間の違いは何ですか?
カーネルがユーザープログラム、つまりシステムコールに代わって実行されているときに、カーネルスペースが使用されていますか?それとも、すべてのカーネルスレッド(スケジューラなど)のアドレススペースですか? それが最初のものである場合、それは通常のユーザープログラムが3GB以上のメモリを持つことができないことを意味します(分割が3GB + 1GBの場合)?また、その場合、カーネルはどのようにしてハイメモリを使用できますか?なぜなら、1GBのカーネルスペースが論理的にマッピングされるため、ハイメモリのページはどの仮想メモリアドレスにマップされるのですか?
72 linux  kernel  drivers 

6
カーネルドライバーとカーネルモジュールの違いは何ですか?
lspci -k3.2.0-29-genericカーネルを使用してKubuntu を実行すると、次のように表示されます。 01:00.0 VGA compatible controller: NVIDIA Corporation G86 [Quadro NVS 290] (rev a1) Subsystem: NVIDIA Corporation Device 0492 Kernel driver in use: nvidia Kernel modules: nvidia_current, nouveau, nvidiafb カーネルドライバーnvidiaとカーネルモジュールnvidia_currentがnouveauありnvidiafbます。 カーネルドライバーとカーネルモジュールの違いは何だろうか?

4
Linuxインストールを新しいコンピューターに移動する
状況によっては、Windowsのインストールをあるコンピューターから別のコンピューターに物理的に移動する(ハードドライブを物理的に移動する)のは難しいこともありますが、Linuxではどのように機能しますか?ほとんどのドライバーモジュールは起動時に読み込まれませんか?理論的にはそんなに面倒なことでしょうか? 明らかに、xorgの構成が変更され、独自のATIドライバーなどが再コンパイルされる必要があります(おそらく?)。私が考えている以上のものがありますか? 2台のコンピューターは同じ時代、つまり両方のi7であるが、ハードウェアがわずかに異なると仮定します。 更新: 答えてくれてありがとう。これは主に私自身の好奇心のためです。Linuxシステムを稼働させていますが、最終的には2台以上のモニターを実行できるように、デュアルビデオカードを搭載できるコンピューターに移行したいと考えています。しかし、すぐにではありません

3
カーネルにはmain()関数がありますか?[閉まっている]
デバイスドライバーとカーネルプログラミングを学んでいます。Jonathan Corbetの本によるとmain()、デバイスドライバーには機能がありません。 だから私は2つの質問: main()デバイスドライバーに関数が必要ないのはなぜですか? カーネル自体にmain()機能はありますか? 誰かがこれを私に説明できますか?




7
nVidiaドライバーの更新中にエラーを回避するために、Xサーバーを閉じる方法は?
nVidiaドライバーを更新しようとしましたが、ドライバーのインストールを実行するとエラーが発生しました。 エラーを参照してください: エラー:Xサーバーを実行しているようです。Xを終了してください インストール。詳細については、「インストール」セクションを参照してください。 Linuxドライバーで利用可能なREADMEのNVIDIAドライバー www.nvidia.comのダウンロードページ。 注:ガイドに従って入力しようとしましたinit 3が、何も変わりませんでした。Xサーバーを閉じる方法は? ドライバーを更新できます

1
デバイスにUSBドライバーを割り当てる方法
この質問は2つあります。 まず、USBデバイスからドライバーを手動でデタッチし、別のデバイスをアタッチするにはどうすればよいですか?たとえば、接続時に自動的にusbストレージドライバーを使用するデバイスがあります。 usbview出力 Vendor Id: xxxx Product Id: xxxx ... Number of Interfaces: 2 Interface Number: 0 Name: usb-storage Number of Endpoints: 2 ... Interface Number: 1 Name: (none) Number of Endpoints: 2 ... usb-storageドライバーを使用したくないので、アプリケーションでlibusbライブラリを使用してusb-storageドライバーをデタッチし、インターフェイスを要求します。その後、USBデバイスとホストLinuxシステムで実行されているアプリケーションとの間でデータを送受信できます。 アプリケーションの外部でドライバーを手動でデタッチするにはどうすればよいですか? 次に、デバイスプラグインにアタッチするドライバーを自動的に割り当てる方法を教えてください。現在、デバイスのアクセス許可を自動的に設定するudevルールがセットアップされています。 SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", MODE="0666" udevルールを使用して、USBデバイスの特定のインターフェイスにドライバーを割り当てることはできますか?たとえば、usb-storageの代わりにインターフェイス0でusbnetモジュールを自動的に使用する場合、udevで可能ですか?


5
2つのLinux OS間でUSBからUSBへのデータ転送は可能ですか?
Linux(できればUbuntu)でUSB-to-USBデータ転送システムを作成したい。このため、外部ハードウェアやスイッチは使用しません(このケーブルを除く)。USBドライブをシステムにマウントするようなものになりますが、このシナリオでは、Linuxシステムの1つが他のシステムにマウントされます。どうすれば作成できますか? カーネルプログラミングの経験が非常に基本的であるため、利用可能なカーネルモジュールはありますか?

1
USB-HIDデバイスにLinuxカーネルドライバーのバインド/アンバインドインターフェイスを使用する方法
最初の背景。Logitechゲームパネルデバイス用のドライバーを開発しています。画面のあるキーボードです。ドライバーは正常に動作していますが、デフォルトではデバイスはHIDによって処理されます。HIDがドライバーの前にデバイスを引き継ぐのを防ぐために、hid-core.cでブラックリストに追加できます。これは機能しますが、複数の人と作業しているため、特にinitramfsなどを再構築する必要があるため、面倒になっているHIDモジュールにパッチを適用し続ける必要があるため、最適なソリューションではありません。 私は、この問題のいくつかの研究を行なったし、私が見つかりました。このメーリングリストポスト最終的に連れて行ってくれました、LWNこの記事を。これは、実行時にデバイスを特定のドライバーにバインドするメカニズムについて説明しています。これはまさに私が必要なもののようです。 それで、試しました。HIDからキーボードのバインドを解除できました。これは機能し、予想どおり、入力できなくなりました。しかし、ドライバーにバインドしようとすると、「error:no such device」というメッセージが表示され、操作は失敗します。 私の質問は次のとおりです。hid-coreでHIDデバイスをブラックリストに登録し、独自のドライバーを提供すると、カーネルバインド/アンバインド操作を使用して何が起こるかを複製するにはどうすればよいですか。-それは-常にhid-core.cにパッチを当てる必要性を置き換えるためですか? ドライバーのソースはこちら:https : //github.com/ali1234/lg4l

3
一部のIntelファミリ6 CPUモデル(Core 2、Pentium M)がintel_idleでサポートされないのはなぜですか?
Intel Core 2 Quad(Yorkfield)プロセッサ用にLinuxカーネルを調整しましたが、次のメッセージが表示されましたdmesg: [ 0.019526] cpuidle: using governor menu [ 0.531691] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns [ 0.550918] intel_idle: does not run on family 6 model 23 [ 0.554415] tsc: Marking TSC unstable due to TSC halts in idle PowerTopは、パッケージと個々のコアに使用されている状態C1、C2、C3のみを表示します。 Package | CPU 0 POLL …

3
Linuxのデバイスドライバーはプログラム/プロセスですか、それとも単なるライブラリですか?
デバイスドライバーは、それ自体で実行されるプログラムであるか、またはメモリに読み込まれ、プログラムがその関数の1つを呼び出すことができるライブラリー(関数のグループ)のみです(そのため、単独で実行されません)。 そして、それがプログラムである場合、プロセスIDを持っているので、たとえば、他のプロセスを終了できるのと同じ方法でデバイスドライバーを終了できますか?
23 linux  drivers 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.