SCHEDULING
Concepts Généraux des Processus
Qu'est-ce qu'un processus dans le contexte d'un système d'exploitation ?
Un processus est un programme en cours d'exécution, comprenant ses données, sa pile
(stack), son compteur ordinal, son pointeur de pile, et les autres contenus des registres
nécessaires à son exécution. Il représente l'état d'avancement d'un programme.
Quelle est la différence entre simultanéité vraie et pseudo-simultanéité ?
La simultanéité vraie se produit lorsque le nombre de processeurs est au moins égal au
nombre de processus. La pseudo-simultanéité, quant à elle, est obtenue par
commutation temporelle d'un processus à l'autre sur un seul processeur. Si les
basculements sont fréquents, l'utilisateur a l'illusion d'une simultanéité totale.
Quels sont les trois états possibles d'un
processus ?
Élu : le processus est en cours d'exécution.
Bloqué : le processus attend un événement extérieur (ex. : une ressource).
Prêt : le processus est suspendu temporairement pour permettre l'exécution d'un autre
processus.
Quel est le rôle de la table des processus dans un système d'exploitation ?
La table des processus contient des informations sur chaque processus, telles que son
état, son compteur ordinal, son pointeur de pile, son allocation mémoire, l'état de ses
fichiers ouverts, et d'autres paramètres nécessaires à sa gestion.
Quel est le rôle de l'ordonnanceur dans la gestion des processus ?
L'ordonnanceur (scheduler) détermine l'ordre dans lequel les processus prêts utilisent le
processeur central (UC) et la durée d'utilisation, en appliquant un algorithme
d'ordonnancement.
Ordonnancement Round Robin
En quoi consiste l'algorithme d'ordonnancement Round Robin ?
L'algorithme Round Robin est une méthode simple et fiable où chaque processus reçoit
un quantum de temps fixe pour s'exécuter. Les processus sont organisés dans une file
circulaire (FIFO).
Que se passe-t-il si le temps d'exécution d'un processus est inférieur au
quantum dans Round Robin ?
Le processus libère volontairement le processeur avant la fin de son quantum, et le
prochain processus dans la file est exécuté.
Quel est l'impact d'un quantum trop petit dans l'algorithme Round Robin ?
Un quantum trop petit entraîne trop de commutations de contexte, ce qui réduit
l'efficacité du processeur.
Que se passe-t-il si le quantum est trop grand dans Round Robin ?
L'algorithme devient similaire à une stratégie FIFO, ce qui augmente le temps de
réponse pour les systèmes interactifs.
Comment Round Robin gère-t-il les processus dont le temps d'exécution est
supérieur au quantum?
Le processus consomme son quantum, est interrompu, et est déplacé à la fin de
la file. Le processeur est ensuite alloué au processus suivant.
Files d'Attente Multi-Niveaux
Quel est l'objectif des files d'attente multi-niveaux ?
Elles permettent d'isoler les processus consommateurs de temps CPU et de relancer les
processus de faible priorité, en ajustant dynamiquement leurs priorités.
Que se passe-t-il après qu'un processus consomme son quantum dans la
première file d'attente ?
Le processus est déplacé dans la file suivante, qui a une priorité inférieure.
Comment un nouveau processus est-il assigné à une file d'attente dans une
stratégie multi-niveaux?
Un nouveau processus est généralement placé dans la file ayant la priorité la plus
élevée.
Quels sont les paramètres qui définissent une stratégie à plusieurs niveaux ?
Le nombre de files, l'algorithme d'ordonnancement de chaque file, la méthode de
transition entre les files, et la méthode pour assigner un nouveau processus à une file.
Quel est l'avantage des files d'attente multi-niveaux par rapport à Round
Robin ?
Elles favorisent les petits travaux sans nécessiter de connaître à l'avance leur temps
d'exécution, grâce à des priorités dynamiques.
Ordonnancement UNIX
Quel type d'ordonnancement est utilisé dans UNIX ?
UNIX utilise un ordonnanceur de type Round Robin avec plusieurs niveaux dépendants.
Comment la priorité d'un processus est-elle calculée dans UNIX ?
La priorité est calculée selon la formule : pri = priorite de base + cpu usage / nombre de
groupes + gpe / nombre de groupes.
Quel est le rôle de la constante 'k' dans l'ordonnancement UNIX ?
La constante 'k' est utilisée pour ajuster la priorité recalculée d'un processus.
Que devient la valeur d'utilisation CPU après chaque quantum dans UNIX ?
Elle est divisée par deux, ce qui réduit l'impact de l'utilisation passée du CPU sur la
priorité.
Que représente le champ 'gpe' dans l'ordonnancement UNIX ?
Le champ 'gpe' suit l'utilisation CPU du groupe auquel appartient le processus, pour
garantir une répartition équitable entre les groupes.
Gestion des Interruptions
Quels sont les trois mécanismes de gestion des interruptions ?
Par le superviseur, par un processus spécifique (ex. : pilote d'E/S), ou par le processus
interrompu lui-même.
Que se passe-t-il au contexte d'un processus lors d'une interruption ?
L'état et les registres du processus sont sauvegardés pour permettre sa reprise
ultérieure.
Qu'est-ce qu'un trap et en quoi diffère-t-il d'une interruption ?
Un trap est une redirection due à une erreur interne au processus, tandis qu'une
interruption est un signal matériel ou logiciel.
Comment le système gère-t-il une erreur interne dans un processus ?
Le système d'exploitation prend le contrôle pour garantir son intégrité ou invoque une
fonction de gestion des erreurs.
Quel est le rôle du superviseur dans un système multi-utilisateur ?
Il contrôle toutes les interruptions et assure une répartition équitable des ressources.
Ordonnancement Équitable
Quel est le principe de l'ordonnancement équitable ?
Il divise les utilisateurs en groupes et alloue le temps CPU proportionnellement à
chaque groupe, indépendamment du nombre de processus dans chaque groupe.
Comment l'ordonnancement équitable garantit-il l'équité entre les groupes ?
En recalculant dynamiquement les priorités en fonction de l'utilisation CPU de chaque
groupe et de chaque processus.
Quel est l'avantage de l'ordonnancement équitable ?
Il empêche qu'un utilisateur ou un groupe monopolise les ressources CPU.
Que se passe-t-il à la priorité d'un processus après un quantum dans
l'ordonnancement équitable ?
La priorité est recalculée dynamiquement pour maintenir l'équité.
Comment l'ordonnancement équitable traite-t-il les processus ayant une forte
utilisation CPU ?
Leur priorité diminue progressivement, permettant à d'autres processus d'accéder au
CPU.