0% ont trouvé ce document utile (0 vote)
3 vues175 pages

Présentation Programmation Systeme

Le document présente un cours sur la programmation système en C sous Linux ou Windows, organisé par LINGUMA NGBANZO David Moise à l'Université Pédagogique Nationale. Le cours comprend une partie théorique et une partie pratique, avec des évaluations basées sur la présence, des mini-tests et un examen écrit. Les objectifs incluent l'utilisation efficace des systèmes d'exploitation et le développement de compétences en langage C et shell UNIX.
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues175 pages

Présentation Programmation Systeme

Le document présente un cours sur la programmation système en C sous Linux ou Windows, organisé par LINGUMA NGBANZO David Moise à l'Université Pédagogique Nationale. Le cours comprend une partie théorique et une partie pratique, avec des évaluations basées sur la présence, des mini-tests et un examen écrit. Les objectifs incluent l'utilisation efficace des systèmes d'exploitation et le développement de compétences en langage C et shell UNIX.
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation système

dévélopemment en C sous linux ou windows

LINGUMA NGBANZO David Moise 1


UNIVERSITE PEDAGOGIQUE NATIONALE

17/12/20222

1. Assistant à l’ISP Mbanza-ngungu au département de mathématique


Plan de travail

A propos de moi :LINGUMA Damos


Organisation du cours
Objectif du cours
Plan du cours
Bibliographie
Plan de travail

A propos de moi :LINGUMA Damos


Organisation du cours
Objectif du cours
Plan du cours
Bibliographie
Plan de travail

A propos de moi :LINGUMA Damos


Organisation du cours
Objectif du cours
Plan du cours
Bibliographie
Plan de travail

A propos de moi :LINGUMA Damos


Organisation du cours
Objectif du cours
Plan du cours
Bibliographie
Plan de travail

A propos de moi :LINGUMA Damos


Organisation du cours
Objectif du cours
Plan du cours
Bibliographie
Plan de travail

A propos de moi :LINGUMA Damos


Organisation du cours
Objectif du cours
Plan du cours
Bibliographie
A propos de moi :LINGUMA David moise
Assitant à l’ISP de Mbanza-Ngungu au département de
mathématique
Tel :+243854497967/email : moiselingumas@[Link]
Cours : Analyse des données,Processus
stochastique(probabilité),Intelligence artificielle,Géométrie
différentielle
Recherche : Modélisation mathématique et Recherche
opérationnelle
Algorithme prim-dual
projet de seir-chonde : modélisation du corona avec
l’équation de la chaleur
Apprentissage automatique : Conception d’un model de
classifieur pour la prédiction de la réussite dans le LMD
A propos de moi :LINGUMA David moise
Assitant à l’ISP de Mbanza-Ngungu au département de
mathématique
Tel :+243854497967/email : moiselingumas@[Link]
Cours : Analyse des données,Processus
stochastique(probabilité),Intelligence artificielle,Géométrie
différentielle
Recherche : Modélisation mathématique et Recherche
opérationnelle
Algorithme prim-dual
projet de seir-chonde : modélisation du corona avec
l’équation de la chaleur
Apprentissage automatique : Conception d’un model de
classifieur pour la prédiction de la réussite dans le LMD
Organisation du cours
Le cours se déroulera en deux parties
Partie théorique(1 jours et demi)
Partie pratique développement en c sous linux ou
windows(1 jours et demi) au labo
Évaluation
Présence (20%)
Mini-test chaque jours(30%)
Examen Ecrit (50%)
Implication
Manipulation : programmez ! Expérimentez !
Questions bienvenues : pendant/après le cours, par
mail/whatsapp
Organisation du cours
Le cours se déroulera en deux parties
Partie théorique(1 jours et demi)
Partie pratique développement en c sous linux ou
windows(1 jours et demi) au labo
Évaluation
Présence (20%)
Mini-test chaque jours(30%)
Examen Ecrit (50%)
Implication
Manipulation : programmez ! Expérimentez !
Questions bienvenues : pendant/après le cours, par
mail/whatsapp
Organisation du cours
Le cours se déroulera en deux parties
Partie théorique(1 jours et demi)
Partie pratique développement en c sous linux ou
windows(1 jours et demi) au labo
Évaluation
Présence (20%)
Mini-test chaque jours(30%)
Examen Ecrit (50%)
Implication
Manipulation : programmez ! Expérimentez !
Questions bienvenues : pendant/après le cours, par
mail/whatsapp
Objectif du Cours

Utiliser efficacement le système d’exploitation


grandes lignes du fonctionnement d’un système
d’exploitation
Concepts clés des OS : processus, fichier, édition
de liens, synchronisation
Utilisation des interfaces système
Compétence à développer :Pratique du langage C et du
shell UNIX (linux sous ubuntu)
Objectif du Cours

Utiliser efficacement le système d’exploitation


grandes lignes du fonctionnement d’un système
d’exploitation
Concepts clés des OS : processus, fichier, édition
de liens, synchronisation
Utilisation des interfaces système
Compétence à développer :Pratique du langage C et du
shell UNIX (linux sous ubuntu)
Objectif du Cours

Utiliser efficacement le système d’exploitation


grandes lignes du fonctionnement d’un système
d’exploitation
Concepts clés des OS : processus, fichier, édition
de liens, synchronisation
Utilisation des interfaces système
Compétence à développer :Pratique du langage C et du
shell UNIX (linux sous ubuntu)
Objectif du Cours

Utiliser efficacement le système d’exploitation


grandes lignes du fonctionnement d’un système
d’exploitation
Concepts clés des OS : processus, fichier, édition
de liens, synchronisation
Utilisation des interfaces système
Compétence à développer :Pratique du langage C et du
shell UNIX (linux sous ubuntu)
Plan du cours

Chapitre 1. Introduction (système d’exploitation)


Chapitre 2. Processus
Chapitre 3. Communication interprocessus
Synchronisation
Chapitre 4. Fichiers et entrées/sorties
Chapitre 5. Programmation système en c
Bibliographie

Introduction aux systèmes et aux réseaux(S.


Krakowiak, Grenoble).
http ://[Link]/ krakowia/Enseignement/L3/SR-
[Link]
Programmation système(Ph. Marquet, Lille).
http ://[Link]/-marquet/cnl/pds/
Système d’exploitation II(Pr.N. ALIOUA,
Marrakech). https ://[Link]/wp-
content/uploads/2021/11/systeme-dexploitation-2-3
Chapitre 1 : Introduction (Système d’exploitation)

colorcyanMotivations
Les systèmes d’exploitation (SE) au quotidien
Machines à laver, consoles de jeux, Smartphones,
ordinateurs, SmartTV...
«Le système démarre», «Le système a planté» , «
version 3.0.1 du système », « bug système »,
Académique/Professionnel :
Administration réseau : Les machines du réseaux (PCs,
routeurs, serveurs, ...) possèdent des SE !
Génie Logiciel : le logiciel s’appuie sur un SE
Chapitre 1 : Introduction (Système d’exploitation)

colorcyanMotivations
Les systèmes d’exploitation (SE) au quotidien
Machines à laver, consoles de jeux, Smartphones,
ordinateurs, SmartTV...
«Le système démarre», «Le système a planté» , «
version 3.0.1 du système », « bug système »,
Académique/Professionnel :
Administration réseau : Les machines du réseaux (PCs,
routeurs, serveurs, ...) possèdent des SE !
Génie Logiciel : le logiciel s’appuie sur un SE
Chapitre 1 : Introduction (Système d’exploitation)

colorcyanMotivations
Les systèmes d’exploitation (SE) au quotidien
Machines à laver, consoles de jeux, Smartphones,
ordinateurs, SmartTV...
«Le système démarre», «Le système a planté» , «
version 3.0.1 du système », « bug système »,
Académique/Professionnel :
Administration réseau : Les machines du réseaux (PCs,
routeurs, serveurs, ...) possèdent des SE !
Génie Logiciel : le logiciel s’appuie sur un SE
Motivations

Figure –

L’étude des SE permet d’accéder à des formations


avancées (Systèmes distribués, virtualisation,
cloud computing, Big Data ...)
un ordinateur se compose d’éléments matériels «
Hardware » et d’éléments logiciels « Software ».
Un SE est fortement lié aux ressources matérielles
sur lesquelles il s’exécute.
Motivations

Figure –

L’étude des SE permet d’accéder à des formations


