USB デバイスはハードウェアに直接アクセスできますか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/55129

質問

私が疑問に思う理由はここにあります。最近、ラップトップ用の外付け TV チューナーを購入しました。これには、衝撃を受けるとハード ドライブの回転が停止する機能があります。しかし、ラップトップを移動しても、TV チューナー (本によればすべてのビデオ処理を処理する) からのビデオは途切れません。この TV チューナーが、HDD に書き込んで表示するのではなく、ビデオ カードとディスプレイ システムに直接アクセスしているのではないかと思います。

そこで私の質問が始まります。外部デバイスでできること、できないことは何ですか?

役に立ちましたか?

解決

ハードウェアに直接アクセスしているわけではありませんが、ドライブに書き込んでいるわけでもありません。使用しているプログラムはチューナーから読み取ってウィンドウ システムにプッシュし、OS の層を通過してビデオ カードに到達します。

より一般的に言えば、USB デバイスはハードウェアに直接アクセスすることはできません。USB デバイスにはホストがアクセスする必要があり、ホストはドライバーによって処理されるデータを送受信できます (それが OS またはソフトウェアの実際の「ドライバー」であるかどうかは、ユースケースによって完全に異なります)。ただし、Firewire は DMA (ダイレクト メモリ アクセス) をサポートしているため、システム メモリにアクセスできることに注意してください。これはハードウェアへの直接アクセスを意味する可能性がありますが、これは一般的な用途ではありませんが、データ コピーなどを高速化する目的で行われます。

他のヒント

アシストされていない USB デバイスは、ホスト マシン内の他のハードウェアに直接アクセスできません。ただし、ホスト マシンにインストールされているソフトウェア ドライバーは必ずインストールできます。

USB TV チューナーは、TV コンテンツをハード ドライブにスプールしてから再度読み取ってディスプレイに送信するのではなく、ビデオ ディスプレイ ドライバーと直接通信している可能性があります。

DVR タイプの設定であっても、おそらく、シリアル (TV -> HDD、次に HDD -> ディスプレイ) ではなく、ディスプレイへの送信と同時に HDD にスプールするでしょう。

ああ。したがって、この例では、チューナーと一緒にインストールしたアプリケーションにより、チューナーがビデオ カード/ディスプレイ コントロールにアクセスできるようになり、そのように動作しているように見えます。ありがとう。

USB デバイスがそれ自体でシステムに影響を与える可能性があるのは、USB デバイスの設計が不適切であったり、不正であったり、壊れていたり、さまざまなインターフェイス信号を不適切に引き出していた場合です。たとえば、デバイスが散発的にグランドまたは +5v ラインを同期から外し、そこに保持する可能性があります。これは、システム全体の設計によっては、より広範な問題を引き起こす可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top