Linuxカーネルのプログラム実行について調べてみた

概要

詳解Linuxカーネル読書会に参加して、Linuxカーネルのプログラム実行部分のコードについて調査してみた。

プログラム実行

起点となるのは、プログラムが実行されるときに呼ばれるexecveシステムコールなので、これを追いかけていくことにする。

fs/exec.c

do_execveが呼ばれて、さらにdo_execveat_commonが呼ばれる。

exec_binprmではバイナリフォーマットの判定をする。例えばELFフォーマットだと、load_elf_binaryが実行される。

load_elf_binaryは長い。いろいろ処理をやったあと、421行目のstart_threadで実行プログラムのスレ度が開始される。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です