avancées (Systèmes distribués, virtualisation,
cloud computing, Big Data ...)
un ordinateur se compose d’éléments matériels «
Hardware » et d’éléments logiciels « Software ».
Un SE est fortement lié aux ressources matérielles
sur lesquelles il s’exécute.
Motivations

Figure –

L’étude des SE permet d’accéder à des formations


avancées (Systèmes distribués, virtualisation,
cloud computing, Big Data ...)
un ordinateur se compose d’éléments matériels «
Hardware » et d’éléments logiciels « Software ».
Un SE est fortement lié aux ressources matérielles
sur lesquelles il s’exécute.
Motivations

Figure –

L’étude des SE permet d’accéder à des formations


avancées (Systèmes distribués, virtualisation,
cloud computing, Big Data ...)
un ordinateur se compose d’éléments matériels «
Hardware » et d’éléments logiciels « Software ».
Un SE est fortement lié aux ressources matérielles
sur lesquelles il s’exécute.
plan du chapitre

1 Rappel
2 Rôles d’un SE
3 Définition d’un SE
4 Structure interne des SE
5 Le noyau
6 Quelques familles de SE
7 La notion de multitâches et multi-utilisateurs
plan du chapitre

1 Rappel
2 Rôles d’un SE
3 Définition d’un SE
4 Structure interne des SE
5 Le noyau
6 Quelques familles de SE
7 La notion de multitâches et multi-utilisateurs
plan du chapitre

1 Rappel
2 Rôles d’un SE
3 Définition d’un SE
4 Structure interne des SE
5 Le noyau
6 Quelques familles de SE
7 La notion de multitâches et multi-utilisateurs
plan du chapitre

1 Rappel
2 Rôles d’un SE
3 Définition d’un SE
4 Structure interne des SE
5 Le noyau
6 Quelques familles de SE
7 La notion de multitâches et multi-utilisateurs
plan du chapitre

1 Rappel
2 Rôles d’un SE
3 Définition d’un SE
4 Structure interne des SE
5 Le noyau
6 Quelques familles de SE
7 La notion de multitâches et multi-utilisateurs
plan du chapitre

1 Rappel
2 Rôles d’un SE
3 Définition d’un SE
4 Structure interne des SE
5 Le noyau
6 Quelques familles de SE
7 La notion de multitâches et multi-utilisateurs
plan du chapitre

1 Rappel
2 Rôles d’un SE
3 Définition d’un SE
4 Structure interne des SE
5 Le noyau
6 Quelques familles de SE
7 La notion de multitâches et multi-utilisateurs
plan du chapitre

1 Rappel
2 Rôles d’un SE
3 Définition d’un SE
4 Structure interne des SE
5 Le noyau
6 Quelques familles de SE
7 La notion de multitâches et multi-utilisateurs
[Link]

Processeur(cerveau de l’ordinateur)–>UAL(calcul) et
UC(commande)
Les mémoires

Figure –
[Link]

Processeur(cerveau de l’ordinateur)–>UAL(calcul) et
UC(commande)
Les mémoires

Figure –
[Link]

Processeur(cerveau de l’ordinateur)–>UAL(calcul) et
UC(commande)
Les mémoires

Figure –
[Link]

Figure – Schema matériel général


[Link]

Figure –
[Link]

Figure –
2.Rôle d’un SE
Il est plus facile de définir un système d’exploitation par ce
qu’il fait que par ce qu’il est
Définitionensemble de programmes de gestion du système qui
permettent de gérer les éléments fondamentaux de
l’ordinateur : Le matériel , les logiciels , la mémoire - les
données , les réseaux.
Rôles majeurs
Cache la complexité du hardware, que ce soit pour les
applications ou pour les développeurs : diverses
technologies de stockage, de transmission, ...
Gère les ressources : allocation de mémoire, ordre
d’exécution.
Isolation et protection : des programmes, des utilisateurs,
...
2.Rôle d’un SE
Il est plus facile de définir un système d’exploitation par ce
qu’il fait que par ce qu’il est
Définitionensemble de programmes de gestion du système qui
permettent de gérer les éléments fondamentaux de
l’ordinateur : Le matériel , les logiciels , la mémoire - les
données , les réseaux.
Rôles majeurs
Cache la complexité du hardware, que ce soit pour les
applications ou pour les développeurs : diverses
technologies de stockage, de transmission, ...
Gère les ressources : allocation de mémoire, ordre
d’exécution.
Isolation et protection : des programmes, des utilisateurs,
...
2.Rôle d’un SE
Il est plus facile de définir un système d’exploitation par ce
qu’il fait que par ce qu’il est
Définitionensemble de programmes de gestion du système qui
permettent de gérer les éléments fondamentaux de
l’ordinateur : Le matériel , les logiciels , la mémoire - les
données , les réseaux.
Rôles majeurs
Cache la complexité du hardware, que ce soit pour les
applications ou pour les développeurs : diverses
technologies de stockage, de transmission, ...
Gère les ressources : allocation de mémoire, ordre
d’exécution.
Isolation et protection : des programmes, des utilisateurs,
...
2.Rôle d’un SE : en Résumé

Gestion des processus


Gestion de la mémoire
Gestion des périphériques
Gestion du système de fichiers
Protection
Sécurité
2.Rôle d’un SE : en Résumé

Gestion des processus


Gestion de la mémoire
Gestion des périphériques
Gestion du système de fichiers
Protection
Sécurité
2.Rôle d’un SE : en Résumé

Gestion des processus


Gestion de la mémoire
Gestion des périphériques
Gestion du système de fichiers
Protection
Sécurité
2.Rôle d’un SE : en Résumé

Gestion des processus


Gestion de la mémoire
Gestion des périphériques
Gestion du système de fichiers
Protection
Sécurité
2.Rôle d’un SE : en Résumé

Gestion des processus


Gestion de la mémoire
Gestion des périphériques
Gestion du système de fichiers
Protection
Sécurité
2.Rôle d’un SE : en Résumé

Gestion des processus


Gestion de la mémoire
Gestion des périphériques
Gestion du système de fichiers
Protection
Sécurité
2.Rôle d’un SE : en Résumé

Gestion des processus


Gestion de la mémoire
Gestion des périphériques
Gestion du système de fichiers
Protection
Sécurité
3.définition d’un SE

un système d’exploitation est une couche logicielle


indispensable pour exploiter, d’une manière simple, les
ressources matériels d’un ordinateur.

Figure –
3.définition d’un SE :Mode de fonctionnement

Deux mode de fonctionnement


Le mode noyau (mode superviseur,privilégié)
Le mode utilisateur
4. Structure interne des SE

Monolithique
Systèmes à mode noyau et utilisateur
Systèmes en couches
sytèmes à micro Kernel
4. Structure interne des SE

Monolithique
Systèmes à mode noyau et utilisateur
Systèmes en couches
sytèmes à micro Kernel
4. Structure interne des SE

Monolithique
Systèmes à mode noyau et utilisateur
Systèmes en couches
sytèmes à micro Kernel
4. Structure interne des SE

Monolithique
Systèmes à mode noyau et utilisateur
Systèmes en couches
sytèmes à micro Kernel
4. Structure interne des SE

Monolithique
Systèmes à mode noyau et utilisateur
Systèmes en couches
sytèmes à micro Kernel
4. Structure interne des SE : Monolithique

Le SE s’exécute en un seul programme en mode noyau


Le Se s’exécute comme une collection de procédure
Avantages/Désavantages
Implémentation simple
Difficile à maintenir
Exemple :Ms Dos
4. Structure interne des SE : Monolithique

Le SE s’exécute en un seul programme en mode noyau


Le Se s’exécute comme une collection de procédure
Avantages/Désavantages
Implémentation simple
Difficile à maintenir
Exemple :Ms Dos
4. Structure interne des SE : Monolithique

Le SE s’exécute en un seul programme en mode noyau


Le Se s’exécute comme une collection de procédure
Avantages/Désavantages
Implémentation simple
Difficile à maintenir
Exemple :Ms Dos
4. Structure interne des SE : Monolithique

Le SE s’exécute en un seul programme en mode noyau


Le Se s’exécute comme une collection de procédure
Avantages/Désavantages
Implémentation simple
Difficile à maintenir
Exemple :Ms Dos
4. Structure interne des SE : Monolithique

Le SE s’exécute en un seul programme en mode noyau


