Cours de Syst`eme : Les processus Bertrand Le cun et Emmanuel Hyon bertrand.le cun@u-paris10.fr et Emmanuel.Hyon@u-paris10.fr Universit´e ParisX 31 janvier 2011 B.L.C. et E.H. (Universit´e ParisX) Cours de Syst`eme : Les processus 31 janvier 2011 1 / 1Les processus Abstraction d’une ex´ecution C’est l’unit´e d’ex´ecution visible par le S.E. C’est l’unit´e ordonnanc´ee par le S.E. Il contient le contexte d’ex´ecution d’un programme Espace d’adressage m´emoire, Pointeur d’instruction, Pointeur de pile Autre ressources syst`eme : les fichiers ouverts, les connections r´eseaux ouvertes Appel´e Job, Taˆche, processus B.L.C. et E.H. (Universit´e ParisX) Cours de Syst`eme : Les processus 31 janvier 2011 2 / 1Diff´erence entre programme et processus Programme Entit´e statique d´ecrivant un traitement; Code situ´e sur disque (en langage source, en langage machine) Un programme peut donner lieu `a plusieurs processus possibles par exemple : un mˆeme programme ex´ecut´e avec des donn´ees diff´erentes Processus Entit´e dynamique r´ealisant un traitement; Code situ´e en m´emoire centrale (en langage machine); Un processus peut mettre en jeu plusieurs programmes par exemple : un programme se terminant avec le lancement d’un autre programme (recouvrement). B.L.C. et E.H. (Universit´e ParisX) Cours de Syst`eme : Les processus 31 janvier 2011 3 / 1Image Ensemble des composants d’une image Un programme en cours d’ex´ecution manipule (met en jeu) Code B.L.C. et E.H. (Universit´e ParisX) ...
Processus Entit´edynamiquere´alisantuntraitement; Codesitu´eenme´moirecentrale(enlangagemachine); Un processus peut mettre en jeu plusieurs programmes par exemple : un programme se terminant avec le lancement d’un autre programme (recouvrement).
Diff´erenceentreprogrammeetprocessus
/1BC.L.Ete..(.HivUnsierePt´
14/1120
Image
Ensemble des composants d’une image Unprogrammeencoursd’ex´ecutionmanipule(metenjeu) Code
Illustration Un programme (codentsersie(de`a+1teouajui)qsondeen´) ard´eesdansunfichier(contexte). L’instance en train de sauveg s’exe´cuter(suividesinstructionsdansl’environnement)estle processus.
Identification : le PID Identification de processus :le PID(process id) pid t getpid(void);ppelAe`emystsruanerotlentDdPIu processus visibles par les commande top, ps Nomdel’entr´eedansledossier/proc
Affiliation toutprocessusaunpere:processusquil’alanc´e ` ` pid t getppid(void);peApyslsnruoltname`ttereePIDdu processus pere ` L’ancˆetrepid= 1, le processusinittoobuae´cnal, lesorphelins,(processusdontlepe`reestmort)sontleplussouvent recuperes parinit ´ ´ ´
1
Les processus
Identification : le PID Identification de processus :le PID(process id) pid t getpid(void);pAudDIPeltnanroueteremt`yslspe processus visibles par les commande top, ps Nomdel’entre´edansledossier/proc
.BL.C.etE.H.(Unive
H.E.ni(UL.B.etC.iraPC)Xssreve´ti
Re´el-effectif propri´etairere´el:celuiquiexe´cutelacommande(idempour groupe),leplussouventceluiquialance´lacommande. Donn´esparUIDetGIDobtenusavecgetuid(),getgid(). lepropri´etaireeffectif(respectivementgroupeeffectif)celui`aqui appartientl’ex´ecutable. Donn´ ar EUID et EGID obtenus avecgeteuid(),getegid(). es p