Interruption (informatique) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Usages

On utilise les interruptions principalement dans deux buts:

  • afin de permettre des communications non bloquantes avec des périphériques externes;
  • afin de commuter entre les tâches dans un ordonnanceur.

Un autre usage, celui-là non prévu initialement, est l'introduction de malversations : lors de la restauration du contexte, si le contenu de la zone de sauvegarde a été altéré depuis l'appel (c'est le cas si l'interruption ou le déroutement provoque en mode maître une altération du contenu de la zone de sauvegarde ou de la pile), le contexte restauré sera totalement différent du contexte d'appel, et pourra passer la main à des suites d'instructions hostiles. Les systèmes comme le matériel des microprocesseurs s'efforcent de plus en plus de rendre ces tâches difficiles pour les pirates, mais la faille - bien que fortement réduite aujourd'hui - continue dans une certaine mesure à exister.

Entrées-sorties

Lorsque le microprocesseur interroge un périphérique (disque dur, port de communication...), il y a en général des délais avant que les données ne puissent être obtenues ou transmises. La solution la plus simple est simplement d'attendre les données ou la fin de la transmission en bouclant répétitivement sur un test (attente active, ou polling). Malheureusement, cela bloque tout programme en cours, ce qui est gênant sur un système multi-tâche. Sur les systèmes modernes, on préfère donc généralement un fonctionnement par interruption: le périphérique signale par une interruption qu'il est prêt à émettre, ou que les données ont été transmises ou reçues, et une routine fait le traitement nécessaire. Pour les périphériques rapides (disque dur, USB...), on combine généralement ce procédé avec l'accès direct en mémoire (DMA) : des blocs de données sont lus ou écrits en mémoire par le contrôleur sans intervention du processeur, qui n'intervient qu'en début et en fin de transfert.

L'usage d'interruptions par rapport au polling permet aussi des économies d'énergie et un moindre échauffement : les microprocesseurs actuels possèdent généralement une instruction arrêtant le microprocesseur en attente d'une interruption.

Multi-tâche

On utilise également les interruptions pour commuter les tâches dans les systèmes multi-tâches. Généralement, une interruption périodique est déclenchée par une horloge (souvent 100 ou 1 000 Hz), et l'ordonnanceur est alors mis en action. Il peut commuter les tâches en modifiant la tâche de retour de l'interruption.

Page générée en 0.080 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise