SlideShare uma empresa Scribd logo
1 de 39
Systèmes
d'exploitation
Processus
Linus Torvalds
• Finlandais
• Étudiant à Helsinki
• Git
• Linux
Contenu
• Processus
– Rôle
– Attributs
• Hiérarchie de processus
• Créer un processus
– Autres opérations de
traitement
• Fermer un processus
3
Bibliographie pour aujourd'hui
• Modern Operating Systems
– Chapitre 2
• 2.1
• Operating Systems Concepts
– Chapitre 3
4
Processus
• le unité de base du exécution
• en SE, il y a deux abstractions de base
– fichier - abstraction pour l’information / les données
– processus – abstraction pour des actions
5
PROCESSUS
6
Qu'est-ce qu'un processus?
• Un programme en cours d'exécution
• Encapsulation / abstraction de l'exécution
dans SO
• Abstraction sur processeur, mémoire, E / S
SO: Curs 3: Procese 7
Abstractions - Idée General
8
API utilisée par les processus
9
Processeur
• Un processus a un ou plusieurs threads
– Un thread exécute des instructions sur un
processeur
• En règle générale, les processus système sont
plus que des processeurs système
– La planification des processus sur les processeurs
est nécessaire
10
Memoire
• Un processus a sa propre mémoire (isolée des
autres processus)
– Code
– Instructions
– Données
• Les instructions sont amenées de la RAM dans
le processeur et exécutées
– Nous disons que le processus s'exécute sur le
processeur
SO: Curs 3: Procese 11
E/S
• Un processus communique avec l'extérieur:
disque, réseau, clavier, moniteur
• La communication se fait généralement par les
descripteurs de fichiers.
– tableau de descripteurs de fichier
– descripteur de fichier: un fichier, un socket, un
terminal, un périphérique, etc.
• Les opérations d'E/S bloque le processus
– E/S est plus lent que le processeur
– le processus attend la fin de l'opération
12
Tableau des fichiers
13
L’interface E/S de processus
Appel du système bloquante
Types de processus (CPU)
• CPU bound (CPU intensive)
– utilise beaucoup le processeur
• I/O bound (I/O intensive)
– utilise rarement le processeur
– faire des opérations d'E / S -> se bloque
15
Types de processus (Utilisateur)
• Interactif (foreground)
– interagir avec l'utilisateur
• Non interactif (batch, background)
– services, démons
16
LES ATTRIBUTES D’UN PROCESSUS
17
A quoi ressemble un processus SE?
• PID (Process ID)
– le identifiant de processus
• PCB (Process Control Block)
– Une structure de données
– Décrit un processus au niveau SO
• Informations sur les ressources utilisées
• Liens vers d'autres structures
• Sécurité, surveillance, informations comptables
18
Ressources
• Temps d’execution sur processeur
• Mémoire (code et données)
• Tableau des descripteurs de fichiers
• Certaines ressources peuvent être partagées
avec d'autres processus
SO: Curs 3: Procese 19
Attributs d'un processus
• PID
• parent PID
• pointeurs vers les ressources
– tableau de descripteurs, tableau de mémoire …
• état (en cours, en attente)
• le quantum de temps d'exécution
• comptabilisation des ressources consommées
• utilisateur, groupe
20
CREATION D’UN PROCESSUS
21
Nouveau processus
• À partir d'un exécutable (programme)
• Un autre processus (parent) crée un processus
(enfant)
• Le nouveau processus (processus enfant) remplit
sa mémoire avec des informations exécutables
– L'action s'appelle également load, load time
– fait par le chargeur (loader)
22
Hiérarchie des processus
• Un processus peut créer un ou plusieurs
processus enfants.
• Un procès peut avoir un processus parent
23
Démarrage - UNIX
• init est au sommet de la hiérarchie des processus
– PID 1
• init est créé par le noyau au boot
• init crée ensuite les processus de démarrage
• les processus de démarrage créent d'autres
processus, etc.
24
Processus et exécutables
• Un ou plusieurs processus proviennent d'un fichier
exécutable
• Le fichier exécutable contient essentiellement les
données et le code du futur processus
• Le processus a aussi des zones de mémoire non
décrites dans l'exécutable associé
– stack
– heap (malloc)
– zones pour bibliothèques dynamiques
25
Nouveau Processus - UNIX
• Séparation entre la création d'un nouveau
processus et le chargement de données à partir
d'un exécutable
• fork: créer un nouveau processus (enfant)
(presque identique au processus parent)
• exec: chargement d'informations d'un exécutable
dans la mémoire du processus enfant
26
fork
• Nouveau processus
• Une clone de processus parent
• retour deux fois
– en parent
– en enfant
• Le nouveau processus a
– Un copie de PCB
– Nouveau PID
– Nouveau tableau des descripteurs (avec les même pointeurs)
– Un copie de la mémoire
27
fork bomb
while (1)
{
fork ();
}
28
fork bomb
while (1)
{
fork ();
}
29
Nouveau Processus - UNIX - fork
pid_t pid = fork ();
if (pid < 0) {
perror ("fork");
}
else if (pid > 0) {
// This is the parent process
printf ("Child process PID is %dn", pid);
}
else {
// This is the child process
printf ("My PID is %dn", getpid ());
}
30
exec
• Charge un nouveau exécutable
• Remplace les donnes d’exécutable courent
(l’image) avec les données chargées
d’exécutable
• ne retour pas
31
Nouveau Processus - UNIX - exec
int execl(const char *path, const char *arg0, ...
/*, (char *)0 */);
int execle(const char *path, const char *arg0, ...
/*, (char *)0, char *const envp[] */);
int execv(const char *path, char *const argv[]);
int execve(const char *path, char *const argv[],
char *const envp[]);
int execvp(const char *file, char *const argv[]);
32
Nouveau Processus - UNIX - exec
if (!execl ("/usr/bin/cowsay", "/usr/bin/cowsay",
"Hello", NULL))
{
perror ("execl");
abort ();
}
// if successful, this is never executed
33
Exemple
1. Une chaîne est écrite au stdin
2. La chaîne est interprétée par le shell dans un chemin
d’exécutable (et des arguments)
3. Le processus shell crée un nouveau processus (fork)
– Le processus enfant est planifié par le planificateur
4. Le processus enfant "charge" les données et le code
de l'exécutable (exec)
– Le processus parent du processus enfant est le processus
shell
5. Le processus parent attend le fini du processus enfant
34
Exemple
35
shell
parent
shell
child
fork()
child
exec(“/bin/ls”)
ls
shell
parent
wait()
Exemple
int status;
pid_t pid = fork ();
if (pid < 0) {
perror ("fork");
abort ();
}
else
if (pid > 0) {
// This is the parent process
// printf ("Child process PID is %dn", pid);
waitpid (pid, &status, 0);
}
else {
// This is the child process
if (!execl ("/bin/ls", "/bin/ls", "-l", NULL)) {
perror ("Error loading /bin/lsn");
abort ();
}
}
36
fork, exec et redirection
int fd;
pid_t pid = fork ();
if (pid == 0)
{
// redirect
fd = open ("output", O_TRUNC | O_WRONLY | O_CREAT, 0644);
dup2 (fd, 1);
if (!execl ("/bin/ls", "/bin/ls", "-l", NULL))
{
perror ("Error loading /bin/lsn");
abort ();
}
}
SO: Curs 3: Procese 37
Mot clés
• Processus
• init
• Hiérarchie des
processus
• fork
• exec
38
Questions
39

