шпаргалка

a.Lansarea altor.prog

[ Назад ]
Apelul sistem exec apeleazг un alt program suprapunвnd pe spaюiul de memorie al unui proces o copie a unui fi?ier executabil. Conюinutul contextului la nivel utilizator care a existat оnaintea apelului exec nu mai este apoi accesibil cu excepюia parametrilor lui exec pe care nucleul оi copiazг din vechiul spaюiu de adresг оn cel nou.
Sintaxa apelului este:execve(filename, argv, envp)
Unde:
-filename este numele fi?ierului executabil care a fost apelat;
-argv este un pointer cгtre un vector de pointeri la ?iruri care sunt parametrii programului executabil;
-envp este un pointer cгtre un vector de pointeri la ?iruri care reprezintг mediul programului executat.
Existг mai multe funcюii de bibliotecг care apeleazг exec cum ar fi execl, execv, execle, etc. Toate acestea apeleazг eventual pe execve, din acest motiv acesta este folosit aici pentru a specifica apelul sistem exec.
--algoritm exec
^intrгri: ^ (1) nume de fi?ier
^ (2) lista de parametri
^ (3) lista de variabile de mediu
^ie?iri: nimic
{ obюine inodul fi?ierului (algoritmul namei);
verificг dacг fi?ierul e executabil, dacг utilizatorul are drept de execuюie;
^cite?te header-ele de fi?ier, verificг dacг sunt module оncгrcabile;
^copiazг parametrii lui exec din spaюiul vechi de adrese оn spaюiul sistemului;
^for(fiecare regiune specificatг оn modului оncгrcat)
{
^alocг regiuni noi (algoritm allocreg);
^ata?eazг regiunile (algoritmul attachreg);
^оncarcг regiunea оn memorie dacг este cazul (algoritmul loadreg);
}
copiazг parametrii lui exec оn noua regiune de stivг a utilizatorului;
^procesare specialг pentru programele setuid, opюiunu de execuюie pas cu pas;
elibereazг inodul fi?ierului (algoritmul iput);
}
Оn primul rвnd exec acceseazг fi?ierul prin algoritmul namei pentru a determina dacг este executabil, obi?nuit (nu e director) ?i pentru a determina dacг utilizatorul are drept de execuюie asupra programului. Nucleul cite?te apoi header-ul fi?ierului pentru a determina mгrimea fi?ierului executabil.

КАТЕГОРИИ:

Network | английский | архитектура эвм | астрономия | аудит | биология | вычислительная математика | география | Гражданское право | демография | дискретная математика | законодательство | история | квантовая физика | компиляторы | КСЕ - Концепция современного естествознания | культурология | линейная алгебра | литература | математическая статистика | математический анализ | Международный стандарт финансовой отчетности МСФО | менеджмент | метрология | механика | немецкий | неорганическая химия | ОБЖ | общая физика | операционные системы | оптимизация в сапр | органическая химия | педагогика | политология | правоведение | прочие дисциплины | психология (методы) | радиоэлектроника | религия | русский | сертификация | сопромат | социология | теория вероятностей | управление в технических системах | физкультура | философия | фотография | французский | школьная математика | экология | экономика | экономика (словарь) | язык Assembler | язык Basic, VB | язык Pascal | язык Си, Си++ |