Le Se s’exécute comme une collection de procédure
Avantages/Désavantages
Implémentation simple
Difficile à maintenir
Exemple :Ms Dos
4. Structure interne des SE : Systèmes à modes
noyau et utilisateur

Le SE démarre en mode noyau puis commute en mode


utilisateur
4. Structure interne des SE : Systèmes à modes
noyau et utilisateur

Le SE démarre en mode noyau puis commute en mode


utilisateur
4. Structure interne des SE : Systèmes à modes
noyau et utilisateur

En mode utilisateur, on utilise les appels système pour avoir


accès à ce qui a été prévu par le système.
Exemple : Unix et windows sont de tels systèmes
4. Systèmes en couches

Figure – Systèmes en couches


4. Systèmes en couches

Chaque couche réalise sa fonction en se basant


sur les fonction de la couche inférieur
données+routines= couche de SE
Avantages/Désavantages
Vérification et débogage relativement simples.
Difficulté lors de la définition des couches ; tendance à
être moins efficaces.
4. Systèmes en couches

Chaque couche réalise sa fonction en se basant


sur les fonction de la couche inférieur
données+routines= couche de SE
Avantages/Désavantages
Vérification et débogage relativement simples.
Difficulté lors de la définition des couches ; tendance à
être moins efficaces.
4. Systèmes en couches

Chaque couche réalise sa fonction en se basant


sur les fonction de la couche inférieur
données+routines= couche de SE
Avantages/Désavantages
Vérification et débogage relativement simples.
Difficulté lors de la définition des couches ; tendance à
être moins efficaces.
4. Systèmes en couches

Chaque couche réalise sa fonction en se basant


sur les fonction de la couche inférieur
données+routines= couche de SE
Avantages/Désavantages
Vérification et débogage relativement simples.
Difficulté lors de la définition des couches ; tendance à
être moins efficaces.
4. Systèmes en couches

Chaque couche réalise sa fonction en se basant


sur les fonction de la couche inférieur
données+routines= couche de SE
Avantages/Désavantages
Vérification et débogage relativement simples.
Difficulté lors de la définition des couches ; tendance à
être moins efficaces.
4. Systèmes à micro Kernel :

Figure –

Avantages/Désavantages
4. Systèmes à micro Kernel :

Figure –

Avantages/Désavantages
5. Le Noyau

Figure –
5. Le Noyau

Composition du noyau
Gestionnaire de tâches (ordonnanceur)
Gestionnaire de mémoire
Gestionnaire de fichiers
Gestionnaire de périphériques :
5. Le Noyau

Composition du noyau
Gestionnaire de tâches (ordonnanceur)
Gestionnaire de mémoire
Gestionnaire de fichiers
Gestionnaire de périphériques :
5. Le Noyau

Composition du noyau
Gestionnaire de tâches (ordonnanceur)
Gestionnaire de mémoire
Gestionnaire de fichiers
Gestionnaire de périphériques :
5. Le Noyau

Composition du noyau
Gestionnaire de tâches (ordonnanceur)
Gestionnaire de mémoire
Gestionnaire de fichiers
Gestionnaire de périphériques :
6. Quelques familles de SE vue dans le cours
d’exploitation

Familles de SE
Serveurs
PC
Handheld
Système embarqué
6. Quelques familles de SE vue dans le cours
d’exploitation

Familles de SE
Serveurs
PC
Handheld
Système embarqué
6. Quelques familles de SE vue dans le cours
d’exploitation

Familles de SE
Serveurs
PC
Handheld
Système embarqué
6. Quelques familles de SE vue dans le cours
d’exploitation

Familles de SE
Serveurs
PC
Handheld
Système embarqué
7. La notion de multitâches et multi-utilisateurs

systèmes multitâches
Ce contexte fait appel au notion suivante
Processus
Temps partagés –>peuso-parallélisme
Espace mémoire d’un processus–>espace d’adressage du
processus
systèmes multi-utilisateurs
Ce contexte fait appel au notion suivante
Utilisateurs
Groupe d’utilisateurs
Super-utilisateur
7. La notion de multitâches et multi-utilisateurs

systèmes multitâches
Ce contexte fait appel au notion suivante
Processus
Temps partagés –>peuso-parallélisme
Espace mémoire d’un processus–>espace d’adressage du
processus
systèmes multi-utilisateurs
Ce contexte fait appel au notion suivante
Utilisateurs
Groupe d’utilisateurs
Super-utilisateur
7. La notion de multitâches et multi-utilisateurs

systèmes multitâches
Ce contexte fait appel au notion suivante
Processus
Temps partagés –>peuso-parallélisme
Espace mémoire d’un processus–>espace d’adressage du
processus
systèmes multi-utilisateurs
Ce contexte fait appel au notion suivante
Utilisateurs
Groupe d’utilisateurs
Super-utilisateur
7. La notion de multitâches et multi-utilisateurs

systèmes multitâches
Ce contexte fait appel au notion suivante
Processus
Temps partagés –>peuso-parallélisme
Espace mémoire d’un processus–>espace d’adressage du
processus
systèmes multi-utilisateurs
Ce contexte fait appel au notion suivante
Utilisateurs
Groupe d’utilisateurs
Super-utilisateur
7. La notion de multitâches et multi-utilisateurs

systèmes multitâches
Ce contexte fait appel au notion suivante
Processus
Temps partagés –>peuso-parallélisme
Espace mémoire d’un processus–>espace d’adressage du
processus
systèmes multi-utilisateurs
Ce contexte fait appel au notion suivante
Utilisateurs
Groupe d’utilisateurs
Super-utilisateur
7. La notion de multitâches et multi-utilisateurs

systèmes multitâches
Ce contexte fait appel au notion suivante
Processus
Temps partagés –>peuso-parallélisme
Espace mémoire d’un processus–>espace d’adressage du
processus
systèmes multi-utilisateurs
Ce contexte fait appel au notion suivante
Utilisateurs
Groupe d’utilisateurs
Super-utilisateur
7. La notion de multitâches et multi-utilisateurs

systèmes multitâches
Ce contexte fait appel au notion suivante
Processus
Temps partagés –>peuso-parallélisme
Espace mémoire d’un processus–>espace d’adressage du
processus
systèmes multi-utilisateurs
Ce contexte fait appel au notion suivante
Utilisateurs
Groupe d’utilisateurs
Super-utilisateur
Chapitre 2 : Gestion des processus
Plan du chapitre

1 Introduction et Définitions
2 Niveaux d’ordonnancement des processus
3 Définition d’un SE
4 Etats des processus
5 Algorithmes d’ordonnancement
6 Superviseur des processus
7 Création de processus
Chapitre 2 : Gestion des processus
Plan du chapitre

1 Introduction et Définitions
2 Niveaux d’ordonnancement des processus
3 Définition d’un SE
4 Etats des processus
5 Algorithmes d’ordonnancement
6 Superviseur des processus
7 Création de processus
Chapitre 2 : Gestion des processus
Plan du chapitre

1 Introduction et Définitions
2 Niveaux d’ordonnancement des processus
3 Définition d’un SE
4 Etats des processus
5 Algorithmes d’ordonnancement
6 Superviseur des processus
7 Création de processus
Chapitre 2 : Gestion des processus
Plan du chapitre

1 Introduction et Définitions
2 Niveaux d’ordonnancement des processus
3 Définition d’un SE
4 Etats des processus
5 Algorithmes d’ordonnancement
6 Superviseur des processus
7 Création de processus
Chapitre 2 : Gestion des processus
Plan du chapitre

1 Introduction et Définitions
2 Niveaux d’ordonnancement des processus
3 Définition d’un SE
4 Etats des processus
5 Algorithmes d’ordonnancement
6 Superviseur des processus
7 Création de processus
Chapitre 2 : Gestion des processus
Plan du chapitre

1 Introduction et Définitions
2 Niveaux d’ordonnancement des processus
3 Définition d’un SE
4 Etats des processus
5 Algorithmes d’ordonnancement
6 Superviseur des processus
7 Création de processus
Chapitre 2 : Gestion des processus
Plan du chapitre

1 Introduction et Définitions
2 Niveaux d’ordonnancement des processus
3 Définition d’un SE
4 Etats des processus
5 Algorithmes d’ordonnancement
6 Superviseur des processus
7 Création de processus
Chapitre 2 : Gestion des processus
Plan du chapitre

1 Introduction et Définitions
2 Niveaux d’ordonnancement des processus
3 Définition d’un SE
4 Etats des processus
5 Algorithmes d’ordonnancement
6 Superviseur des processus
7 Création de processus
1. Introduction et définitions
1) Qu’est-ce qu’un processus ?

