私は過去数日、アンドロイドインフラストラクチャについて読んできました。そして、私はDalvik仮想マシンが従来のスタックベースの仮想マシンではなくレジスタベースのマシンであるという理解に達しました。その場合、dexファイルのメモリレイアウトはどのようになりますか?典型的なCプログラムでは、メモリのレイアウトはデータ、テキスト、ヒープ、スタックの形式になっています。それはdexファイルでも同じですか?そしてもしそうなら、Dalvik仮想マシンはどのようにそのようなファイルを処理しますか?アンドロイドデックスファイルのメモリレイアウト
0
A
答えて
0
私が理解しているように、AndroidはLinuxカーネルで動作します。したがって、Linuxカーネルは物理メモリの管理を担当します。アンドロイドARTがカーネルとのメモリのやりとりをどのように管理しているかは私には分かりません。しかし、先験的に、Linuxバイナリ(テキスト、データ、ヒープ、スタック、共有メモリ)で必要とされるのと同じメモリレイアウトを提供する必要があります。 実際には、プロセスのメモリマップ(cat /proc/pid/maps
)を見て、その確認を得て、典型的なLinuxプログラムと同様のメモリレイアウトを提供しますが、重要な数の共有ライブラリがあります。
関連する問題
- 1. C++クラスのメモリレイアウト
- 2. CLRクラスのメモリレイアウト
- 3. アップルメタルMPSImageのメモリレイアウト
- 4. Pythonのnumpyのメモリレイアウト
- 5. データフレーム(マトリックス)パフォーマンス:メモリレイアウト
- 6. NV12 64x32タイル形式のメモリレイアウト?
- 7. std :: vectorのメモリレイアウト<__m128i>
- 8. 実行可能ファイルのメモリレイアウト
- 9. Linuxのプログラムのメモリレイアウトについて
- 10. 同じメンバーを共有する2つのC++クラスのメモリレイアウト
- 11. C++でクラスインスタンスのメモリレイアウトを最適化する
- 12. 2次元文字列配列のCメモリレイアウト
- 13. メモリレイアウトの "ピッチ"(MPITCH、VPITCH)とは何ですか?
- 14. プログラムのメモリレイアウトはアドレスバインディング手法に依存しますか?
- 15. グローバル変数のメモリレイアウトを初期化する
- 16. h5pyでHDF5アレイのメモリレイアウトを取得する方法は?
- 17. 並列計算用のメモリレイアウトを改善する
- 18. 代数的データ型の好適なメモリレイアウトとは何ですか?
- 19. Xの動的配列のDelphi動的配列のメモリレイアウトとは何ですか?
- 20. dnnモジュールの重みとバイアスのメモリレイアウトはどのくらいですか?
- 21. 共有メモリIPCはプロセスのメモリレイアウトにどのように適合しますか?
- 22. なぜこのような大規模な仮想アドレスは、x86_64版のカーネルのメモリレイアウトである
- 23. メモリレイアウトに関しては継承とどのように関連が異なるのですか
- 24. COM相互運用構造定義は、COMヘッダ(vds.h)で定義された構造体があり、メモリレイアウト
- 25. C++で同じメモリレイアウトにする必要があるオブジェクトへのキャストを再解析するのは危険ですか?
- 26. クラスのメモリレイアウトは連続していますか?よりその連続が(構造体のパディングのような)ことで発生</strong><strong>パディングを行う場合
- 27. gdb行番号のメモリアドレスを見つけよう
- 28. lispの次のステートメントのメモリレイアウトダイアグラムはどのようになりますか?
- 29. メモリについてアプリケーションのレイアウトと変数の論理アドレス
- 30. MIPS Memoyレイアウト:誰に関係するか