Mais conteúdo relacionado

Mais procurados

SdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireSdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireAlexandru Radovici
 
Systemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire VirtuelleSystemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire VirtuelleAlexandru Radovici
 
SdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de FichiersSdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de FichiersAlexandru Radovici
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieAlexandru Radovici
 
SdE 8 - Synchronization de execution
SdE 8 - Synchronization de executionSdE 8 - Synchronization de execution
SdE 8 - Synchronization de executionAlexandru Radovici
 
SdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la MémoireSdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la MémoireAlexandru Radovici
 
Systemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de executionSystemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de executionAlexandru Radovici
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linuxEmmanuel Florac
 
Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)Emmanuel Florac
 
Formation Linux lpi 101
Formation Linux lpi 101 Formation Linux lpi 101
Formation Linux lpi 101 Kais Baccour
 

Mais procurados (20)

SdE 4 - Processus
SdE 4 - ProcessusSdE 4 - Processus
SdE 4 - Processus
 
SdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireSdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoire
 
SdE 5 - Planification
SdE 5 - PlanificationSdE 5 - Planification
SdE 5 - Planification
 
SdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoireSdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoire
 
Systemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire VirtuelleSystemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire Virtuelle
 
SdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de FichiersSdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de Fichiers
 
SdE 6 - Planification
SdE 6 - PlanificationSdE 6 - Planification
SdE 6 - Planification
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortie
 
