• Aucun résultat trouvé

Le système d'exploitation: Les entrées / sorties

N/A
N/A
Protected

Academic year: 2022

Partager "Le système d'exploitation: Les entrées / sorties"

Copied!
11
0
0

Texte intégral

(1)

Les entrées sont les données envoyées par un périphérique (disque, réseau, clavier…) à destination de l'unité centrale ;

• Les sorties sont les données émises par l'unité centrale à destination d'un périphérique (disque, réseau, écran...).

Le système d'exploitation: Les entrées / sorties

Comment un périphérique transfert-il ses données en mémoire ?

(2)

La communication entre les processus et les périphériques se fait à travers deux couches :

• Le pilote de périphérique (ou device driver en Anglais),

• Le contrôleur d’entrées-sorties, formé de l’électronique qui gère le périphérique (contrôleur IDE ou SCSI par exemple).

Le pilote (driver)

Le système d'exploitation: Les entrées / sorties

Le pilote offre aux programmes des fonctions standards acceptant des paramètres normalisés (API: Application Programming Interface ), parmi lesquelles :

• open : ouverture du périphérique

• read, write : lire et écrire sur le périphérique ;

• schedule : permet d’ordonnancer une suite de plusieurs lectures/écritures

• interrupt() : fonction exécutée lors de la levée d’une interruption par le périphérique ;

• close : ferme le périphérique.

(3)

Le contrôleur d’entrées-sorties

Le contrôleur traduit les ordres du CPU en signaux électroniques utiles au périphérique. Inversement, le périphérique peut demander d’engager un dialogue sur le bus par les interruptions matérielles.

La communication se fait à travers des « registres adressables ».

Exemple

le registre d’état, qui permet de connaître l’état du périphérique

Le système d'exploitation: Les entrées / sorties

le registre d’état, qui permet de connaître l’état du périphérique (en attente, en cours de lecture, en cours d’écriture, etc.) ;

le registre de commande : permet au CPU d’envoyer des ordres (opérations d’entrées-sorties) ;

un registre de données : c’est à travers ce registre que se font les échanges mémoire/unité d’échange.

(4)

Modes de dialogue avec le périphérique

La scrutation: (polling ou attente active) : interrogation régulière du registre d’état du périphérique

Les interruptions: Une fonction interrupt() est associée au périphérique et est exécuté lorsqu’un événement concernant le périphérique survient,

Le système d'exploitation: Les entrées / sorties

périphérique survient,

L’accès direct à la mémoire: Le DMA ( Direct Memory Access).

utilise un composant matériel permettant d’effectuer des échanges entre le contrôleur d’entrées-sorties et la mémoire, sans l’aide du CPU.

(5)

La scrutation: (polling ou attente active)

données prêtes ?

non

oui

Le périphérique positionne un indicateur (drapeau – flag) lorsqu’il veut communiquer

Le microprocesseur (µP) vérifie

constamment l’état de l’indicateur, dans une

Le système d'exploitation: Les entrées / sorties

lecture et sauvegarde

constamment l’état de l’indicateur, dans une oui

boucle

Le µP lit et sauvegarde les données quand elles sont disponibles

(6)

1

La scrutation :

Microprocesseur Avantage :c'est simple : le programme gère tout (technique synchrone)

Inconvénient :

- La scrutation consomme tout le temps du µP - Peu réactif lorsque plusieurs périphériques sont

Le système d'exploitation: Les entrées / sorties

Cas d’un CAN

2 3

Carte d'acquisition

CAN Capteur

Mémoire centrale

- Peu réactif lorsque plusieurs périphériques sont gérés par scrutation

(7)

Interruptions

Le périphérique demande au µP d'arrêter sa tâche en cours grâce à une ligne spécialisée : IRQ = Interrupt Rrequest

Le µP sauvegarde le contexte

Le système d'exploitation: Les entrées / sorties

Le µP sauvegarde le contexte Le µP traite l'interruption en exécutant des lignes de

programme : lecture et stockage des données

Le µP récupère le contexte et continue sa tâche initiale

(8)

Les interruptions :

Microprocesseur

Avantage :

le programme utilisateur n'est arrêté que pendant le temps de transfert des informations