un processus peut être définit comme étant une instance de


programme en cours d’exécution ».
La gestion d’accès aux ressources est dirigée par la
partie du SE appelée ordonnanceur.
1. Introduction et définitions
1) Qu’est-ce qu’un processus ?

un processus peut être définit comme étant une instance de


programme en cours d’exécution ».
La gestion d’accès aux ressources est dirigée par la
partie du SE appelée ordonnanceur.
1. Introduction et définitions
1) Qu’est-ce qu’un processus ?

Composition
Pile (Stack)—>donnéees tempo(variables locales, paramètre des fo
Registres et la valeur du compteur de programme —–><—-
Tas (Heap)=mémoire allouée pendant l"éxécution du processu
Section données–>variables globales du programme
Code du programme (Section texte)
A rétenir
Si un même programme est exécuté plusieurs fois, il
correspond à plusieurs processus.
Un processus peut communiquer des informations avec
d’autres processus.
1. Introduction et définitions
1) Qu’est-ce qu’un processus ?

Composition
Pile (Stack)—>donnéees tempo(variables locales, paramètre des fo
Registres et la valeur du compteur de programme —–><—-
Tas (Heap)=mémoire allouée pendant l"éxécution du processu
Section données–>variables globales du programme
Code du programme (Section texte)
A rétenir
Si un même programme est exécuté plusieurs fois, il
correspond à plusieurs processus.
Un processus peut communiquer des informations avec
d’autres processus.
1. Introduction et définitions
1) Qu’est-ce qu’un processus ?

Composition
Pile (Stack)—>donnéees tempo(variables locales, paramètre des fo
Registres et la valeur du compteur de programme —–><—-
Tas (Heap)=mémoire allouée pendant l"éxécution du processu
Section données–>variables globales du programme
Code du programme (Section texte)
A rétenir
Si un même programme est exécuté plusieurs fois, il
correspond à plusieurs processus.
Un processus peut communiquer des informations avec
d’autres processus.
1. Introduction et définitions
2) Qu’est-ce qu’un processus léger (ou thread) ?

Un processus peut être composé d’un ou de plusieurs


processus légers (threads).
La gestion d’accès aux ressources est dirigée par la
partie du SE appelée ordonnanceur.
Un thread est une unité d’exécution rattachée à un
processus, chargée d’en exécuter une partie. »
1. Introduction et définitions
2) Qu’est-ce qu’un processus léger (ou thread) ?

Un processus peut être composé d’un ou de plusieurs


processus légers (threads).
La gestion d’accès aux ressources est dirigée par la
partie du SE appelée ordonnanceur.
Un thread est une unité d’exécution rattachée à un
processus, chargée d’en exécuter une partie. »
1. Introduction et définitions
2) Qu’est-ce qu’un processus léger (ou thread) ?

Composition
Pile (Stack)—>donnéees tempo(variables locales, paramètre des fo
Registres et la valeur du compteur de programme —–><—-
Avantages des threads
Réactivité
Economie d’espace mémoire
Economie de temps
Scalabilité
1. Introduction et définitions
2) Qu’est-ce qu’un processus léger (ou thread) ?

Composition
Pile (Stack)—>donnéees tempo(variables locales, paramètre des fo
Registres et la valeur du compteur de programme —–><—-
Avantages des threads
Réactivité
Economie d’espace mémoire
Economie de temps
Scalabilité
1. Introduction et définitions
2) Qu’est-ce qu’un processus léger (ou thread) ?

Composition
Pile (Stack)—>donnéees tempo(variables locales, paramètre des fo
Registres et la valeur du compteur de programme —–><—-
Avantages des threads
Réactivité
Economie d’espace mémoire
Economie de temps
Scalabilité
1. Introduction et définitions
2) Qu’est-ce qu’un processus léger (ou thread) ?

Composition
Pile (Stack)—>donnéees tempo(variables locales, paramètre des fo
Registres et la valeur du compteur de programme —–><—-
Avantages des threads
Réactivité
Economie d’espace mémoire
Economie de temps
Scalabilité
1. Introduction et définitions
3) Resumé categories des SE

Les SE mono-processus à thread unique(ex. DOS)


Les SE multiprocessus à thread unique (ex. Unix)
Les SE multiprocessus multithread (ex : windows)
1. Introduction et définitions
3) Resumé categories des SE

Les SE mono-processus à thread unique(ex. DOS)


Les SE multiprocessus à thread unique (ex. Unix)
Les SE multiprocessus multithread (ex : windows)
1. Introduction et définitions
3) Resumé categories des SE

Les SE mono-processus à thread unique(ex. DOS)


Les SE multiprocessus à thread unique (ex. Unix)
Les SE multiprocessus multithread (ex : windows)
1. Introduction et définitions
4) Le bloc de contrôle du processus PCB–>Table de processus

Composition
Etat de processus (En exécution,prêt,bloqué)
Identifiant du processus PID
Compteur de programme
Registre de l’UCT
information d’ordonnancement
Information sur la gestion de la mémoire
Information sur le statut des E/S
1. Introduction et définitions
5) Le changement de contexte

Figure – Changement de Contexte


2. Niveaux d’ordonnancement des processus
5) Définition et Notions utiles

Définition ordonnanceur
partie du SE chargée d’allouer les ressources aux processus.
On peut distinguer entre 2 types de processus, selon le type de
ressource qu’ils utilisent le plus
Les processus tributaires de l’E/S : utilisent peu l’UCT et
beaucoup l ’E/S
Les processus tributaires de l ’UCT : utilisent beaucoup
l’UCT et peu d’E/S
Quel équilibre l’ordonnanceur devrait-il réaliser ?
Le temps d’UCT non utilisé par les processus tributaires
de l’E/S peut être utilisé par les processus tributaires de
l’UCT et vice-versa
L’UCT doit rester le moins possible inactive, sans pour
autant saturer la mémoire principale du système.
2. Niveaux d’ordonnancement des processus
6) Les filles d’attentes

Les processus qui résident dans la mémoire principale et sont


prêts et en attente d’exécution sont conservés sur une liste
appelée FIle des Processus Prêts(Ou Ready Queue) Quelques
caractéristiques :
Chaque ressource a sa propre file de processus en attente.
C’est généralement une liste chaînée, contenant un
pointeur vers le PCB du processus, et un pointeur vers le
PCB du processus suivant dans la file.
2. Niveaux d’ordonnancement des processus
6) Les filles d’attentes

Les processus qui résident dans la mémoire principale et sont


prêts et en attente d’exécution sont conservés sur une liste
appelée FIle des Processus Prêts(Ou Ready Queue) Quelques
caractéristiques :
Chaque ressource a sa propre file de processus en attente.
C’est généralement une liste chaînée, contenant un
pointeur vers le PCB du processus, et un pointeur vers le
PCB du processus suivant dans la file.
2. Niveaux d’ordonnancement des processus
6) Les filles d’attentes

Les processus qui résident dans la mémoire principale et sont


prêts et en attente d’exécution sont conservés sur une liste
appelée FIle des Processus Prêts(Ou Ready Queue) Quelques
caractéristiques :
Chaque ressource a sa propre file de processus en attente.
C’est généralement une liste chaînée, contenant un
pointeur vers le PCB du processus, et un pointeur vers le
PCB du processus suivant dans la file.
2. Niveaux d’ordonnancement des processus
6) niveaux d’ordonnancement

Un processus passe une bonne partie de sa durée de vie


dans divers files d’attente.
La sélection d’un processus à partir de ces files d’attente
est effectuéepar l’ordonnanceur.
L’ordonnanceur opère sur 3 niveaux
L’ordonnanceur à long terme (ou ordonnanceur de
travaux) : décide du moment où les processus vont être
chargés en mémoire.
L’ordonnanceur à moyen terme (ou ordonnanceur de
mémoire ou permutateur) : décide de la
suspension/reprise des processus lors d’un manque de
mémoire.
L’ordonnanceur à court terme (ou ordonnanceur de
processus ou répartiteur) : décide quel processus aura le
2. Niveaux d’ordonnancement des processus
6) niveaux d’ordonnancement

Un processus passe une bonne partie de sa durée de vie


