Documente Academic
Documente Profesional
Documente Cultură
Curs 5
Mecanismele fork, exec
Proces activ
Spatiu rezident
Spatiu evacuabil
Context
utilizator
Spatiu de adresare
nucleu
Instruictiuni si
date
Spatiu de adresare
utilizator
Procese reentrante
Tabela de procese
Proces a
Proces b
Rezident
Context utilizator b
Evacuabil
Date a
Text pur
Context utilizator a
Date b
Spatiu nucleu
Spatiu utilizator
int exit(stare)
Apeluri sistem:wait
int wait(int *stare);
Fiu(exit)=> stare=Cod retur(8b) 0(8b)
Waitpid
int waitpid(int pid, int *stare, int optiuni);
Pid > 0 asteapta fiu cu fpid=pid
Pid ==0 oricare din procesele din acelasi process
grup
Pid == -1 identic wait
Pid < -1 asteapta fiul avand fpid=pid (idem pid>0)
Retur: pid-ul fiului terminat sau 1(eroare)
Exemplul 1 fork
Proces care creaza un fiu.
Ambele tiparesc cate un mesaj intr-o
bucla for.
Exemplul 2 fork
Anexa 1
Exemplul 3 fork
Anexa 2
Familia exec
Int execv(char* cale, char** argv);
int execl(char* cale, char *arg0, , char*argn, NULL);
Int execve(char*cale,char**argv, char**envp);
Int execle(char* cale, char *arg0, , char*argn, NULL, char**envp);
Int execvp(char*fisier,char**argv);
Int execlp(char*fisier, char *arg0, , char*argn, NULL);
Familia exec -2
Fisier va fi cautat in PATH
Cale calea completa spre fis de
executat.
Envp- tablou de nume=val\0 terminat
de NULL.
Familia exec 3
Lanseaza in executie un nou program in
cadrul aceluiasi proces
Program binar sau #! interpreter [arg]
Criterii:
Familia exec -4
Dupa apelul exec instructiunea urmatoare din
program nu mai este atinsa decat in caz de
eroare !!!!!
Execlp, execl, execle param term de NULL
Execvp, execv, execve tablouri de pointeri
la argumente
Execlp, execvp fisier cautat in PATH
Execle, execve tablouri de pointeri la
variabilele de mediu
Absoluta
Mediul ?
Mostenit
Argumentele ?
Vector
execv
Lista
execl
Mediul ?
Nou
Mostenit
Nou
Argumentele ?
Argumentele ?
Vector
Lista
Vector
Lista
execve
execle
execvp
execlp
Nu exista
UID
Date statice
Da
Copiate
Da
Nu
Stiva
Heap
Text(cod)
Copiata
Copiata
Partajat
Nu
Nu
Nu
Descr Fis
Mediul
Da
Dir. Curent
Tratarea
semnalelor
Da
Copiata
Da
Partial