問題タブ [memory-mapping]

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 に答える
88 参照

python - マトリックスの奥深くにあると、Mem-map が遅くなる

そのため、非常に大きなマトリックス (120000 x 120000) があり、要素を他のすべての要素と比較するスクリプトをこのマトリックス全体で実行しています。全体をメモリに保持できないため、memmap を使用します。また、マトリックスを定期的にフラッシュして、コンピューターがクラッシュしたり何かが発生したりしても、すべてのデータが失われないようにします。ただし、マトリックスに「深く」入るほど、いわばデータのフラッシュにかかる時間が長くなることに気付きました。最終的に、結果を保存するのに最大 5 分かかります。なぜこれを行っているのか誰にもわかりませんか?これを行うことができるより良い方法はありますか?いくつかのコードを投稿しますが、「間違っている」ことは何もしていないと確信しています。

0 投票する
0 に答える
1577 参照

linux - カーネルからユーザー空間バッファにアクセスする方法

Linux デバイス ドライバーを開発していますが、ユーザーが割り当てたメモリ領域にアクセスする方法を理解する必要があります。詳細には、32 バイトのバッファーの場合、ユーザーは次のように呼び出します。

ここで、カーネル モジュール ioctl で、DMA 操作のために物理アドレスを pci デバイスに渡す必要があります。私が現在行っていることは次のとおりです(この例は、正しいかどうかを理解するために1ページのみです):

コードは正しく動作しますが、私の質問は次のとおりです。

  • ページを「固定」しているのは誰ですか? または明示的に SetPageReserved(pages_list[0]) を呼び出す必要がありますか?
  • バッファを使い終わったときのリリースはどのように機能しますか? pci_unmap とそれだけですか? SetPageReserved を呼び出しても?
  • 一般に、ユーザー空間アドレスで virt_to_phys を呼び出すことは安全ですか (ページが固定されている場合)? (または DMA の場合は virt_to_bus)
  • これはユーザー空間バッファにアクセスするための「ベストプラクティス」ですか?
0 投票する
1 に答える
10064 参照

memory - 起動時に BIOS とメモリ マップをロードするユーザー

BIOS について、ウィキペディアは次のように述べています。

BIOS のメモリのアドレスは、コンピュータの最初の起動時に実行されるように配置されています。次に、ジャンプ命令により、BIOS でコードの実行を開始するようプロセッサに指示します。

BIOS が不揮発性メモリにあることは知っています。ただし、実行するにはRAMにロードする必要があります。では、誰が BIOS を RAM にロードするのでしょうか?

また、起動時にメモリ マップが読み込まれることも確認しました。BIOS はこのメモリ マップをロードしますか? はどこに保存されますか?

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

linux - proc/ID/maps に共有ライブラリのエントリが複数ある理由

組み込み Linux で proc/ID/maps を見ていると、一部の共有ライブラリがプロセスのメモリ マップに数回表示されることに気付きました。

0 投票する
3 に答える
4682 参照

c++ - C++ 構造体のシリアル化

1つのアプリケーションからプロシージャコール(ネットワークプロトコルなし、同じマシンで実行されている2つのアプリケーションのみ)でオーディオデータパッケージを受信し、それを構造体に入れ、マップされたファイルに書き込むデータバッファを実装しています。

そのため、ライター アプリケーションはアプリのプロシージャを呼び出すことができます。これはvoid writeData (DataItem data, Timestamp ts)、各データ項目のサイズが 2MB で、1 秒間に約 15 回のようになります。

私のアプリは、データを次のような構造体に保存します

将来の読み取り用にファイルに書き込みます。

構造体をそのままファイルに保存するのは難しいので、バイナリで書く必要があると思います(?)。ですから、どのような種類のシリアライゼーションも使用する必要があるかどうかわかりboost serializationませんか?

また、メモリマップファイル用にこのデータを整列する方法と、ファイルからの読み取り目的でデータを再構築する方法もわかりません。

インターネットを検索しましたが、コード例があまり見つかりませんでした。また、サンプル コードは非常に高く評価されます。

ちなみに、Windows 7 x64 embedded と Visual Studio 2008 を使用しています。

ありがとう...

0 投票する
0 に答える
1015 参照

linux - ARM システム メモリ マップ

ARM アーキテクチャのシステム メモリ マップを理解するために、ARM インフォセンターを調べています。
以下のリンクでは、ARM メモリ マップは固定されており、外部 RAM は
0x60000000 - 0x9FFFFFFF にマップされていると書かれています。
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0179b/CHDDBAEC.html

このリンクでは、AHBデコーダーによってRAMを任意の場所に再マップできると彼らは言います。 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0226a/ch04s03s02.html

これらのメモリ マップは同じですか。違いを説明してください。