dans divers files d’attente.
La sélection d’un processus à partir de ces files d’attente
est effectuéepar l’ordonnanceur.
L’ordonnanceur opère sur 3 niveaux
L’ordonnanceur à long terme (ou ordonnanceur de
travaux) : décide du moment où les processus vont être
chargés en mémoire.
L’ordonnanceur à moyen terme (ou ordonnanceur de
mémoire ou permutateur) : décide de la
suspension/reprise des processus lors d’un manque de
mémoire.
L’ordonnanceur à court terme (ou ordonnanceur de
processus ou répartiteur) : décide quel processus aura le
2. Niveaux d’ordonnancement des processus
6) niveaux d’ordonnancement

Un processus passe une bonne partie de sa durée de vie


dans divers files d’attente.
La sélection d’un processus à partir de ces files d’attente
est effectuéepar l’ordonnanceur.
L’ordonnanceur opère sur 3 niveaux
L’ordonnanceur à long terme (ou ordonnanceur de
travaux) : décide du moment où les processus vont être
chargés en mémoire.
L’ordonnanceur à moyen terme (ou ordonnanceur de
mémoire ou permutateur) : décide de la
suspension/reprise des processus lors d’un manque de
mémoire.
L’ordonnanceur à court terme (ou ordonnanceur de
processus ou répartiteur) : décide quel processus aura le
2. Niveaux d’ordonnancement des processus
6) niveaux d’ordonnancement

Un processus passe une bonne partie de sa durée de vie


dans divers files d’attente.
La sélection d’un processus à partir de ces files d’attente
est effectuéepar l’ordonnanceur.
L’ordonnanceur opère sur 3 niveaux
L’ordonnanceur à long terme (ou ordonnanceur de
travaux) : décide du moment où les processus vont être
chargés en mémoire.
L’ordonnanceur à moyen terme (ou ordonnanceur de
mémoire ou permutateur) : décide de la
suspension/reprise des processus lors d’un manque de
mémoire.
L’ordonnanceur à court terme (ou ordonnanceur de
processus ou répartiteur) : décide quel processus aura le
2. Niveaux d’ordonnancement des processus
6) niveaux d’ordonnancement

Un processus passe une bonne partie de sa durée de vie


dans divers files d’attente.
La sélection d’un processus à partir de ces files d’attente
est effectuéepar l’ordonnanceur.
L’ordonnanceur opère sur 3 niveaux
L’ordonnanceur à long terme (ou ordonnanceur de
travaux) : décide du moment où les processus vont être
chargés en mémoire.
L’ordonnanceur à moyen terme (ou ordonnanceur de
mémoire ou permutateur) : décide de la
suspension/reprise des processus lors d’un manque de
mémoire.
L’ordonnanceur à court terme (ou ordonnanceur de
processus ou répartiteur) : décide quel processus aura le
3. Etats des processus
1) Les états des processus dans un répartiteur (ordonnanceur de processus)

si on ne considère pour commencer que le répartiteur, 3 états


et 4 transitions possibles
Prêt (ready) : état d’un processus qui n’est pas alloué à
l’UCT, mais qui est prêt à être exécuté.
En exécution (running) : état d’un processus exécuté sur
une UCT.
Bloqué (blocked) : état d’attente d’un événement
extérieur, tel qu’une E/S, nécessaire à la poursuite de
l’exécution du processus.
3. Etats des processus
1) Les états des processus dans un répartiteur (ordonnanceur de processus)

si on ne considère pour commencer que le répartiteur, 3 états


et 4 transitions possibles
Prêt (ready) : état d’un processus qui n’est pas alloué à
l’UCT, mais qui est prêt à être exécuté.
En exécution (running) : état d’un processus exécuté sur
une UCT.
Bloqué (blocked) : état d’attente d’un événement
extérieur, tel qu’une E/S, nécessaire à la poursuite de
l’exécution du processus.
3. Etats des processus
1) Les états des processus dans un répartiteur (ordonnanceur de processus)

si on ne considère pour commencer que le répartiteur, 3 états


et 4 transitions possibles
Prêt (ready) : état d’un processus qui n’est pas alloué à
l’UCT, mais qui est prêt à être exécuté.
En exécution (running) : état d’un processus exécuté sur
une UCT.
Bloqué (blocked) : état d’attente d’un événement
extérieur, tel qu’une E/S, nécessaire à la poursuite de
l’exécution du processus.
3. Etats des processus
1) Les états des processus dans un répartiteur (ordonnanceur de processus)

si on ne considère pour commencer que le répartiteur, 3 états


et 4 transitions possibles
Prêt (ready) : état d’un processus qui n’est pas alloué à
l’UCT, mais qui est prêt à être exécuté.
En exécution (running) : état d’un processus exécuté sur
une UCT.
Bloqué (blocked) : état d’attente d’un événement
extérieur, tel qu’une E/S, nécessaire à la poursuite de
l’exécution du processus.
3. Etats des processus
1) Les états des processus dans un répartiteur (ordonnanceur de processus)

Figure –
3. Etats des processus
2) Les états des processus dans un ordonnanceur de travaux

2 états sont ajoutés aux états précédents lorsqu’un


ordonnanceur de travaux est utilisé :
Nouveau (New) : le processus vient d’être créé mais n’est
pas encore admis par l’ordonnanceur de travaux pour
concurrencer à l’accès à l’UCT
erminé (Terminated) : le processus a achevé sa tâche. Il
sera détruit prochainement par le SE pour libérer l’espace.
Il est parfois conservé pendant un temps à l’état terminé
en attendant qu’une E/S s’achève ou que les données de
ce processus soient exploitées par un autre processus. On
parle alors de processus " zombie"
3. Etats des processus
2) Les états des processus dans un ordonnanceur de travaux

2 états sont ajoutés aux états précédents lorsqu’un


ordonnanceur de travaux est utilisé :
Nouveau (New) : le processus vient d’être créé mais n’est
pas encore admis par l’ordonnanceur de travaux pour
concurrencer à l’accès à l’UCT
erminé (Terminated) : le processus a achevé sa tâche. Il
sera détruit prochainement par le SE pour libérer l’espace.
Il est parfois conservé pendant un temps à l’état terminé
en attendant qu’une E/S s’achève ou que les données de
ce processus soient exploitées par un autre processus. On
parle alors de processus " zombie"
3. Etats des processus
2) Les états des processus dans un ordonnanceur de travaux

2 états sont ajoutés aux états précédents lorsqu’un


ordonnanceur de travaux est utilisé :
Nouveau (New) : le processus vient d’être créé mais n’est
pas encore admis par l’ordonnanceur de travaux pour
concurrencer à l’accès à l’UCT
erminé (Terminated) : le processus a achevé sa tâche. Il
sera détruit prochainement par le SE pour libérer l’espace.
Il est parfois conservé pendant un temps à l’état terminé
en attendant qu’une E/S s’achève ou que les données de
ce processus soient exploitées par un autre processus. On
parle alors de processus " zombie"
3. Etats des processus
2) Les états des processus dans un ordonnanceur de travaux

Figure –
3. Etats des processus
3) Les états des processus dans un permutateur

2 états sont ajoutés aux états précédents lorsqu’un


permutateur est utilisé :
Permuté-prêt (Swapped-ready) : le processus est pour
l’instant transféré en mémoire secondaire. Le processus
est réintroduit plus tard par le permutateur.
Permuté-bloqué (Swapped-blocked) : le processus était
bloqué en attendant une E/S par exemple, puis a été
transféré sur la mémoire secondaire pour faire de la place
en mémoire principale. Lorsqu’il termine ses E/S, il passe
à l’état permuté- prêt.
3. Etats des processus
3) Les états des processus dans un permutateur

2 états sont ajoutés aux états précédents lorsqu’un


permutateur est utilisé :
Permuté-prêt (Swapped-ready) : le processus est pour
l’instant transféré en mémoire secondaire. Le processus
est réintroduit plus tard par le permutateur.
Permuté-bloqué (Swapped-blocked) : le processus était
bloqué en attendant une E/S par exemple, puis a été
transféré sur la mémoire secondaire pour faire de la place
en mémoire principale. Lorsqu’il termine ses E/S, il passe
à l’état permuté- prêt.
3. Etats des processus
3) Les états des processus dans un permutateur

2 états sont ajoutés aux états précédents lorsqu’un


