問題タブ [userspace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
449 参照

linux-device-driver - QEMU は vfio がゲストで動作するのに十分な機能をエミュレートしますか?

QEMU ゲスト内のユーザー空間コードから PCI デバイスにアクセスするために、 uioの代わりに vfio を使用することを検討しています。

x86_64 QEMUゲストとして実行されている Linux は、 vfioドライバーを使用して、エミュレートされた PCI デバイスを、ゲストで実行されているユーザー空間プログラムにアクセスできるようにすることができますか?

vfio はハードウェア仮想化機能 (IOMMU など) を多用しているように見え、QEMU がこれを機能させるために必要な程度までこれらをエミュレートするかどうかわからないため、私には明確ではありません。

実際の PCI デバイスを QEMU ゲストにパススルーしようとしているわけではないことに注意してください。これは、vfio が伝統的に (QEMU 自体によって) 使用されているものです。代わりに、ゲストのコンテキスト内でvfio が uio の適切な代替手段であるかどうかを調査しています。

0 投票する
1 に答える
387 参照

linux - ネストされた EPOLL FD

ネストされた FD の動作に関するオンラインの情報は非常に限られています。

EPOLL FD1 が EPOLL FD2 と FD3 の間で共有されているとします。では、epoll FD1 がイベントを取得するとどうなるでしょうか

  1. epoll_exclusive フラグなしで追加すると、FD2 と Fd3 の両方にイベントが発生しますか。
  2. イベントを取得した後、FD1 で epoll_wait を実行してイベントをクリアする必要がありますか?

そして、ネストされた epoll FD の使用例は何ですか。

0 投票する
2 に答える
155 参照

linux - カーネルは例外の発生時にのみ実行されますか?

組み込み Linux について学んでいます。以下の質問に対する適切な答えが見つからないようです。

私の理解では、ユーザー空間アプリケーションが実行されているとき、たとえばIOを実行したい場合、システムコールが行われ、SW割り込みが発生し、通常、MCUが非特権モードから特権モードに切り替わり、カーネルがアプリケーションに代わって IO を実行します。

ハードウェア割り込みが発生したときの類似性。これにより、モードが再び切り替わり、カーネル内で割り込みハンドラーが実行されると思います。

よくわからないのは、カーネル コードが CPU を制御できるのはこのときだけですか?

たとえば、コアが 1 つしかない場合、ユーザー アプリケーション コードが実行されている場合、割り込みが発生したかどうかに関係なく、カーネルが時々 CPU を制御して物事をチェックするべきではありません。おそらく、これを可能にする定期的なタイマー割り込みがありますか?

また、複数のコアがある場合、ユーザー アプリケーションが別のコアで実行されている間に、カーネルが常に 1 つのコアで実行されている可能性はありますか?