Inconvénient :

- Utilisation d'une ligne (matérielle) de demande d'interruption pour chaque périphérique

- Nécessité de gérer la priorité des interruptions

Le système d'exploitation: Les entrées / sorties

Cas d’un CAN

1

2 3

Carte d'acquisition

CAN Capteur

Mémoire centrale

- Nécessité de gérer la priorité des interruptions

- Temps de stockage / déstockage des adresses et valeurs en cours d'utilisation

IRQ

(9)

Accès direct à la mémoire: DMA Microprocesseur

Le système d'exploitation: Les entrées / sorties

Cas d’un CAN

Le périphérique envoie une demande de DMA lorsqu’un paquet de données est prêt.

Le µP envoie au circuit contrôleur de DMA l’adresse mémoire de début des données, la longueur des données, le sens du transfert.

Le contrôleur de DMA (inclus dans le chipset) gère alors l’échange de données, directement du périphérique à la mémoire sans intervention du µP, avec

1

Carte d'acquisition

CAN Capteur

Mémoire centrale

Avantage

Permet le transfert de grandes quantités de données (blocs) sans passer par le µP

Inconvénient

Utilisation d'un canal DMA, programmation délicate

périphérique à la mémoire sans intervention du µP, avec priorité sur le bus

DRQ / OK

Dma ReQuest 2

(10)

Ordonnancement des requêtes des pilotes Le pilote comporte une fonction schedule dont le rôle est d’ordonnancer les requêtes à destination du périphérique qu’il contrôle.

Exemple : Accès aux secteurs du disques durs :

• Le temps de positionnement du bras portant la tête sur la piste contenant le secteur ;

Rappel Le système d'exploitation: Les E/S

secteur ;

• Le temps de latence correspond au temps nécessaire pour que le secteur passe sous la tête de lecture.

• Le temps de lecture/transfert des données.

Algorithmes:

- FCFS » ou « First Come, First Served » FIFO - SSTF (Shortest Seek Time First) ;

- SCAN (ascenseur ou balayage) ; - C-SCAN (variante de SCAN).

Disque Un ou plusieurs plateaux superposés Plateau Élément double face du disque

Face Recto ou verso d'un plateau

Piste Zones concentriques écrites sur le disque Cylindre Ensemble de pistes verticales de même position

sur tous les plateaux

Secteur Unité élémentaire stockage de 512 octets Bloc Nombre de secteurs variable selon les disques

(11)

Ordonnancement des requêtes des pilotes

Exemple : supposons que la tête soit positionnée sur la piste n°11, et que le pilote reçoive des ordres de lecture de secteurs situés sur les pistes 1, 36, 16, 34, 9, et 12.

Le schéma suivant présente le résultat des déplacements avec les algorithmes FCFS, SSTF, SCAN et C-SCAN

Le système d'exploitation: Les entrées / sorties

Déplacement des têtes sur le disque selon les algorithmes FCFS, SSTF, SCAN et C-SCAN

First Come, First Served

Shortest Seek Time First

(ascenseur ou balayage

variante de SCAN

Références

Documents relatifs

7 Un process impose les contraintes temps réel suivantes : temps de latence <1000µs et temps séparant 2 événements consécutifs >2ms.. On choisira le mode d'

Test d’une seule entrée : la technique consiste à effectuer un « masquage » (ET logique bit par bit) du registre d’entrée (pour neutraliser l’état des autres entrées), puis à

● Retourne le nombre de caractères lus et placés dans le CharBuffer cb, ou -1 si le Readable n'a plus rien à

– Le dernier appel à encode(), avec endOfInput à true, a renvoyé un CoderResult tel que isUnderflow() soit true (plus rien à lire). – Il faut faire flush() pour terminer le

L’unité centrale communique avec les unités périphériques par l’intermédiaire du sous-système d’entrée / sortie.. Pour effectuer une opération d’entrée sortie, le

– mode ne doit contenir que des droits d’accès – on ne peut détruire qu’un répertoire vide.

Aide : Se demander de combien de valeurs on a besoin puis déterminer combien de valeurs peuvent être obtenues avec 6, 8 ou 10

 Il envoie un signal sur la ligne d'occupation pour préciser que le bus est