permutateur est utilisé :
Permuté-prêt (Swapped-ready) : le processus est pour
l’instant transféré en mémoire secondaire. Le processus
est réintroduit plus tard par le permutateur.
Permuté-bloqué (Swapped-blocked) : le processus était
bloqué en attendant une E/S par exemple, puis a été
transféré sur la mémoire secondaire pour faire de la place
en mémoire principale. Lorsqu’il termine ses E/S, il passe
à l’état permuté- prêt.
3. Etats des processus
3) Les états des processus dans un permutateur

Figure –
4. Algorithmes d’ordonnancement
1) Généralités

Rôle
décider de l’allocation d’une ressource aux processus qui
l’attendent : algos d’ordonnancement pour l’[Link]
aboutir à un partage efficace du temps d’utilisation de l’UCT :
Mais que veut dire efficace ?
L’algo doit identifier le processus qui conduira à la
«meilleure» performance possible du système.
Il existe différents critères pour mesurer la performance et
dont l’importance est relative à l’algo lui même.
4. Algorithmes d’ordonnancement
1) Généralités

Rôle
décider de l’allocation d’une ressource aux processus qui
l’attendent : algos d’ordonnancement pour l’[Link]
aboutir à un partage efficace du temps d’utilisation de l’UCT :
Mais que veut dire efficace ?
L’algo doit identifier le processus qui conduira à la
«meilleure» performance possible du système.
Il existe différents critères pour mesurer la performance et
dont l’importance est relative à l’algo lui même.
4. Algorithmes d’ordonnancement
1) Généralités

Rôle
décider de l’allocation d’une ressource aux processus qui
l’attendent : algos d’ordonnancement pour l’[Link]
aboutir à un partage efficace du temps d’utilisation de l’UCT :
Mais que veut dire efficace ?
L’algo doit identifier le processus qui conduira à la
«meilleure» performance possible du système.
Il existe différents critères pour mesurer la performance et
dont l’importance est relative à l’algo lui même.
4. Algorithmes d’ordonnancement
1) Généralités

Rôle
décider de l’allocation d’une ressource aux processus qui
l’attendent : algos d’ordonnancement pour l’[Link]
aboutir à un partage efficace du temps d’utilisation de l’UCT :
Mais que veut dire efficace ?
L’algo doit identifier le processus qui conduira à la
«meilleure» performance possible du système.
Il existe différents critères pour mesurer la performance et
dont l’importance est relative à l’algo lui même.
4. Algorithmes d’ordonnancement
2) Les critères de performance

Utilisation UCT (à maximiser).


Débit (ou rendement,
Pn Throughput) (à
maximiser) i=0 Pi /n.
Temps de rotation (ou de service, turnaround time) (à
minimiser) Tf − Td
Temps d’attente (waiting time) (à minimiser) ni=0 Ti
P
Temps de réponse (response time) (à minimiser) Trp − Tr
Equité
Priorités
Remarque :
En général, on tente d’optimiser les valeurs moyennes pour
tous les processus mis en jeu pendant une période
d’observation donnée, pour les temps d’attente, de rotation et
de réponse.
4. Algorithmes d’ordonnancement
2) Les critères de performance

Utilisation UCT (à maximiser).


Débit (ou rendement,
Pn Throughput) (à
maximiser) i=0 Pi /n.
Temps de rotation (ou de service, turnaround time) (à
minimiser) Tf − Td
Temps d’attente (waiting time) (à minimiser) ni=0 Ti
P
Temps de réponse (response time) (à minimiser) Trp − Tr
Equité
Priorités
Remarque :
En général, on tente d’optimiser les valeurs moyennes pour
tous les processus mis en jeu pendant une période
d’observation donnée, pour les temps d’attente, de rotation et
de réponse.
4. Algorithmes d’ordonnancement
2) Les critères de performance

Utilisation UCT (à maximiser).


Débit (ou rendement,
Pn Throughput) (à
maximiser) i=0 Pi /n.
Temps de rotation (ou de service, turnaround time) (à
minimiser) Tf − Td
Temps d’attente (waiting time) (à minimiser) ni=0 Ti
P
Temps de réponse (response time) (à minimiser) Trp − Tr
Equité
Priorités
Remarque :
En général, on tente d’optimiser les valeurs moyennes pour
tous les processus mis en jeu pendant une période
d’observation donnée, pour les temps d’attente, de rotation et
de réponse.
4. Algorithmes d’ordonnancement
2) Les critères de performance

Utilisation UCT (à maximiser).


Débit (ou rendement,
Pn Throughput) (à
maximiser) i=0 Pi /n.
Temps de rotation (ou de service, turnaround time) (à
minimiser) Tf − Td
Temps d’attente (waiting time) (à minimiser) ni=0 Ti
P
Temps de réponse (response time) (à minimiser) Trp − Tr
Equité
Priorités
Remarque :
En général, on tente d’optimiser les valeurs moyennes pour
tous les processus mis en jeu pendant une période
d’observation donnée, pour les temps d’attente, de rotation et
de réponse.
4. Algorithmes d’ordonnancement
2) Les critères de performance

Utilisation UCT (à maximiser).


Débit (ou rendement,
Pn Throughput) (à
maximiser) i=0 Pi /n.
Temps de rotation (ou de service, turnaround time) (à
minimiser) Tf − Td
Temps d’attente (waiting time) (à minimiser) ni=0 Ti
P
Temps de réponse (response time) (à minimiser) Trp − Tr
Equité
Priorités
Remarque :
En général, on tente d’optimiser les valeurs moyennes pour
tous les processus mis en jeu pendant une période
d’observation donnée, pour les temps d’attente, de rotation et
de réponse.
4. Algorithmes d’ordonnancement
2) Les critères de performance

Utilisation UCT (à maximiser).


Débit (ou rendement,
Pn Throughput) (à
maximiser) i=0 Pi /n.
Temps de rotation (ou de service, turnaround time) (à
minimiser) Tf − Td
Temps d’attente (waiting time) (à minimiser) ni=0 Ti
P
Temps de réponse (response time) (à minimiser) Trp − Tr
Equité
Priorités
Remarque :
En général, on tente d’optimiser les valeurs moyennes pour
tous les processus mis en jeu pendant une période
d’observation donnée, pour les temps d’attente, de rotation et
de réponse.
4. Algorithmes d’ordonnancement
2) Les critères de performance

Utilisation UCT (à maximiser).


Débit (ou rendement,
Pn Throughput) (à
maximiser) i=0 Pi /n.
Temps de rotation (ou de service, turnaround time) (à
minimiser) Tf − Td
Temps d’attente (waiting time) (à minimiser) ni=0 Ti
P
Temps de réponse (response time) (à minimiser) Trp − Tr
Equité
Priorités
Remarque :
En général, on tente d’optimiser les valeurs moyennes pour
tous les processus mis en jeu pendant une période
d’observation donnée, pour les temps d’attente, de rotation et
de réponse.
4. Algorithmes d’ordonnancement
2) Les critères de performance

Utilisation UCT (à maximiser).


Débit (ou rendement,
Pn Throughput) (à
maximiser) i=0 Pi /n.
Temps de rotation (ou de service, turnaround time) (à
minimiser) Tf − Td
Temps d’attente (waiting time) (à minimiser) ni=0 Ti
P
Temps de réponse (response time) (à minimiser) Trp − Tr
Equité
Priorités
Remarque :
En général, on tente d’optimiser les valeurs moyennes pour
tous les processus mis en jeu pendant une période
d’observation donnée, pour les temps d’attente, de rotation et
de réponse.
4. Algorithmes d’ordonnancement
2) Les critères de performance

Utilisation UCT (à maximiser).


Débit (ou rendement,
Pn Throughput) (à
maximiser) i=0 Pi /n.
Temps de rotation (ou de service, turnaround time) (à
minimiser) Tf − Td
Temps d’attente (waiting time) (à minimiser) ni=0 Ti
P
Temps de réponse (response time) (à minimiser) Trp − Tr
Equité
Priorités
Remarque :
En général, on tente d’optimiser les valeurs moyennes pour
tous les processus mis en jeu pendant une période
d’observation donnée, pour les temps d’attente, de rotation et
de réponse.
4. Algorithmes d’ordonnancement
3) Non préemptif Vs Préemptif

Il existe 2 types d’algo. Ordonnancement :


