質問

「共有ライブラリテキスト」との違いは何ですか?および「共有ライブラリデータ」?また、共有ライブラリのデータが「事前に再配置」されるとはどういう意味ですか?この質問は、共有ライブラリに関連するいくつかのAIX固有の機能に関するものです。

役に立ちましたか?

解決

ああ、それは難しい質問です。

さて、答えるには、実行可能ファイルには2つのセグメントがあることを知っておく必要があります:" text"セクションと「データ」セクション。

" data"セグメントには「実行されないもの」が含まれています。たとえば、プログラム内の文字列(たとえば、文字列" Command not found"は、 / bin / sh バイナリのデータセグメントにあります)。

" text"セグメントには「実行されるもの」が含まれています。 -機械の指示。

そして、" pre-relocated" ...ここに再配置が必要な理由についてかなり良い説明があります: http://people.redhat.com/drepper/textrelocs.html およびここで何が関係しているか: http://en.wikipedia.org/wiki/Relocation_(computer_science)

それは役立ちますか?

*:nitpicker note:3つ以上ありますが、今は重要ではありません

他のヒント

メモリは、コード、データ、スタック、および4つのセグメントに分割されます。ヒープ。

「共有ライブラリテキスト」は共有ライブラリのコード部分です。ライブラリの機能を実装する実際の命令です。

「共有ライブラリデータ」共有ライブラリのデータ部分です-グローバル変数、定数、静的なものなど、ライブラリがロードされるとすぐに割り当てられます。

「再配置」については、ライブラリ、ここに概念があります。共有ライブラリがロードされると、共有アドレス空間にマップされます。 「再配置済み」ライブラリは"ヒント"で構築されますその共有アドレス空間のどこにOSをロードするかをOSに伝えます。私の理解を超えた理由から、それはパフォーマンスを改善することになっています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top