SdE 2 - System de fichiers
SdE 2 - System de fichiersSdE 2 - System de fichiers
SdE 2 - System de fichiers
 
SdE 9 - Threads
SdE 9 - ThreadsSdE 9 - Threads
SdE 9 - Threads
 
SdE 2 - Introduction
SdE 2 - IntroductionSdE 2 - Introduction
SdE 2 - Introduction
 
SdE 8 - Memoire Virtuelle
SdE 8 - Memoire VirtuelleSdE 8 - Memoire Virtuelle
SdE 8 - Memoire Virtuelle
 
SdE 8 - Synchronization de execution
SdE 8 - Synchronization de executionSdE 8 - Synchronization de execution
SdE 8 - Synchronization de execution
 
SdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la MémoireSdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la Mémoire
 
Systemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de executionSystemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de execution
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linux
 
SdE 7 - Memoire Virtuelle
SdE 7 - Memoire VirtuelleSdE 7 - Memoire Virtuelle
SdE 7 - Memoire Virtuelle
 
Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)
 
Formation Linux lpi 101
Formation Linux lpi 101 Formation Linux lpi 101
Formation Linux lpi 101
 
Initiation Linux
Initiation LinuxInitiation Linux
Initiation Linux
 

Semelhante a SdE2 4 - Processus

Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unixwebreaker
 
Couse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdfCouse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdfMedBechir
 
Cours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdfCours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdfMedBechir
 
cours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfcours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfSouha Bennani
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.pptDenisKouakou1
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxThierry Gayet
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threadsSana Aroussi
 
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdfcoursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdfRihabBENLAMINE
 
Expose linux gestion des processus
Expose linux  gestion des processusExpose linux  gestion des processus
Expose linux gestion des processusFatima Zahra Fagroud
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processusguebba sara
 
systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124loffyhacker
 
utilisation des core dump sous linux
utilisation des core dump sous linuxutilisation des core dump sous linux
utilisation des core dump sous linuxThierry Gayet
 
Lin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administrationLin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administrationCERTyou Formation
 

Semelhante a SdE2 4 - Processus (20)

SdE2 - Planification, IPC
SdE2 - Planification, IPCSdE2 - Planification, IPC
SdE2 - Planification, IPC
 
1488135632336.pdf
1488135632336.pdf1488135632336.pdf
1488135632336.pdf
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unix
 
Boot
BootBoot
Boot
 
Couse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdfCouse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdf
 
Cours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdfCours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdf
 
cours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfcours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdf
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU Linux
 
Cours_OS 1.pptx
Cours_OS 1.pptxCours_OS 1.pptx
Cours_OS 1.pptx
 
SYSTèmes d'exploitation
SYSTèmes d'exploitationSYSTèmes d'exploitation
SYSTèmes d'exploitation
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdfcoursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
 
Expose linux gestion des processus
Expose linux  gestion des processusExpose linux  gestion des processus
Expose linux gestion des processus
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processus
 
systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124
 
Chapitre 4 Linux
Chapitre 4 LinuxChapitre 4 Linux
Chapitre 4 Linux
 
utilisation des core dump sous linux
utilisation des core dump sous linuxutilisation des core dump sous linux
utilisation des core dump sous linux
 
Lin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administrationLin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administration
 

Mais de Alexandru Radovici (20)

SdE2 - Pilot Tock
SdE2 - Pilot TockSdE2 - Pilot Tock
SdE2 - Pilot Tock
 
SdE2 - Systèmes embarquées
SdE2 - Systèmes embarquéesSdE2 - Systèmes embarquées
SdE2 - Systèmes embarquées
 
ALF1 - Introduction
ALF1 - IntroductionALF1 - Introduction
ALF1 - Introduction
 
SdE2 - Introduction
SdE2 - IntroductionSdE2 - Introduction
SdE2 - Introduction
 
MDAD 6 - AIDL and Services
MDAD 6 - AIDL and ServicesMDAD 6 - AIDL and Services
MDAD 6 - AIDL and Services
 