Non préemptif (ou coopératif ou sans réquisition) :
Définition : le processus sélectionné garde le contrôle de
l’UCT jusqu’à ce qu’il se bloque ou qu’il termine.
Avantages : facile à mettre en œuvre. Ne nécessite pas
de mécanismes matériels spécifiques (horloges, ...)
Inconvénients : Correspond difficilement aux systèmes
interactifs ou le temps de réponse est important.
Non préemptif (ou coopératif ou sans réquisition) :
Définition :l’algo retire l’UCT au processus en cours
d’exécution pour l’attribuer à un autre processus. Ce type
est indispensable pour les système interactifs.
Avantages : Convient aux systèmes interactifs
Inconvénients : Commutation fréquente de contexte des
processus, ce qui peut diminuer le débit.
4. Algorithmes d’ordonnancement
3) Non préemptif Vs Préemptif

Il existe 2 types d’algo. Ordonnancement :


Non préemptif (ou coopératif ou sans réquisition) :
Définition : le processus sélectionné garde le contrôle de
l’UCT jusqu’à ce qu’il se bloque ou qu’il termine.
Avantages : facile à mettre en œuvre. Ne nécessite pas
de mécanismes matériels spécifiques (horloges, ...)
Inconvénients : Correspond difficilement aux systèmes
interactifs ou le temps de réponse est important.
Non préemptif (ou coopératif ou sans réquisition) :
Définition :l’algo retire l’UCT au processus en cours
d’exécution pour l’attribuer à un autre processus. Ce type
est indispensable pour les système interactifs.
Avantages : Convient aux systèmes interactifs
Inconvénients : Commutation fréquente de contexte des
processus, ce qui peut diminuer le débit.
4. Algorithmes d’ordonnancement
3) Non préemptif Vs Préemptif

Il existe 2 types d’algo. Ordonnancement :


Non préemptif (ou coopératif ou sans réquisition) :
Définition : le processus sélectionné garde le contrôle de
l’UCT jusqu’à ce qu’il se bloque ou qu’il termine.
Avantages : facile à mettre en œuvre. Ne nécessite pas
de mécanismes matériels spécifiques (horloges, ...)
Inconvénients : Correspond difficilement aux systèmes
interactifs ou le temps de réponse est important.
Non préemptif (ou coopératif ou sans réquisition) :
Définition :l’algo retire l’UCT au processus en cours
d’exécution pour l’attribuer à un autre processus. Ce type
est indispensable pour les système interactifs.
Avantages : Convient aux systèmes interactifs
Inconvénients : Commutation fréquente de contexte des
processus, ce qui peut diminuer le débit.
4. Algorithmes d’ordonnancement
3) Non préemptif Vs Préemptif

Il existe 2 types d’algo. Ordonnancement :


Non préemptif (ou coopératif ou sans réquisition) :
Définition : le processus sélectionné garde le contrôle de
l’UCT jusqu’à ce qu’il se bloque ou qu’il termine.
Avantages : facile à mettre en œuvre. Ne nécessite pas
de mécanismes matériels spécifiques (horloges, ...)
Inconvénients : Correspond difficilement aux systèmes
interactifs ou le temps de réponse est important.
Non préemptif (ou coopératif ou sans réquisition) :
Définition :l’algo retire l’UCT au processus en cours
d’exécution pour l’attribuer à un autre processus. Ce type
est indispensable pour les système interactifs.
Avantages : Convient aux systèmes interactifs
Inconvénients : Commutation fréquente de contexte des
processus, ce qui peut diminuer le débit.
4. Algorithmes d’ordonnancement
3) Non préemptif Vs Préemptif

Il existe 2 types d’algo. Ordonnancement :


Non préemptif (ou coopératif ou sans réquisition) :
Définition : le processus sélectionné garde le contrôle de
l’UCT jusqu’à ce qu’il se bloque ou qu’il termine.
Avantages : facile à mettre en œuvre. Ne nécessite pas
de mécanismes matériels spécifiques (horloges, ...)
Inconvénients : Correspond difficilement aux systèmes
interactifs ou le temps de réponse est important.
Non préemptif (ou coopératif ou sans réquisition) :
Définition :l’algo retire l’UCT au processus en cours
d’exécution pour l’attribuer à un autre processus. Ce type
est indispensable pour les système interactifs.
Avantages : Convient aux systèmes interactifs
Inconvénients : Commutation fréquente de contexte des
processus, ce qui peut diminuer le débit.
4. Algorithmes d’ordonnancement
3) Non préemptif Vs Préemptif

Il existe 2 types d’algo. Ordonnancement :


Non préemptif (ou coopératif ou sans réquisition) :
Définition : le processus sélectionné garde le contrôle de
l’UCT jusqu’à ce qu’il se bloque ou qu’il termine.
Avantages : facile à mettre en œuvre. Ne nécessite pas
de mécanismes matériels spécifiques (horloges, ...)
Inconvénients : Correspond difficilement aux systèmes
interactifs ou le temps de réponse est important.
Non préemptif (ou coopératif ou sans réquisition) :
Définition :l’algo retire l’UCT au processus en cours
d’exécution pour l’attribuer à un autre processus. Ce type
est indispensable pour les système interactifs.
Avantages : Convient aux systèmes interactifs
Inconvénients : Commutation fréquente de contexte des
processus, ce qui peut diminuer le débit.
4. Algorithmes d’ordonnancement
3) Non préemptif Vs Préemptif

Il existe 2 types d’algo. Ordonnancement :


Non préemptif (ou coopératif ou sans réquisition) :
Définition : le processus sélectionné garde le contrôle de
l’UCT jusqu’à ce qu’il se bloque ou qu’il termine.
Avantages : facile à mettre en œuvre. Ne nécessite pas
de mécanismes matériels spécifiques (horloges, ...)
Inconvénients : Correspond difficilement aux systèmes
interactifs ou le temps de réponse est important.
Non préemptif (ou coopératif ou sans réquisition) :
Définition :l’algo retire l’UCT au processus en cours
d’exécution pour l’attribuer à un autre processus. Ce type
est indispensable pour les système interactifs.
Avantages : Convient aux systèmes interactifs
Inconvénients : Commutation fréquente de contexte des
processus, ce qui peut diminuer le débit.
4. Algorithmes d’ordonnancement
3) Non préemptif Vs Préemptif

Il existe 2 types d’algo. Ordonnancement :


Non préemptif (ou coopératif ou sans réquisition) :
Définition : le processus sélectionné garde le contrôle de
l’UCT jusqu’à ce qu’il se bloque ou qu’il termine.
Avantages : facile à mettre en œuvre. Ne nécessite pas
de mécanismes matériels spécifiques (horloges, ...)
Inconvénients : Correspond difficilement aux systèmes
interactifs ou le temps de réponse est important.
Non préemptif (ou coopératif ou sans réquisition) :
Définition :l’algo retire l’UCT au processus en cours
d’exécution pour l’attribuer à un autre processus. Ce type
est indispensable pour les système interactifs.
Avantages : Convient aux systèmes interactifs
Inconvénients : Commutation fréquente de contexte des
processus, ce qui peut diminuer le débit.
4. Algorithmes d’ordonnancement

1 FIFO
2 Short Job First (SJF)
3 Shortest Remaining Time First(SRTF)
4 Round-Robin (RR)=Tourniquet
5 HPF (Highest Priority First ou haute priorité d’abord)
4. Algorithmes d’ordonnancement

1 FIFO
2 Short Job First (SJF)
3 Shortest Remaining Time First(SRTF)
4 Round-Robin (RR)=Tourniquet
5 HPF (Highest Priority First ou haute priorité d’abord)
4. Algorithmes d’ordonnancement

1 FIFO
2 Short Job First (SJF)
3 Shortest Remaining Time First(SRTF)
4 Round-Robin (RR)=Tourniquet
5 HPF (Highest Priority First ou haute priorité d’abord)
4. Algorithmes d’ordonnancement

1 FIFO
2 Short Job First (SJF)
3 Shortest Remaining Time First(SRTF)
4 Round-Robin (RR)=Tourniquet
5 HPF (Highest Priority First ou haute priorité d’abord)
4. Algorithmes d’ordonnancement

1 FIFO
2 Short Job First (SJF)
3 Shortest Remaining Time First(SRTF)
4 Round-Robin (RR)=Tourniquet
5 HPF (Highest Priority First ou haute priorité d’abord)
4. Algorithmes d’ordonnancement

1 FIFO
2 Short Job First (SJF)
3 Shortest Remaining Time First(SRTF)
4 Round-Robin (RR)=Tourniquet
5 HPF (Highest Priority First ou haute priorité d’abord)
4. Algorithmes d’ordonnancement
4) First In first Out (FIFO)

Algo non préemptif très simple. Il est aussi appelé PAPS


