Académique Documents
Professionnel Documents
Culture Documents
Berrechid – ENSAB
GI-S6
Prof : A.BENGAG
asmaebengag@gmail.com
Prof : A.BENGAG 2
Prof : A.BENGAG 3
Système informatique
• Système informatique = le matériel + le logiciel
4
Organisation d’un système informatique
5
Système d’exploitation (SE)
• Un ressource matériel :
– Regroupement des composants électronique - Portables
- Ordinateurs de borad (avion, train, etc..)
– Périphériques - Souris, impriment, clé USB, etc…
6
Système d’exploitation (SE)
7
Historique des S.E
Porte ouverte(1945-1955):
- Les machines de la première génération étaient dépourvues de tout logiciel.
- Elles étaient énormes, couteuses, très peu fiables et beaucoup moins rapides car
le temps de cycle se mesurait en secondes.
- Les programmes étaient écrits directement en langage.
- Au début de 1950, la procédure s’est améliorée grâce à l’introduction de cartes
perforées.
Prof : A.BENGAG 8
Historique des S.E
- Chaque utilisateur, assurant le rôle d’opérateur:
- Placer les cartes du programme dans le lecteur de cartes.
- Initialiser un programme de lecteur des cartes.
- Lancer la compilation du programme utilisateur.
- Placer les cartes données s’il y en a, dans le lecteur de cartes.
- Initialiser l’exécution du programme compilé.
- Détecter les erreurs et imprimer les résultats.
Note: Si le programme s’exécute avec des erreurs, l’utilisateur doit refaire toutes
ces étapes.
Prof : A.BENGAG 9
Historique des S.E
Prof : A.BENGAG 10
Exemples d’un SE
Tablettes, portables
Prof : A.BENGAG 11
Exemples d’un SE
Prof : A.BENGAG 12
Différents types de SE
Prof : A.BENGAG 13
Rôles du SE
Le système d’exploitation joue deux rôles :
1. Machine virtuelle (abstraite / étendue)
– Le SE présente au programmeur une interface d’accès aux ressources de l’ordinateur (sous
forme d’appels système).
– Il masque des éléments fastidieux liés au matériel, comme les interruptions, les horloges, la
gestion de la mémoire, etc.
– Cette interface est fondée sur des objets abstraits dont les plus importants sont les fichiers et les
processus. Par exemple, le programmeur voit un disque comme une collection de fichiers qui
peuvent être lus, écrits et fermés.
Prof : A.BENGAG 14
Rôles du SE
Le système d’exploitation joue deux rôles :
2. Gestionnaire de ressources
– Le SE gère l’utilisation des ressources par différents utilisateurs et les éventuels conflits. Il
contrôle l’accès et l’allocation des ressources (PC, MC et périphériques) aux différents
programmes avec les objectifs :
• Efficacité : utilisation maximale des ressources,
• Equité : pas de programme en attente,
• Protection : accès interdits.
Prof : A.BENGAG 15
Architecture – Principe de base d’un SE
Application
SE
Noyau ; Services
Utilisateurs
Matériel
Prof : A.BENGAG 16
• Le noyau du SE :
– Gestion des processus (exécution des programmes) : allocation du processeur aux
différents programmes.
– Gestion de la mémoire (transfert de données nécessaire pour le programme) : 3 fonctions
segmentation et pagination. primordiales
– Gestion des fichiers (maintenir l’ordre de manière général arborescente de
l’ensemble des données utilisés par les applications)
– Gestion des Entrées / Sorties : accès aux périphériques, via les pilotes.
– Gestion des communication réseaux : échange de données entre machines
distantes.
– Interfaces graphiques, interface d’interaction avec les humains
Prof : A.BENGAG 17
• Un système d’exploitation joue le rôle de l’intermédiaire entre les
applications et le matériel de l’ordinateur tel que le processeur, la
RAM, disque dur,...
Prof : A.BENGAG 18
• Un système d’exploitation joue le rôle de l’intermédiaire entre les
applications et le matériel de l’ordinateur tel que le processeur, la
RAM, disque dur,...
Système d’exploitation
Prof : A.BENGAG 19
• Un système d’exploitation joue le rôle de l’intermédiaire entre les
applications et le matériel de l’ordinateur tel que le processeur, la
RAM, disque dur,...
Utilisateur
Application
Système d’exploitation
Matériels d’ordinateur
Prof : A.BENGAG 20
Fonctions du SE
Prof : A.BENGAG 21
Catégories d’un SE
Il est possible de classer les SE en deux catégories suivantes :
Les SE Mono utilisateur
SE mono-utilisateur mono-tâche
SE mono-utilisateur multi-tâche
Prof : A.BENGAG 22
Catégories d’un SE
Il est possible de classer les SE en deux catégories suivantes :
Les SE Mono utilisateur
SE mono-utilisateur mono-tâche
- Un seul utilisateur est autorisé à effectuer une seul tâche à la fois.
Un seul utilisateur
Prof : A.BENGAG 23
Catégories d’un SE
Il est possible de classer les SE en deux catégories suivantes :
Les SE Mono utilisateur
SE mono-utilisateur mono-tâche
- Un seul utilisateur est autorisé à effectuer une seul tâche à la fois.
- Ce SE est conçu pour les téléphones sans fil et les appareils de messagerie
bidirectionnelle, exemple: MS-DOS
Un seul utilisateur
Prof : A.BENGAG 24
Catégories d’un SE
Il est possible de classer les SE en deux catégories suivantes :
Les SE Mono utilisateur
SE mono-utilisateur mono-utilisateur multi-tâche
- est développé spécialement pour un user, mais cet user unique est
capable d’effectuer plusieurs tâches exécutées en même temps.
Exemple: Windows 98
Un seul utilisateur
Prof : A.BENGAG 25
Catégories d’un SE
Il est possible de classer les SE en deux catégories suivantes :
Les SE Multi utilisateur
Ce type de SE supporte plusieurs sessions en même temps.
Prof : A.BENGAG 26
Définitions de base
Noyau : partie résidente du SE ; chargé en MEMOIRE CENTRALE (RAM) au démarrage de l’ordinateur
(anglais-kernel).
Interpréteur de commandes (anglais – shell, CLI) : programme interactif qui lit, interprète et lance l'exécutions
de commandes système (internes et externes) et de programmes de l'utilisateur (applications).
Schéma de l’architecture simplifiée d’un système d’exploitation
( CLI : Command Line Interface )
Prof : A.BENGAG 27
Définitions de base
- Les applications s'exécutent en mode utilisateur, dans lequel les programmes ont un accès
restreint aux fonctionnalités du processeur – en se voyant limiter la liste d'instructions qu'il
peuvent exécuter.
- Les programmes utilisateurs peuvent accéder à ces différentes fonctionnalités à l’aide des
appels système (fonctions système)
Schéma de l’architecture simplifiée d’un système d’exploitation
Prof : A.BENGAG 28
Définitions de base
- Fichier : ensemble de blocks/enregistrement de données stockés sur le disque.
- Processus : programme en cours d’exécution.
- Mémoire virtuelle : espace d’adressage artificiel dont la taille de celle de la mémoire
physique.
- Dispositifs d’E/S : toutes sortes de périphériques.
Schéma de l’architecture simplifiée d’un système d’exploitation
Prof : A.BENGAG 29
Définitions de base
Prof : A.BENGAG 30
Système Unix
Prof : A.BENGAG 31
Prof : A.BENGAG 32
Le système de fichiers
- Fichier (an. file) – Ensemble de données (suite d'octets) identifiées par un nom,
physiquement stockées sur un support de mémoire de masse permanent (disque dur, CD,
DVD, ...)
Prof : A.BENGAG 33
Arborescence de fichiers
Prof : A.BENGAG 34
Système de fichiers dans Unix
• Le répertoire qui est à l'origine de cette arborescence est appelé répertoire racine (root
directory). Il est désigné par un nom standardisé : /
Exemple :
Prof : A.BENGAG 35
Système de fichiers dans Unix
Commande « pwd » (print working directory).
• Afficher le nom du répertoire courant
Exemple
Prof : A.BENGAG 37
Système de fichiers dans Unix
Notes:
Après l'ouverture d'une session c'est en général le répertoire personnel (home directory).
- Le répertoire peut être changé par la commande cd : change directory.
- Pour afficher le répertoire de travail actuel – commande pwd : print working directory.
Prof : A.BENGAG 38
Système de fichiers dans Unix
Prof : A.BENGAG 39
Système de fichiers dans Unix
Prof : A.BENGAG 40
Système de fichiers dans Unix
Exercice
Prof : A.BENGAG 41
Système de fichiers dans Unix
Les inodes
• sont des structures de données contenant des informations concernant les fichiers stockés dans
le système de fichiers.
• Répertoire (d=directory)
• Fichier régulier (f= regular file)
• Lien symbolique (l=symbolic link)
– B=bloc ; s=socket
Prof : A.BENGAG 42
Système de fichiers dans Unix
Les inodes
• Disque à l’arborescence
Prof : A.BENGAG 43
Système de fichiers dans Unix
Les inodes (suite)
A chaque fichier correspond un numéro (entier) d'inode (i-number) unique au volume sur lequel il est
situé. Ce i-number est un indice dans la tables d'inodes du volume.
Prof : A.BENGAG 44
Système de fichiers dans Unix
Permissions UNIX
Commande « ls » (list).
• permet de lister le contenu d'un répertoire. Syntaxe: $ ls [options] [file|dir]
option la description
lister tous les fichiers, y compris les fichiers cachés commençant
ls -a
par ‘.’
Prof : A.BENGAG 45
Système de fichiers dans Unix
Permissions UNIX
Exemple
.test
Prof : A.BENGAG 46
Système de fichiers dans Unix
Permissions UNIX
Exemple
.test
Prof : A.BENGAG 47
Système de fichiers dans Unix
Permissions UNIX
Exemple 1
Prof : A.BENGAG 48
Système de fichiers dans Unix
Permissions UNIX
Exemple 2
Prof : A.BENGAG 49
Système de fichiers dans Unix
Permissions UNIX
Exemple 2
Prof : A.BENGAG 50
Système de fichiers dans Unix
Permissions UNIX
Commande « chmod »
• Modifier les autorisations d’accès à un fichier.
• Le mode s’écrit en chaine (ugoat(+ - =)rwxtX) ou en numérique (421) ou en octet (777)
• -R modifie récursivement les droits sur tout une arborescence.
Exemples
test
Prof : A.BENGAG 51
Système de fichiers dans Unix
Permissions UNIX
Commande « chmod »
• Modifier les autorisations d’accès à un fichier.
• Le mode s’écrit en chaine (ugoat(+ - =)rwxtX) ou en numérique (421) ou en octet (777)
• -R modifie récursivement les droits sur tout une arborescence.
Méthode numérique
Chaque paramètre d’autorisation peut être représenté par une valeur numérique
r=4
w=2
w=1
-=0
Lorsque ces valeurs sont additionnées, le total est utilisé pour définir des autorisations précises.
Prof : A.BENGAG 52
Système de fichiers dans Unix
Permissions UNIX
Méthode numérique
Chaque paramètre d’autorisation peut être représenté par une valeur numérique
r=4
w=2
x=1
-=0
Exemple
7 5 5
rwx => 4+2+1 r-x => 4+0+1 r-x => 4+0+1
Prof : A.BENGAG 53
Système de fichiers dans Unix
Les liens
• A) Lien dur (lien physique, hard link) : deux ou plusieurs entrées de répertoires ont le
même i-number, c'est a dire pointent le même inode (partagent même contenu), donc le
même fichier physique.
• Cela permet de donner plusieurs noms au même fichier.
Prof : A.BENGAG 54
Système de fichiers dans Unix
Les liens
• A) Lien dur (lien physique, hard link)
– Pour créer un lien physique : commande ln (link)
– Syntaxe => ln fichier1 fichier2 (créer un lien physique de nom fichier2 pour fichier1)
Prof : A.BENGAG 55
Système de fichiers dans Unix
Les liens
• B) Lien symbolique (symbolic link, symlink) : C'est un fichier (Nom B) contenant le nom de chemin du
fichier (ou répertoire) Nom A.
• Cette fois, on pointe vers le nom de fichier et non vers l’inode directement.
Prof : A.BENGAG 56
Système de fichiers dans Unix
Les liens
• B) Lien symbolique
– Pour créer un lien physique : commande ln (link) avec l’option -s
– Syntaxe => ln –s fichier1 fichier2 (Fichier2 est un lien symbolique de fichier1)
Prof : A.BENGAG 57
Système de fichiers dans Unix
Commande « rm »
Effacer des fichiers , attention – avec :
• L'option -r ou -R permet d'effacer toute une arborescence;
• L'option -i : demander à l’utilisateur de confirmer l’effacement de chaque fichier; (voir man pour les
détails);
Prof : A.BENGAG 58
Système de fichiers dans Unix
Commande « mv »
« mv » permet de changer le nom d'un fichier ou de le déplacer vers un autre répertoire.
Exemple : mv fic1 fic2 (fic1 n'existe plus)
Prof : A.BENGAG 59
Système de fichiers dans Unix
Commandes de base
Prof : A.BENGAG 60
Système de fichiers dans Unix
Commandes de base
Prof : A.BENGAG 61
Système de fichiers dans Unix
Commandes de base
Prof : A.BENGAG 62
Système de fichiers dans Unix
Commande « grep »
Elle permet de chercher des textes dans un fichiers
Prof : A.BENGAG 63
Système de fichiers dans Unix
1er utilisation
Commande « grep »
Elle permet de chercher des textes dans un fichiers.
Syntaxe:
grep texte nom_du_fichier = Recherche simple d’un texte dans un fichier
grep –i texte nom_du_fichier = Recherche sans distinction entre la majuscule et le minuscule
grep –v texte nom_du_fichier = Affiche les lignes qui ne contiennent pas le texte
grep –r texte nom_du_dossier = Recherche le texte dans tous les fichiers qui se trouvent dans le
dossier et les sous-dossier de nom_du_dossier
Note: Si le texte contient des espaces, il faut le mettre entre les guillaumes « »
Prof : A.BENGAG 64
Système de fichiers dans Unix
1er utilisation
Commande « grep »
Elle permet de chercher des textes dans un fichiers.
Prof : A.BENGAG 65
Système de fichiers dans Unix
1er utilisation
Commande « grep »
Elle permet de chercher des textes dans un fichiers.
Prof : A.BENGAG 66
Système de fichiers dans Unix
2ème utilisation : Grep avec des expressions régulières
Commande « grep »
Une expressions régulière appelée expression rationnelle (en anglais : regular expressions).
C’est une chaine de caractères ou motif qui représente un ensemble de chaînes de caractères.
Exemple: Bonjour |Salut (rechercher dans tous les lignes les deux mots ‘Bonjour’ ou ‘Salut’)
-Utilisées en shell et autres langages (PHP, Java,..) pour le traitement (recherche / remplacement)
de chaines de caractères.
- Vérifier si l’utilisateur a bien spécifié une adresse de messagerie de type gi_6@info.com
- Supprimer ou remplacer des caractères dans une phrase
Prof : A.BENGAG 67
Système de fichiers dans Unix
2ème utilisation : Grep avec des expressions régulières
Prof : A.BENGAG 68
Système de fichiers dans Unix
2ème utilisation : Grep avec des expressions régulières
Prof : A.BENGAG 69
Système de fichiers dans Unix
2ème utilisation : Grep avec des expressions régulières
Commande « grep »
expressions régulières (rationelles), en anglais : regular expressions
Prof : A.BENGAG 70
Système de fichiers dans Unix
2ème utilisation : Grep avec des expressions régulières
Commande « grep »
expressions régulières (rationelles), en anglais : regular expressions
Prof : A.BENGAG 71
Système de fichiers dans Unix
2ème utilisation : Grep avec des expressions régulières
Commande « grep »
expressions régulières (rationelles), en anglais : regular expressions
Prof : A.BENGAG 72
Système de fichiers dans Unix
2ème utilisation : Grep avec des expressions régulières
Prof : A.BENGAG 73
Système de fichiers dans Unix
Commande « grep » (suite)
Prof : A.BENGAG 74
Système de fichiers dans Unix
Commande « grep » (suite)
Prof : A.BENGAG 75
Système de fichiers dans Unix
Commande « grep » (suite)
Prof : A.BENGAG 76
Système de fichiers dans Unix
Commande « grep » (suite)
Prof : A.BENGAG 78
Système de fichiers dans Unix
Commande « find »
La commande find permet de retrouver des fichiers à partir de certains critères.
Syntaxe:
find <répertoire de recherche> <critères de recherche>
Prof : A.BENGAG 79
Système de fichiers dans Unix
Prof : A.BENGAG 80
Système de fichiers dans Unix
Commande « find »
La commande find permet de retrouver des fichiers à partir de certains critères.
Note:
Prof : A.BENGAG 81
Système de fichiers dans Unix
Commande « find »
La commande find permet de retrouver des fichiers à partir de certains critères.
Exemples:
find /usr -name toto –print = chercher un fichier dont le nom contient la chaîne de
caractères toto à partir du répertoire /usr,
Prof : A.BENGAG 82
Système de fichiers dans Unix
Commande « find »
La commande find permet de retrouver des fichiers à partir de certains critères.
Syntaxe:
find <répertoire de recherche> <critères de recherche>
Prof : A.BENGAG 83
Prof : A.BENGAG 84
Prof : A.BENGAG 85
Système Unix
- Sur un système Unix, on trouve trois types de comptes:
- Root administrateur (super utilisateur)
- Comptes systèmes (bin, daemon, syns, apache…)
- Compte ordinaires (User utilisateur)
Prof : A.BENGAG 86
Système Unix
- Sur un système Unix, on trouve trois types de comptes:
- Root administrateur (super utilisateur): Celles qui vont administrer le système. Seuls
les administrateurs peuvent installer et configurer. Ils sont chargés de la bonne marche
de la machine. Son UID (user identifier) égal à 0 (zéro).
Prof : A.BENGAG 87
Système Unix
- Sur un système Unix, on trouve trois types de comptes:
- Comptes systèmes (bin, daemon, syns, apache…): servent à faciliter la gestion des
droits d’accès de certains application et démons. Ainsi en lançant le serveur web sous
l’identité du compte « apache », on pourra limiter ses droits d’accès à certains fichiers.
D’une façon générale, on ne lance jamais un service exposé aux attaques réseau
comme un serveur web sous l’identité de root. Les UID compris entre 1 et 999 sont
généralement utilisés pour ces comptes (selon le SE, avoir dans le TP).
Prof : A.BENGAG 88
Système Unix
- Sur un système Unix, on trouve trois types de comptes:
- Compte ordinaires (User utilisateur) : celles qui vont utiliser le système. ont le droit
d'exécuter certaines commandes propres à leur environnement et leur travail, quelques
commandes liées au système sont interdites. L’UID d’un utilisateur sera un nombre
supérieur ou égal à 1000 (selon le SE, avoir dans le TP).
Prof : A.BENGAG 89
Gestion des utilisateurs
Prof : A.BENGAG 90
Gestion des utilisateurs
Fichier /ect/passwd
Prof : A.BENGAG 91
Système de fichiers dans Unix (rappel)
• Le répertoire qui est à l'origine de cette arborescence est appelé répertoire racine (root
directory). Il est désigné par un nom standardisé : /
Exemple :
Prof : A.BENGAG 92
Gestion des utilisateurs
Fichier /etc/passwd
Prof : A.BENGAG 93
Gestion des utilisateurs
Fichier /etc/passwd
Prof : A.BENGAG 94
Gestion des utilisateurs
Commandes de gestion des utilisateurs
Prof : A.BENGAG 95
Gestion des utilisateurs
Commandes de gestion des utilisateurs
Prof : A.BENGAG 96
Gestion des utilisateurs
Commandes de gestion des utilisateurs
Commande « useradd »
Les options:
Exemple: #useradd –u 3000 ahmed (ajouter l’utilisateur ahmed avec l’UID 3000)
- Fichier /etc/login.defs (consulter le nombre des utilisateur)
Prof : A.BENGAG 97
Gestion des utilisateurs
Commandes de gestion des utilisateurs
Commande « useradd »
Les options:
Prof : A.BENGAG 98
Gestion des utilisateurs
Commandes de gestion des utilisateurs
Commande « useradd »
Les options:
Exemple: Cette option permet d’ajouter un commentaire (Par exemple, de savoir le rôle de
compte).
#useradd –c ’’ce compte de test’’ test1
Prof : A.BENGAG 99
Gestion des utilisateurs
Commandes de gestion des utilisateurs
Commande « useradd »
Les options:
Prof : A.BENGAG100
Gestion des utilisateurs
Commandes de gestion des utilisateurs
Commande « passwd »
Permet à un utilisateur de créer ou changer son mot de passe ou à d’autre
personne.
Syntaxe : #passwd nom_user
Prof : A.BENGAG101
Prof : A.BENGAG102
Prof : A.BENGAG103
Introduction
Par conséquent, il convient a bien gérer ce dernier afin le rendre plus productifs. En effet, un
système d’exploitation dispose d’un module qui s’occupe de l’allocation du processus en
l’occurrence le Dispatcheur.
Ce module est exécuté chaque fois qu’un processus se termine ou se bloque dans le but de
réquisitionner le processeur pour un autre processus.
Prof : A.BENGAG104
Programme
Exemples :
Prof : A.BENGAG105
Notion de processus
Prof : A.BENGAG106
Processus
Un programme qui s’exécute et possède un compteur (pour indiquer à quelle instruction il
est rendu) des registres, des variables, une pile d’exécution, un espace d’adressage, un
pointeur vers les fichiers ouverts et connexions réseaux.
Son exécution est, en général, une alternance de calculs effectués par le processeur et de
requêtes d’Entrée/Sortie effectuées par les périphériques.
Prof : A.BENGAG107
Processus
Un processus est caractérisé par :
- PID: identificateur du processus (numéro unique),
- PPID : identificateur du processus père,
- UID : identificateur de l’utilisateur qui a lancé le processus,
- GID : identificateur du groupe de l’utilisateur qui a lancé le processus,
Prof : A.BENGAG108
Processus - PID
Un numéro de processus unique PID (Process ID)
Chaque processus Unix est numéroté afin de pouvoir être différencié des autres.
Le premier lancé par le système est 1 et il s’agit d’un processus appelé généralement init.
Le PID est utilisé quand on travaille avec un processus, exemple:
Lancer 10 fois le même programme (même nom) produit 10 PID différents.
Prof : A.BENGAG109
Processus - PPID
Un numéro de processus parent PPID (Parent Process ID)
Chaque processus peut être lui-même lancer d’autre processus, des processus enfants (child
processus).
Chaque enfant reçoit parmi les informations le PID du processus père qui l’a lancé.
Tous les processus ont un PPID sauf le processus 0 qui est pseudo-processus représentant le
démarrage du système (crée le 1 init).
Prof : A.BENGAG110
Gestion des processus
Diagramme d’états d’un processus (ordonnancement avec préemption, système mono
processeur)
Prof : A.BENGAG111
Processus – Table des processus
Le SE maintient dans une table appelée « table des processus » les informations sur
tous les processus crées (une entrée par processus : Bloc de Contrôle de Processus
Prof : A.BENGAG112
Gestion des processus
Hiérarchie (UNIX)
Prof : A.BENGAG113
Gestion des processus
Hiérarchie (UNIX)
- Au démarrage, le programme d’amorçage charge une partie du SE à partir du disque
(disquette ou CD) pour lui donner le contrôle. Cette partie détermine les caractéristiques du
matériel, effectue un certain nombre d’initialisations et crée le processus 0.
- Le processus 0 réalise d’autres initialisations (ex. le système de fichier) puis crée deux
processus :
- init de PID 1
- Daemon (Disk And Execution MONitor) des pages de PID 2 : Ce processus est
en activité et fournit des services au système.
- Ensuite, d’autres processus sont crées à partir du processus init.
Prof : A.BENGAG114
Gestion des processus
Prof : A.BENGAG115
Gestion des processus
Prof : A.BENGAG116
Gestion des processus - Commandes
Commande « top »
• La commande « top » fournit une vue dynamique temps réel du processus/système en
cours d'exécution.
Prof : A.BENGAG117
Gestion des processus - Commandes
Commande « ps » : Liste statique des processus
• Pour afficher ses propres processus en cours d’exécution, on utilise la commande ps
NOTE: La liste n’est pas actualisé en temps réel, contrairement à ce qui fait top.
Prof : A.BENGAG118
Gestion des processus - Commandes
Commande « ps » : Liste statique des processus (suite)
• Pour afficher les informations des processus en détail, on utilise la commande ps avec
l’option aux
#ps -aux
Prof : A.BENGAG119
Gestion des processus - Commandes
Commande « kill » : Arrêt d’un processus / signaux
Prof : A.BENGAG120
Gestion des processus - Commandes
Commande « kill » : Arrêt d’un processus / signaux
Prof : A.BENGAG121
Gestion des processus - Commandes
Commande « kill » : Arrêt d’un processus / signaux
• Exemple:
Prof : A.BENGAG122
Gestion des processus
Création d’un processus sous UNIX / clônage (1)
- La création de processus sous UNIX est réalisée au moyen de l’appel système : fork()
(c’est le seul moyen de créer des processus par duplication);
L’appel système fork :
– associe un numéro d’identification (le PID du processus);
– ajoute puis initialise une entrée dans la table des processus (PCB).
Prof : A.BENGAG123
Gestion des processus
Création d’un processus sous UNIX / clônage (1)
Prof : A.BENGAG124
Gestion des processus
Création d’un processus sous UNIX / clônage (1)
- Certaines entités comme les descripteurs de fichiers ouverts, le répertoire de travail
courant, les limites des ressources sont copiées du processus parent;
- Duplique l’espace d’adressage du processus effectuant l’appel à
fork(pile+données);
- Duplique la table des descripteurs....
-Exemple :
- Les deux processus père et fils exécutent alors le même
code.
- Pb : Comment distinguer alors le processus père du
processus fils ?
Prof : A.BENGAG125
Gestion des processus
Création d’un processus sous UNIX / clônage (1)
-Exemple 1 :
Prof : A.BENGAG127
Gestion des processus
Création d’un processus sous UNIX / clônage (1)
-Exemple 2 :
Prof : A.BENGAG128
Gestion des processus
Création d’un processus sous UNIX / clônage (1)
-Exécution de l’exemple 2 :
Prof : A.BENGAG129
Gestion des processus
Création d’un processus sous UNIX / clônage (1)
-Exécution de l’exemple 2 sans l’appel sleep :
Prof : A.BENGAG130
Gestion des processus
Création d’un processus sous UNIX / clônage (1)
Prof : A.BENGAG131
Gestion des processus
Fin d’un processus
Un processus peut se termine suite à l’un des 3 événements suivants :
1. Sortie normale, lorsque le processus a terminé sa tâche.
2. Sortie suite à une erreur , exemples : division par 0 , inexistence d’un fichier passé en
paramètre
3. Tué par un autre processus (sous Unix par l’appel au système « kill »).
Prof : A.BENGAG132
Gestion des processus
Notes:
Dans un système mono processeur, un seul processus peut être ACTIF. Les autres sont
placé dans diverses files d'attente et attendent le temps du processeur :
- File d'attente des processus : tous les processus du système ;
- File des processus PRETS ;
- Files pour les différents périphériques ...
- Autre files (attente de différent événements, ex. terminaison d'un processus fils) ;
Les processus avec le temps se "déplacent" entre ces différentes files.
Prof : A.BENGAG133
Prof : A.BENGAG134
Gestion des processus
-Exercice 1 :
1. Créer le dossier « processus_1 ». Puis dans ce dernier, créer un fichier nommé
« fork.c »
2. Modifier le code par le programme suivant :
Prof : A.BENGAG135
Gestion des processus
Création d’un processus sous UNIX / clônage (1)
-Exercice 1 (suite)
Prof : A.BENGAG136