2017-05-23 10 views
0

私は過去数日、アンドロイドインフラストラクチャについて読んできました。そして、私はDalvik仮想マシンが従来のスタックベースの仮想マシンではなくレジスタベースのマシンであるという理解に達しました。その場合、dexファイルのメモリレイアウトはどのようになりますか?典型的なCプログラムでは、メモリのレイアウトはデータ、テキスト、ヒープ、スタックの形式になっています。それはdexファイルでも同じですか?そしてもしそうなら、Dalvik仮想マシンはどのようにそのようなファイルを処理しますか?アンドロイドデックスファイルのメモリレイアウト

答えて

0

私が理解しているように、AndroidはLinuxカーネルで動作します。したがって、Linuxカーネルは物理メモリの管理を担当します。アンドロイドARTがカーネルとのメモリのやりとりをどのように管理しているかは私には分かりません。しかし、先験的に、Linuxバイナリ(テキスト、データ、ヒープ、スタック、共有メモリ)で必要とされるのと同じメモリレイアウトを提供する必要があります。 実際には、プロセスのメモリマップ(cat /proc/pid/maps)を見て、その確認を得て、典型的なLinuxプログラムと同様のメモリレイアウトを提供しますが、重要な数の共有ライブラリがあります。

関連する問題