2016-08-29 7 views
0

execv()関数群はを呼び出します。mmap()は、elfファイルからテキスト、データ、bssセグメントを内部的にロードする機能を備えていますか?いずれか1つは、exec()関数の作業に関連するブロックまたはステップを共有してください。また、内部でexecがどのように動作するかを知るためのリンクや書籍を提案してください。execファミリの機能は内部的にどのように機能しますか?

+0

いいえ、わかりません。私は次のステップとしてソースコードを見ていきます。 –

+0

http://linux.die.net/man/3/execv – Hackerman

+0

すべてのシステムコールを表示するためにexecvを使用してプログラム上でstraceを使用することができます – DrPrItay

答えて

4

execv()は、syscallを介してカーネル側の制御をdo_execve()に渡すユーザスペースlibcラッパーです。

do_execve()は、execファイルをロードするために適切なbinary handlerを見つけます。次にELFの実行形式の例を考えてみましょう。

elf形式の適切なバイナリハンドラはload_elf_binary()です。 elf_map()を使用して、適切なelfセグメントをvm_mmap()APIを通じてメモリにマップします。

あなたはそれについて聞いていますか?

+0

はい、これは私が望むものです、私はこの情報を使って詳細な概要を得ることができます。ありがとう – charanchakravarhy

関連する問題