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

Struktury danych

Przedstawię tu pokrótce strukturę linux_binprm, zdefiniowaną w pliku include/linux/binfmts.h. Jest ona bardzo istotna dla algorytmu exec. W niej są przekazywane wszystkie dane potrzebne do znalezienia interpretera formatu, jak również do poprawnego uruchomienia programu.

struct linux_binprm {
char buf[BINPRM_BUF_SIZE] tu są trzymane pierwsze 128 bajtów kodu
struct page *page[MAX_ARG_PAGES] struktura statycznie alokowaną, na zmienne środowiska, i argumenty wywołania
struct file * file opis pozycji katalogu, i-węzła pliku, który mamy wykonać
char * filename nazwa pliku
int argc, envc ilość zmiennych środowiskowych i parametrów wywołania
}



Michal Rutkowski 2001-12-19