(Premier Arrivé Premier Servi).
L’ordonnancement est fait dans l’ordre d’arrivée en gérant
une file FIFO (First In First Out) unique des processus
prêts, sans priorité ni réquisition : le processus élu est
celui qui est en tête de liste..
Chaque processus s’exécute jusqu’à son terme
Avantages :
Simple
Pas de famine
Inconvénients
Temps d’attente moyen très important.
Non adapté aux systèmes interactifs
4. Algorithmes d’ordonnancement
4) First In first Out (FIFO)

Algo non préemptif très simple. Il est aussi appelé PAPS


(Premier Arrivé Premier Servi).
L’ordonnancement est fait dans l’ordre d’arrivée en gérant
une file FIFO (First In First Out) unique des processus
prêts, sans priorité ni réquisition : le processus élu est
celui qui est en tête de liste..
Chaque processus s’exécute jusqu’à son terme
Avantages :
Simple
Pas de famine
Inconvénients
Temps d’attente moyen très important.
Non adapté aux systèmes interactifs
4. Algorithmes d’ordonnancement
4) First In first Out (FIFO)

Algo non préemptif très simple. Il est aussi appelé PAPS


(Premier Arrivé Premier Servi).
L’ordonnancement est fait dans l’ordre d’arrivée en gérant
une file FIFO (First In First Out) unique des processus
prêts, sans priorité ni réquisition : le processus élu est
celui qui est en tête de liste..
Chaque processus s’exécute jusqu’à son terme
Avantages :
Simple
Pas de famine
Inconvénients
Temps d’attente moyen très important.
Non adapté aux systèmes interactifs
4. Algorithmes d’ordonnancement
4) First In first Out (FIFO)

Algo non préemptif très simple. Il est aussi appelé PAPS


(Premier Arrivé Premier Servi).
L’ordonnancement est fait dans l’ordre d’arrivée en gérant
une file FIFO (First In First Out) unique des processus
prêts, sans priorité ni réquisition : le processus élu est
celui qui est en tête de liste..
Chaque processus s’exécute jusqu’à son terme
Avantages :
Simple
Pas de famine
Inconvénients
Temps d’attente moyen très important.
Non adapté aux systèmes interactifs
4. Algorithmes d’ordonnancement
4) First In first Out (FIFO)

Algo non préemptif très simple. Il est aussi appelé PAPS


(Premier Arrivé Premier Servi).
L’ordonnancement est fait dans l’ordre d’arrivée en gérant
une file FIFO (First In First Out) unique des processus
prêts, sans priorité ni réquisition : le processus élu est
celui qui est en tête de liste..
Chaque processus s’exécute jusqu’à son terme
Avantages :
Simple
Pas de famine
Inconvénients
Temps d’attente moyen très important.
Non adapté aux systèmes interactifs
4. Algorithmes d’ordonnancement
4) First In first Out (FIFO) – Exemple

Soient les processus P1 , P2 , P3 qui arrivent à l’instant 0


dans cet ordre.
Processus Cycle UCT
P1 24
P2 3
P3 3
Le diagramme de Gant suivant correspondant à l’algo
FIFO :.
P1 P2 P3
0 24 27 | 30
Remarque :
Lorsque les processus les plus courts sont arrivés en premier
(donc élu en premier), les performances sont nettement
meilleurs. On pourrait donc penser à utiliser un algo qui
4. Algorithmes d’ordonnancement
4) First In first Out (FIFO) – Exemple

Soient les processus P1 , P2 , P3 qui arrivent à l’instant 0


dans cet ordre.
Processus Cycle UCT
P1 24
P2 3
P3 3
Le diagramme de Gant suivant correspondant à l’algo
FIFO :.
P1 P2 P3
0 24 27 | 30
Remarque :
Lorsque les processus les plus courts sont arrivés en premier
(donc élu en premier), les performances sont nettement
meilleurs. On pourrait donc penser à utiliser un algo qui
4. Algorithmes d’ordonnancement
4) First In first Out (FIFO) – Exemple

Soient les processus P1 , P2 , P3 qui arrivent à l’instant 0


dans cet ordre.
Processus Cycle UCT
P1 24
P2 3
P3 3
Le diagramme de Gant suivant correspondant à l’algo
FIFO :.
P1 P2 P3
0 24 27 | 30
Remarque :
Lorsque les processus les plus courts sont arrivés en premier
(donc élu en premier), les performances sont nettement
meilleurs. On pourrait donc penser à utiliser un algo qui
4. Algorithmes d’ordonnancement
4) First In first Out (FIFO) – Exemple

Soient les processus P1 , P2 , P3 qui arrivent à l’instant 0


dans cet ordre.
Processus Cycle UCT
P1 24
P2 3
P3 3
Le diagramme de Gant suivant correspondant à l’algo
FIFO :.
P1 P2 P3
0 24 27 | 30
Remarque :
Lorsque les processus les plus courts sont arrivés en premier
(donc élu en premier), les performances sont nettement
meilleurs. On pourrait donc penser à utiliser un algo qui
4. Algorithmes d’ordonnancement
5) Shortest Job First (SJF)

Algo non préemptif. Il est aussi appelé Plus court temps


d’exécution (PCTE)
Le processus qui a le cycle UCT le plus court est exécuté
en premier.
Le FCFS est utilisé en cas d’égalité.
Avantages :
Le meilleur pour le temps d’attente moyen (lorsque tous
les processus arrivent en même temps.)
Inconvénients
Risque de famine : les processus longs peuvent ne jamais
s’exécuter.
Nécessite de connaitre à l’avance le temps du cycle UCT
(adapté aux traitements par lots où une estimation de la
durée du cycle est donnée). Sinon, il devrait être prédit
4. Algorithmes d’ordonnancement
5) Shortest Job First (SJF)

Algo non préemptif. Il est aussi appelé Plus court temps


d’exécution (PCTE)
Le processus qui a le cycle UCT le plus court est exécuté
en premier.
Le FCFS est utilisé en cas d’égalité.
Avantages :
Le meilleur pour le temps d’attente moyen (lorsque tous
les processus arrivent en même temps.)
Inconvénients
Risque de famine : les processus longs peuvent ne jamais
s’exécuter.
Nécessite de connaitre à l’avance le temps du cycle UCT
(adapté aux traitements par lots où une estimation de la
durée du cycle est donnée). Sinon, il devrait être prédit
4. Algorithmes d’ordonnancement
5) Shortest Job First (SJF)

Algo non préemptif. Il est aussi appelé Plus court temps


d’exécution (PCTE)
Le processus qui a le cycle UCT le plus court est exécuté
en premier.
Le FCFS est utilisé en cas d’égalité.
Avantages :
Le meilleur pour le temps d’attente moyen (lorsque tous
les processus arrivent en même temps.)
Inconvénients
Risque de famine : les processus longs peuvent ne jamais
s’exécuter.
Nécessite de connaitre à l’avance le temps du cycle UCT
(adapté aux traitements par lots où une estimation de la
durée du cycle est donnée). Sinon, il devrait être prédit
4. Algorithmes d’ordonnancement
5) Shortest Job First (SJF)

Algo non préemptif. Il est aussi appelé Plus court temps


d’exécution (PCTE)
Le processus qui a le cycle UCT le plus court est exécuté
en premier.
Le FCFS est utilisé en cas d’égalité.
Avantages :
Le meilleur pour le temps d’attente moyen (lorsque tous
les processus arrivent en même temps.)
Inconvénients
Risque de famine : les processus longs peuvent ne jamais
s’exécuter.
Nécessite de connaitre à l’avance le temps du cycle UCT
(adapté aux traitements par lots où une estimation de la
durée du cycle est donnée). Sinon, il devrait être prédit
4. Algorithmes d’ordonnancement
5) Shortest Job First (SJF)

Algo non préemptif. Il est aussi appelé Plus court temps


d’exécution (PCTE)
Le processus qui a le cycle UCT le plus court est exécuté
en premier.
Le FCFS est utilisé en cas d’égalité.
Avantages :
Le meilleur pour le temps d’attente moyen (lorsque tous
les processus arrivent en même temps.)
Inconvénients
Risque de famine : les processus longs peuvent ne jamais
s’exécuter.
Nécessite de connaitre à l’avance le temps du cycle UCT
(adapté aux traitements par lots où une estimation de la
durée du cycle est donnée). Sinon, il devrait être prédit

Vous aimerez peut-être aussi