私は Linux でデバイス ドライバーの開発を行っていました。Linux でのデバイス ドライバーのメモリ マッピングに遭遇しました。
RAMディスクブロックデバイスドライバー(RAMから仮想ディスクを作成する)を開発しようとしていました。しかし、ここでメモリ マッピングを使用する方法がわかりませんでした (試してみるためだけに)。
ブロックデバイスはメモリマッピングを使用していたと思います。
誰かがこれに光を当てることができますか?
また、remap_pfn_range を使用してユーザー空間にメモリをマップすると、どのように機能しますか? ユーザーが単にリージョンに何かを書き込むと、デバイス内に自動的に反映されるのでしょうか、それとも I/O 用に登録されたリクエスト関数が呼び出されるのでしょうか?