MDAD 5 - Threads
MDAD 5 - ThreadsMDAD 5 - Threads
MDAD 5 - Threads
 
MDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recyclingMDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recycling
 
MDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI ApplicationsMDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI Applications
 
MDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android FrameworkMDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android Framework
 
MDAD 1 - Hardware
MDAD 1 - HardwareMDAD 1 - Hardware
MDAD 1 - Hardware
 
MDAD 0 - Introduction
MDAD 0 - IntroductionMDAD 0 - Introduction
MDAD 0 - Introduction
 
SdE 11 - Reseau
SdE 11 - ReseauSdE 11 - Reseau
SdE 11 - Reseau
 
SdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de executionSdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de execution
 
ALF 6 - Parser
ALF 6 - ParserALF 6 - Parser
ALF 6 - Parser
 
ALF 5 - Parser
ALF 5 - ParserALF 5 - Parser
ALF 5 - Parser
 
ALF 4 - Grammaires
ALF 4 - GrammairesALF 4 - Grammaires
ALF 4 - Grammaires
 
ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et LexerALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer
 
ALF 1 - Automates finis
ALF 1 - Automates finis ALF 1 - Automates finis
ALF 1 - Automates finis
 
DAPM 1 - Introduction
DAPM 1 - IntroductionDAPM 1 - Introduction
DAPM 1 - Introduction
 
ALF 1 - Introduction
ALF 1 - IntroductionALF 1 - Introduction
ALF 1 - Introduction
 

Último

Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 

Último (16)

Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 

