Système d’exploitation : la gestion des processus – ch 1.3
Summary
TLDRLa vidéo explique la gestion des processus dans un système d'exploitation. Elle décrit la création de processus, leur cycle de vie, et les états d'exécution, d'attente et de sommeil. Elle met en lumière l'importance de l'ordonnancement pour partager les ressources limitées entre les processus. Le script aborde également les systèmes d'exploitation temps réel, critiquant et souple, et mentionne des exemples de systèmes d'exploitation comme QNX et Free RTOS, ainsi que l'utilisation de processeurs multicœurs pour des tâches spécifiques.
Takeaways
- 💻 Un processus est l'instance d'exécution d'un programme, avec un PID unique et des ressources allouées par le noyau.
- 🔧 La gestion des processus est cruciale pour l'efficacité du système d'exploitation, qui gère également ses propres processus.
- 🎯 Les processus peuvent être des applications utilisateur, comme VLC, ou des services système, comme le serveur CUPS d'impression.
- 🚦 Les processus passent par différents états : création, exécution, attente, bloqué, prêt et terminaison.
- 🔄 La mémoire est partagée dans l'espace, tandis que le processeur est partagé dans le temps, ce qui implique un partage des ressources.
- ⏱️ L'ordonnanceur (scheduler) détermine l'alternance des processus entre les états d'exécution et d'attente.
- 🛑 Un processus peut être bloqué par des événements comme des appels système longs ou des attentes de données.
- 🔄 Les interruptions matérielles, comme les actions de l'utilisateur, peuvent déclencher l'ordonnanceur et changer l'exécution des processus.
- 🕒 Le 'quantum' de temps est une mesure clé dans l'ordonnancement des processus, influençant la réactivité et l'efficacité du système.
- 🏭 Les systèmes d'exploitation temps réel sont critiques pour les applications où les échéances doivent être strictement respectées, comme dans les systèmes de contrôle industriels.
- 🌐 Il existe différents types de systèmes d'exploitation temps réel, adaptés à des cas d'usage variés, allant des systèmes critiques à des systèmes plus flexibles.
Q & A
Qu'est-ce qu'un processus dans le contexte d'un système d'exploitation?
-Un processus est l'instance d'exécution d'un programme. Le noyau alloue un numéro d'identification unique (PID) et des ressources telles que la mémoire et le processeur à chaque processus.
Quels sont les exemples de processus système mentionnés dans le script?
-Le script mentionne le serveur CUPS (impression) qui utilise 0,3% des ressources processeurs et a le PID 10000 comme exemple de processus système.
Comment les processus utilisateur sont-ils créés?
-Les processus utilisateur sont créés lorsqu'une application est lancée par l'utilisateur. Par exemple, la lecture d'une vidéo avec VLC crée un processus VLC.
Quels sont les différents états d'un processus?
-Les états d'un processus incluent la création, l'exécution, l'attente (ready), le sommeil (sleeping), l'arrêt (stopped), le bloqué (blocked) et la fin (terminated).
Qu'est-ce que le partage du temps et comment fonctionne-t-il?
-Le partage du temps est une méthode utilisée par le noyau pour allouer des périodes de temps limitées du processeur aux processus en fonction de leur priorité ou de la politique d'ordonnancement en vigueur.
Pourquoi un processus peut-il passer en mode bloqué?
-Un processus passe en mode bloqué lorsqu'il effectue une opération qui nécessite des ressources externes comme une lecture sur le disque dur ou qu'il attend une réponse à une demande de service.
Que signifie un processus zombie et pourquoi cela peut-il être problématique?
-Un processus zombie est un processus qui a terminé son exécution mais dont l'espace mémoire n'a pas été libéré. Cela peut être problématique car il empêche d'autres processus d'utiliser ces ressources.
Quels sont les systèmes d'exploitation temps réel et dans quel contexte sont-ils utilisés?
-Les systèmes d'exploitation temps réel sont utilisés dans des contextes critiques où le respect des échéances est essentiel, comme les systèmes de freinage d'une voiture ou de contrôle d'un avion. QNX et Free RTOS sont donnés en exemple.
Quelle est la différence entre le temps réel critique et le temps réel souple?
-Le temps réel critique est utilisé dans des systèmes où les échéances doivent absolument être respectées, tandis que le temps réel souple permet de tolérer un retard limité sur les échéances.
Comment Linux gère-t-il la gestion des processus?
-Linux gère la gestion des processus à travers un noyau qui alloue des ressources et un PID unique à chaque processus, et utilise un algorithme d'ordonnancement comme le Round-Robin pour gérer le partage du processeur.
Outlines
🖥️ Gestion des processus dans un Système d'exploitation
Le paragraphe 1 explique les fondamentaux de la gestion des processus dans un système d'exploitation. Un processus est présenté comme une instance d'exécution d'un programme, où le noyau alloue des ressources telles que le PID, la mémoire et le processeur. Le paragraphe détaille également les différents états d'un processus, allant de la création à la destruction, en passant par l'exécution, l'attente et le bloquage. Les processus système et les processus utilisateurs sont également discutés, ainsi que la nécessité de partager les ressources matérielles limitées entre les processus. L'ordonnancement des processus est introduit, avec un exemple simplifié sur un processeur monocoeur où plusieurs processus doivent partager le temps processeur.
🔄 État et transition des processus
Le paragraphe 2 se concentre sur les changements d'état des processus lors de leur exécution. Il explique comment les processus passent d'un état à un autre en réponse à des événements ou des actions du système, comme la demande d'impression par LibreOffice qui le met en mode bloqué. L'interaction entre différents processus et le serveur d'impression CUPS est décrite, illustrant comment les processus sont prioritaires et comment ils sont gérés par l'ordonnanceur. Le paragraphe met également l'accent sur la préemption des processus et les implications de la taille du quantum de temps alloué aux processus, ainsi que les considérations pour les systèmes d'exploitation multitâches.
⏱️ Systèmes d'exploitation temps réel et à usage général
Le paragraphe 3 traite des systèmes d'exploitation temps réel et à usage général, soulignant les différences fondamentales entre les deux. Il explique que les systèmes critiques, comme les systèmes de freinage d'une voiture ou de contrôle d'un avion, nécessitent un temps réel strict où les échéances doivent être respectées. En revanche, les systèmes à usage général comme Linux, Windows, Mac OS, Android et iOS ne sont pas en temps réel et ne garantissent pas les échéances. Le paragraphe mentionne également les systèmes d'exploitation temps réel comme QNX et Free RTOS, ainsi que les avantages de l'utilisation de processeurs multicœurs pour exécuter des systèmes d'exploitation parallèles. Le choix du système d'exploitation dépend non seulement de la performance et de la fiabilité mais aussi de facteurs comme la taille, le coût et la consommation énergétique.
Mindmap
Keywords
💡Processus
💡PID (Process ID)
💡États du processus
💡Ordonnanceur (Scheduler)
💡Quantum de temps (Time Quantum)
💡Multitâche
💡Temps réel
💡Zombie
💡Système d'exploitation temps réel
💡Processeur multicœur
Highlights
La gestion des processus est un aspect clé du système d'exploitation.
Un processus est l'instance d'exécution d'un programme.
Le noyau alloue un PID unique et des ressources à chaque processus.
Le serveur CUPS d'impression utilise 0,3% des ressources processeurs avec le PID 10000.
Les processus peuvent être des applications lancées par l'utilisateur.
Le processus VLC créé pour lire une vidéo utilise 43% du processeur.
Les ressources matérielles sont limitées et doivent être partagées entre les processus.
Les processus alternent entre des états d'exécution et d'attente.
Un processus est créé et un espace mémoire lui est alloué jusqu'à sa destruction.
Le processeur est partagé dans le temps entre les processus.
L'appréhension est l'arrêt de l'exécution du processus par le noyau.
Un processus peut faire un appel système long comme une lecture sur le disque dur.
Un processus bloque les données demandées ou après un certain temps.
Un processus terminé non détruit est appelé un zombie.
L'ordonnanceur détermine quel processus prêt passe en exécution.
Le partage du temps est expliqué à travers un exemple simplifié sur un processeur monocoeur.
Les interruptions matérielles peuvent déclencher l'ordonnanceur avant la fin du contrat de temps.
La préemption d'un processus nécessite de sauvegarder et de charger le contexte de l'autre processus.
Le choix du quant à temps est crucial pour la performance du système.
Linux stocke les informations sur l'ordonnanceur dans le dossier système.
Sur un processeur multicœur, la charge des processus est répartie sur les différents cœurs.
Les systèmes d'exploitation temps réel sont adaptés aux systèmes critiques.
Les systèmes d'exploitation à usage général comme Linux ne sont pas en temps réel.
Xeno-mai est un système d'exploitation temps réel optimisé pour faire tourner deux noyaux.
Il n'y a pas de système d'exploitation universelle, mais des systèmes adaptés à différents cas d'usage.
Transcripts
dans la vidéo précédente nous avons
présenté les différentes fonctionnalités
d'un système d'exploitation nous allons
nous intéresser ici plus principalement
à la gestion des processus la mise en
oeuvre des processus sera détaillé dans
le chapitre suivant un processus est
l'instance d'exécution d'un programme le
noyau alloue un numéro d'identification
unique piid et des ressources mémoires
et processeurs à chaque processus comme
nous l'avons vu dans la vidéo précédente
le système d'exploitation a lui aussi
ses processus en plus du noyau
par exemple ici le serveur CUPS
d'impression utilise 0,3 % des
ressources processeurs et à le PID 10000
99
les processus peuvent aussi être des
applications lancées par l'utilisateur
par exemple lorsque je lance la lecture
d'une vidéo un processus VLC est créé si
je lance la lecture d'une seconde vidéo
un second processus est créé avec un
autre pied chacun utilise ici 43% du
processeur pour la décompression
essentiellement aux notes que le
processus serveur d'impression
appartient à route le système et que les
processus VLC appartiennent à
l'utilisateur ajoute
les ressources matérielles étant
limitées le noyau doit les partager
entre les processus
un processus doit donc alterner des
états d'exécution et des états
d'attentes voyons en détail les
différents états du processus
lors du lancement de l'application ou à
la demande du système d'exploitation un
processus est créé un espace mémoire lui
est alloué jusqu'à sa destruction
une fois qu'il a installé ces éléments
en mémoire il est prêt et attend que le
noyau lui a loue un processeur
en effet autant il est possible
d'allouer un espace mémoire pour toute
la durée de vie du processus autant il
n'est pas possible de lui allouer un
processeur la mémoire est partagée dans
l'espace et le processeur est partagé
dans le temps
le processus alterne donc les états
d'exécution est prêt
le noyau lui retirant le processeur pour
le partager avec d'autres processus
l'arrêt de l'exécution du processus par
le noyau s'appelle l'appréhension le
processus peut aussi faire un appel
système un peu long une demande de
lecture sur le disque dur par exemple où
se mettre en sommeil de lui-même un
client de messagerie par exemple ne
vérifie à présence de mail sur le
serveur que toutes les 5 minutes
le processus passe alors en mode bloqué
à l'arrivée de la donnée demandée ou
après l'écoulement des 5 minutes cités
dans notre exemple le processus est
débloqué et repasse en mode prêt dans
l'attente des ressources processeur
enfin lorsque l'utilisateur ferme
l'application ou en cas d'erreur fatale
le processus est terminé et l'espace
mémoire qui l'utilisait et normalement
rendu disponible de nouveau sinon un
processus terminé non détruit et dit
zombie
un processus en étape près ou exécution
est dit actif l’élément du noyau qui
détermine quel processus prêt passe en
exécution et leur donneur ce qui est du
leur en anglais décrivons comment se
fait le partage du temps à partir d'un
exemple simplifié sur un processeur
monocoeur avec trois processus seulement
dans notre exemple VLC logiciel de
lecture de vidéo demande un fort usage
du processeur cups driver d'impression
est en sommeil en attente de demande
d'impression et LibreOffice logiciel de
bureautique est également en sommeil en
attente de commande de l'utilisateur
l'ordonnanceur n'ayant qu'un seul
processus actif VLC lui donne des
ressources processeur
jusqu'à ce qu'il se passe quelque chose
au bout de nos deux camps de temps de
supérieures le l'utilisateur fait une
action sur le clavier c'est interruption
réveil LibreOffice qui passe alors en
mode prêt
à la fin du contrat de temps suivant
l'ordonnanceur va donc échanger le
processeur en fin échanger les tâches
actives VLC passe en mode prêt et
libreOffice est exécuté
au contact de temps suivant il y a de
nouveau préemption mais cette fois de
LibreOffice pour redonner le processeur
avc
au contact suivant
libreOffice est de nouveau exécuté et
VLC est prêt
se passe alors un événement LibreOffice
demande une impression
et une fois qu'il a demandé l'impression
il va passer en mode bloqué en attente
de la réponse à sa demande d'impression
de la part du système d'exploitation
lorsque arrive la demande d'impression
que le serveur d'impression passe en
mode prêt et LibreOffice ayant laissé la
main VLC qui était déjà prêt va être
exécuté sur le processeur
à la fin du contact temps VLC passe en
mode
prêt et le processeur est donné au
serveur d'impression cups pour
s'exécuter
cups
pour exécuter la tâche à laquelle il est
affecté et donc assez rapidement il va
répondre
au système d'exploitation il va envoyer
l'information que la tâche est terminée
au système d'exploitation système
d'exploitation qui pourra alors
débloquer la tâche LibreOffice qui était
en attente de cette réponse
une fois LibreOffice débloqué il repasse
en mode prêt Cup sayon terminé repasse
en mode bloqué et VLC qui était prêt
saisi l'occasion pour utiliser le
processeur
et sur le dernier quota de temps quand
tu as le temps le libreOffice est
exécuté et DLC est repassé en mode prêt
notons que à chaque changement de
processus vous voyez les processus ne
sont pas collés sur la diapositive parce
que il y a un petit temps où c'est
l'ordonnanceur qui a besoin du
processeur il y a une interruption liée
à l'épuisement du Cantat de temps qui va
lancer l'ordonnance sort l'ordonnanceur
va prendre le processeur pour faire le
changement de processus et ce temps où
il faut changer le contexte regardez
faire le choix de l'ordonnanceur bah ce
temps il n'est pas négligeable nous
voyons également que les interruptions
matérielles par exemple l'appui sur une
touche du clavier peuvent déclencher
l'ordonnanceur avant la fin du Cantat de
temps dans l'exemple de la diapositive
précédente on a vu que l'ordonnanceur
alloue le temps processeur que
l'ordonnanceur peut préempter un
processus que le processeur est alloué à
un processus pour un Cantat de temps et
que des interruptions peuvent lancer
l'ordonnance avant la fin du contrat de
temps
ce qu'on t'attend doit être choisi
judicieusement en effet la préemption
d'un processus demande de sauvegarder
tout le contexte du processeur les
valeurs de ces registres programme
compteurs
et de charger le contexte de l'autre
processus
l'ordonnanceur a aussi besoin du
processeur pour s'exécuter et demande
aussi un changement de contact un
contactant trop petit ferait alors que
le temps alloué à l'ordonnancement et au
changement de contexte ne serait pas
négligeable un contactant trop grand au
contraire ferait que les processus
actifs resteraient non exécutés pendant
un temps important plusieurs contrats de
temps et la réactivité du système en pas
tiré
à l'échelle humaine si l'ordonnancement
commute suffisamment rapidement
l'utilisateur à l'impression que les
processus fonctionnent en parallèle d'où
le terme utilisé parfois de système
d'exploitation multitâche
Linux stocke les informations sur
l'ordonnanceur dans le dossier système
carnet on y voit notamment que le quant
à temps est variable entre 3 et 24
millisecondes ce quant à temps est
choisi en fonction du nombre de
processeurs actifs qui veulent accéder
au processeur sur un processeur
multicœurs la charge des processus est
répartie sur les différents processeurs
en lançant la gourmande lecture
décompression de 9 vidéos sous VLC la
fonction top permet de voir à quel coeur
chaque processus VLC est infecté
la mise en oeuvre des processus et des
processus légers sera expliqué en détail
dans les chapitres 2 et 3 avant de
terminer ce chapitre sur la gestion des
processus il est important de dire un
mot sur les systèmes d'exploitation
temps réel
un système est dit critique si son
fonctionnement met en jeu la vie des
personnes par exemple le système de
freinage d'une voiture le système de
contrôle d'un avion ou le système de
refroidissement d'une centrale nucléaire
dans un système critique certaines
échéances sont critiques
donc la boucle de régulation de l'ABS du
freinage par exemple et d'autres le sont
moins la mesure de la température du
moteur peut arriver avec un petit peu de
retard c'est pas très grave donc on aura
des processus souvent sur ces systèmes
là on parle de tâches on aura des tâches
qui sont critiques et qui vont être
prioritaires et puis des tâches qui sont
moins critiques et qui se lanceront
quand les tâches critiques n'ont pas
besoin du processeur on parlera de temps
réel critique ou dur c'est un système où
les échéances doivent absolument être
respectés et puis on parle de temps réel
souple ou mou sur un système où on va
pouvoir tolérer un retard limité sur les
échéances notons enfin que sur ces
systèmes embarqués la performance le
respect des échéances ne sont pas les
seuls critères de choix du système
d'exploitation une importance aussi est
donnée au poids à la taille au coût à la
consommation qui sont engendrées par
l'utilisation du système d'exploitation
sur le micro contrôleur
deux systèmes d'exploitation temps réel
QNX et Free RTOS sont donnés ici en
exemple mais il y en a beaucoup les
systèmes d'exploitation à usage général
Linux Windows Mac OS Android iOS ne sont
pas en temps réel en effet acceptez que
l'utilisateur lance un nombre non connu
à la vente et non limitée de processus
empêche de garantir les échéances
l'algorithme d'ordonnancement nommé Ron
Robin ou tourniquet qui est celui qui
est utilisé par ces systèmes
d'exploitation temps réel attribue le
même quantum à tous les processus
on peut noter que xeno-mai est un
système d'exploitation temps réel
optimisé pour faire tourner deux noyaux
un noyau temps réel et un noyau Linux
non prioritaire en parallèle des tâches
prioritaires cela permet d'obtenir en
quelque sorte un linux temps réel on
peut aussi évoquer les processeurs
double coeur par exemple STM32 MPa qui
sont souvent utilisés avec deux systèmes
d'exploitation un cœur plus gros et sous
Linux pour l'affichage et le traitement
d'image et un cœur plus petit orienté
contrôle d'entrée sortie tourne souffrir
TOS pour les tâches de contrôle commun
cette diapositive montre qu'il n'y a pas
de système d'exploitation universelle
mais des systèmes d'exploitation qui
sont adaptés à différents cas d'usage
Voir Plus de Vidéos Connexes
Un système d'exploitation c'est quoi? [Bases Informatique]
Système d’exploitation : Les différentes fonctionnalités – ch 1.2
Interface d'un système d’exploitation - ch 1.8
Système d’exploitation : la gestion de la mémoire – ch 1.4
Introduction au Système d'exploitation
COURS DE TERMINALE SPÉCIALITÉ SVT : CHAP.2: LES CONSÉQUENCES GÉNÉTIQUES DE LA REPRODUCTION SEXUÉE
5.0 / 5 (0 votes)