next up previous
Next: Funkcja search_binary_handler() Up: Opis działania Previous: Funkcja sys_execve()

Funkcja do_execve()

Zadaniem tej funkcji, jest przygotowanie środowiska dla interpretera kodu programu, oraz znalezienie takiego interpretera. Jeśli obydwie te rzeczy się powiodą to ta funkcja nie powróci. Zostanie zmieniony kod programu, i gdy process powróci do trybu użytkownika, będzie miał już zupełnie inny kod, będzie nowym programem.

Funkcja do_exec() oraz najważniejsze funkcje przez nią wywoływane, open_exec(), prepare_binprm() i search_binary_handler, zadeklarowane są w pliku fs/exec.c . Używane są dwie ważne zmienne. Są to file będąca wskaźnikiem na strukturę struct file, oraz bprm typu struct linux_binprm. Pierwsza z tych zmiennych używana jest do przechowywania informacji o pliku do wykonania. Druga zawiera informacje potrzebne do zlokalizowania interpretera i załadownia programu.
\begin{algorithm}
% latex2html id marker 100\caption{\tt do\_execve()}\begin{a...
...awo go wykonać, to już nie powinniśmy powrócić.
\end{algorithmic}\end{algorithm}


Michal Rutkowski 2001-12-19