SdE2 4 - Processus

  • 2. Linus Torvalds • Finlandais • Étudiant à Helsinki • Git • Linux
  • 3. Contenu • Processus – Rôle – Attributs • Hiérarchie de processus • Créer un processus – Autres opérations de traitement • Fermer un processus 3
  • 4. Bibliographie pour aujourd'hui • Modern Operating Systems – Chapitre 2 • 2.1 • Operating Systems Concepts – Chapitre 3 4
  • 5. Processus • le unité de base du exécution • en SE, il y a deux abstractions de base – fichier - abstraction pour l’information / les données – processus – abstraction pour des actions 5
  • 7. Qu'est-ce qu'un processus? • Un programme en cours d'exécution • Encapsulation / abstraction de l'exécution dans SO • Abstraction sur processeur, mémoire, E / S SO: Curs 3: Procese 7
  • 9. API utilisée par les processus 9
  • 10. Processeur • Un processus a un ou plusieurs threads – Un thread exécute des instructions sur un processeur • En règle générale, les processus système sont plus que des processeurs système – La planification des processus sur les processeurs est nécessaire 10
  • 11. Memoire • Un processus a sa propre mémoire (isolée des autres processus) – Code – Instructions – Données • Les instructions sont amenées de la RAM dans le processeur et exécutées – Nous disons que le processus s'exécute sur le processeur SO: Curs 3: Procese 11
  • 12. E/S • Un processus communique avec l'extérieur: disque, réseau, clavier, moniteur • La communication se fait généralement par les descripteurs de fichiers. – tableau de descripteurs de fichier – descripteur de fichier: un fichier, un socket, un terminal, un périphérique, etc. • Les opérations d'E/S bloque le processus – E/S est plus lent que le processeur – le processus attend la fin de l'opération 12
  • 14. Appel du système bloquante
  • 15. Types de processus (CPU) • CPU bound (CPU intensive) – utilise beaucoup le processeur • I/O bound (I/O intensive) – utilise rarement le processeur – faire des opérations d'E / S -> se bloque 15
  • 16. Types de processus (Utilisateur) • Interactif (foreground) – interagir avec l'utilisateur • Non interactif (batch, background) – services, démons 16
  • 17. LES ATTRIBUTES D’UN PROCESSUS 17
  • 18. A quoi ressemble un processus SE? • PID (Process ID) – le identifiant de processus • PCB (Process Control Block) – Une structure de données – Décrit un processus au niveau SO • Informations sur les ressources utilisées • Liens vers d'autres structures • Sécurité, surveillance, informations comptables 18
  • 19. Ressources • Temps d’execution sur processeur • Mémoire (code et données) • Tableau des descripteurs de fichiers • Certaines ressources peuvent être partagées avec d'autres processus SO: Curs 3: Procese 19
  • 20. Attributs d'un processus • PID • parent PID • pointeurs vers les ressources – tableau de descripteurs, tableau de mémoire … • état (en cours, en attente) • le quantum de temps d'exécution • comptabilisation des ressources consommées • utilisateur, groupe 20
  • 22. Nouveau processus • À partir d'un exécutable (programme) • Un autre processus (parent) crée un processus (enfant) • Le nouveau processus (processus enfant) remplit sa mémoire avec des informations exécutables – L'action s'appelle également load, load time – fait par le chargeur (loader) 22
  • 23. Hiérarchie des processus • Un processus peut créer un ou plusieurs processus enfants. • Un procès peut avoir un processus parent 23
  • 24. Démarrage - UNIX • init est au sommet de la hiérarchie des processus – PID 1 • init est créé par le noyau au boot • init crée ensuite les processus de démarrage • les processus de démarrage créent d'autres processus, etc. 24
  • 25. Processus et exécutables • Un ou plusieurs processus proviennent d'un fichier exécutable • Le fichier exécutable contient essentiellement les données et le code du futur processus • Le processus a aussi des zones de mémoire non décrites dans l'exécutable associé – stack – heap (malloc) – zones pour bibliothèques dynamiques 25
  • 26. Nouveau Processus - UNIX • Séparation entre la création d'un nouveau processus et le chargement de données à partir d'un exécutable • fork: créer un nouveau processus (enfant) (presque identique au processus parent) • exec: chargement d'informations d'un exécutable dans la mémoire du processus enfant 26
  • 27. fork • Nouveau processus • Une clone de processus parent • retour deux fois – en parent – en enfant • Le nouveau processus a – Un copie de PCB – Nouveau PID – Nouveau tableau des descripteurs (avec les même pointeurs) – Un copie de la mémoire 27
  • 30. Nouveau Processus - UNIX - fork pid_t pid = fork (); if (pid < 0) { perror ("fork"); } else if (pid > 0) { // This is the parent process printf ("Child process PID is %dn", pid); } else { // This is the child process printf ("My PID is %dn", getpid ()); } 30
  • 31. exec • Charge un nouveau exécutable • Remplace les donnes d’exécutable courent (l’image) avec les données chargées d’exécutable • ne retour pas 31
  • 32. Nouveau Processus - UNIX - exec int execl(const char *path, const char *arg0, ... /*, (char *)0 */); int execle(const char *path, const char *arg0, ... /*, (char *)0, char *const envp[] */); int execv(const char *path, char *const argv[]); int execve(const char *path, char *const argv[], char *const envp[]); int execvp(const char *file, char *const argv[]); 32
  • 33. Nouveau Processus - UNIX - exec if (!execl ("/usr/bin/cowsay", "/usr/bin/cowsay", "Hello", NULL)) { perror ("execl"); abort (); } // if successful, this is never executed 33
  • 34. Exemple 1. Une chaîne est écrite au stdin 2. La chaîne est interprétée par le shell dans un chemin d’exécutable (et des arguments) 3. Le processus shell crée un nouveau processus (fork) – Le processus enfant est planifié par le planificateur 4. Le processus enfant "charge" les données et le code de l'exécutable (exec) – Le processus parent du processus enfant est le processus shell 5. Le processus parent attend le fini du processus enfant 34
  • 36. Exemple int status; pid_t pid = fork (); if (pid < 0) { perror ("fork"); abort (); } else if (pid > 0) { // This is the parent process // printf ("Child process PID is %dn", pid); waitpid (pid, &status, 0); } else { // This is the child process if (!execl ("/bin/ls", "/bin/ls", "-l", NULL)) { perror ("Error loading /bin/lsn"); abort (); } } 36
  • 37. fork, exec et redirection int fd; pid_t pid = fork (); if (pid == 0) { // redirect fd = open ("output", O_TRUNC | O_WRONLY | O_CREAT, 0644); dup2 (fd, 1); if (!execl ("/bin/ls", "/bin/ls", "-l", NULL)) { perror ("Error loading /bin/lsn"); abort (); } } SO: Curs 3: Procese 37
  • 38. Mot clés • Processus • init • Hiérarchie des processus • fork • exec 38

Notas do Editor

  1. * ce alte tehnici in afara de buffering se mai folosesc pentru optimizarea vitezei? (ex: read-ahead)