Cours les fonctions d’un système d’exploitation, tutoriel & guide de travaux pratiques en pdf.
MECANISEMES DE BASE
DEFINITIONS
Un processeur est l’ensemble des moyens matériels et logiciels permettant l’exécution des instructions. Un processus est le déroulement dynamique d’un ensemble d’instructions exécutables sur le même processeur. Un programme est un ensemble de processus, éventuellement réduit à un seul élément. Une ressource est tout moyen logiciel ou matériel nécessaire au lancement d’un processus, autre qu’un processeur. Les ressources peuvent être une zone de mémoire centrale, de la mémoire secondaire ou un périphérique (dérouleur de bandes, imprimante, …).
Un processus disposant de toutes les ressources nécessaires et d’un processeur adéquat est dit actif. S’il lui manque un processeur, il est dit activable. S’il lui manque une ressource, il est dit bloqué ou en attente de ressource.
COMMUTATION D’ETAT
Plusieurs processus peuvent se trouver en mémoire centrale en même temps. Ils s’exécutent alors tour à tour. Le passage d’un processus à l’autre doit s’effectuer sans perdre le contexte d’UC du processus en cours (valeurs de l’accumulateur, du registre d’instruction, du compteur ordinal, etc). La sauvegarde du contexte d’exécution permettra de reprendre par la suite l’exécution du processus interrompu. Le mécanisme de base utilisé s’appelle la commutation de mot d’état (eXchange Package). Il permet d’exécuter de manière indivisible la sauvegarde du mot d’état dans une zone précise et le changement d’une nouvelle valeur à partir d’une zone précise.
INTERRUPTION ET DEROUTEMENT
Le rôle du système d’interruption est d’avertir l’unité centrale qu’un condition particulière est survenue. La prise en compte d’événement (coupure de courant, horloge, E/S, accès mémoire illégaux, instruction illégale, résultat d’opération hors intervalle, etc) doit être instantanée. Le mécanisme d’interruption permet d’interrompre l’exécution d’un processus pour exécuter une routine de traitement appropriée appelée routine d’acquittement (interrupt handler). Le compteur ordinal et le contexte du processus interrompu sont sauvegardés. Le contrôle est transféré à une adresse déterminée et associée à un type d’interruption.
Les interruptions peuvent être dues à des événement matériels ou logiciels. L’exécution du déroutement s’effectue en mode superviseur (par opposition au mode utilisateur).
Le système d’interruption est en général hiérarchisé. A chaque signal d’IT est affecté un niveau de priorité. Si un conflit se présente, l’IT de plus forte priorité sera traitée la première. Il y a en général 3 classes d’interruption: 1) les interruptions externes dont la cause est extérieure au déroulement du processus (panne, intervention de l’opérateur, etc), 2) les déroutements provenant d’une situation exceptionnelle ou d’une erreur liées à l’instruction en cours (division par zéro, adressage illégal, etc), 3) les appels au système (SuperVisor Call ou SVC) permettant de réaliser une fonction du système d’exploitation: consultation des tables système, opération d’E/S, etc (exemple: Intr($13, Reg) en Turbo Pascal sous MS-DOS).