Vous êtes sur la page 1sur 51

Gestion des entrées-

sorties

Prof. Dr Saint-Jean DJUNGU


Sommaire
• Principe de gestion
• Unité d’échange
• Pilote et modes d’entrées-sorties
• Algorithmes d’ordonnancement du bras du
disque
• Entrées-sorties sous Unix
• Entrées-sorties sous Windows
Processeur
• Il dialogue avec l’extérieur par le biais des
périphériques d’entrées-sorties (E/S) dont
les principaux sont par exemple le clavier,
la souris, etc.
• De plus, les caractéristiques techniques de
ces périphériques sont très diverses et la
manière de réaliser une opération d’entrées-
sorties peut être en conséquence très
différente
Fonctions d’un SE
• L’une des principales fonctions d’un SE consiste à
contrôler tous les périphériques d’entrée/sortie (E/S) de
l’ordinateur

• Il doit pouvoir envoyer les commandes aux périphériques,


intercepter les interruptions et gérer les erreurs

• Il fournit également une interface simple entre les


périphériques et le reste du système
Gestion des périphériques d’E/S

• Elle s’effectue globalement à deux


niveaux :
– Au niveau du matériel avec le dispositif de
l’unité d’échange ou contrôleur d’entrées-
sorties ;
– Au niveau du SE, avec pilote d’entrées-sorties
Périphériques d’E/S
• Du point de vue des informations
manipulées, ils peuvent être divisés en deux
catégories:
– les périphériques par blocs et
– les périphériques par caractères ou
alphanumériques
Périphériques par blocs
• Un périphérique par blocs stocke des
informations dans des blocs de taille fixe,
chacun possédant sa propre adresse

• La taille classique des blocs s’étend de 512


à 32 768 octets
Propriété
• La propriété essentielle d’un périphérique
par blocs est qu’il permet d’écrire et de lire
chaque bloc indépendamment des autres

• Ex: Disques
Périphériques alphanumériques

• Il accepte ou fournit un flot de caractères,


sans aucune structure de blocs
– Il n’est adressable et ne possède aucune
fonction de recherche

• Ex: Imprimantes, interfaces réseau, souris,



Nota
• Cette classification n’est pas parfaite :
– certains périphériques ne correspondent pas à
ce schéma
• Ex:
– Les horloges ne sont pas adressables par blocs,
pas plus qu’elles ne génèrent ou n’acceptent des
flots de caractères
– Les écrans avec mappage mémoire ne
correspondent pas davantage au modèle
Nota
• Les périphériques présentent des vitesses de
fonctionnement et des débits de transfert de
données très différents,
– d’où une pression considérable sur le logiciel
qui doit gérer correctement une grande variété
de périphériques
Débits de données de certains périphériques
Sommaire
• Principe de gestion
• Unité d’échange
• Pilote et modes d’entrées-sorties
• Algorithmes d’ordonnancement du bras du
disque
• Entrées-sorties sous Unix
• Entrées-sorties sous Windows
Unité d’échange
Unité d’échange
• offre une interface standard d’entrées-
sorties au processeur dans le sens où elle
convertit son dialogue avec le processeur
dans les signaux spécifique à l’interface du
périphérique, qu’elle est seule à connaître
• adapte ainsi les caractéristiques électriques
et logiques des signaux émis ou reçus par
les périphériques à celles des signaux
véhiculés par les bus
Unité d’échange
• est constituée par un ensemble de registres
adressables par le processeur
– Leur nombre et leur gestion dépendent des
spécificités particulières de l’unité d’échange
Registres
• Fonctionnellement on trouve :
– Un registre d’état qui permet de connaître l’état
du périphérique piloté par cette unité d’échange
• Chaque état est caractérisé par une valeur
numérique disponible dans le registre d’état ;
Registres
– Un registre de commandes dans lequel le
processeur vient décrire l’opération d’entrées-
sorties à réaliser ;
– Un registre de données. C’est au travers de ce
registre que se font les échanges de données
entre la mémoire et l’unité d’échange
Sommaire
• Principe de gestion
• Unité d’échange
• Pilote et modes d’entrées-sorties
• Algorithmes d’ordonnancement du bras du
disque
• Entrées-sorties sous Unix
• Entrées-sorties sous Windows
Pilote
• Au niveau du SE, la réalisation des opérations
d’entrées-sorties est prise en charge par un
programme particulier, appelé pilote d’entrées-
sorties ou driver
• Ce pilote maintient des structures de données qui
décrivent l’état des unités d’échange associées et
un ensemble de fonctions pour agir sur les
périphériques :
– open : cette fonction permet d’ouvrir un périphérique
c’est-à-dire qu’elle initialise le périphérique et les
structures de données associées ;
Pilote
– close : cette fonction rompt la liaison avec le
périphérique ;
– read, write : ces fonctions permettent d’effectuer des
lectures ou des écritures de données sur ou à partir des
périphériques ;
– schedule : cette fonction permet d’ordonnancer les
requêtes d’entrées-sorties, de façon à optimiser les
temps de réalisation des opérations ;
Pilote
– interrupt : cette fonction constitue le
gestionnaire d’interruption associé au
périphérique et est exécutée lorsque celui-ci
lève une interruption à destination du
processeur
Protocoles d’entrées-sorties
• Le pilote peut dialoguer avec l’unité
d’échange selon trois protocoles différents :
– le mode par scrutation ou attente active ;
– le mode avec interruption ;
– le mode avec DMA (Direct Memory Access,
accès direct à la mémoire)
Protocole avec scrutation ou attente
active
• Dans ce protocole, le pilote scrute en
permanence l’unité d’échange pour savoir si
elle prête à recevoir ou à délivrer une
nouvelle donnée
– Cette scrutation s’effectue par une lecture
régulière du contenu du registre d’état de
l’unité d’échange
Pilote avec interruption
• Avec ce protocole, l’unité d’échange utilise
le mécanisme des interruptions pour
signaler qu’elle est prête
– Un gestionnaire d’interruption interrupt() est
associé au pilote du périphérique
– A la réception d’une interruption, le programme
en cours d’exécution est arrêté au profit de ce
gestionnaire
Mode avec DMA
• Pour éviter le ralentissement de l'unité
centrale par ces tâches de bas niveau, on
utilise parfois l'accès direct à la mémoire
(DMA)
– En fait, le dispositif DMA est un composant
matériel permettant d’effectuer des échanges
entre la mémoire centrale et l’unité d’échange
sans utilisation du processeur
DMA
• Le comprend :
– Un registre d’adresse qui reçoit l’adresse du
premier caractère à transférer ;
– Un registre de comptage qui reçoit le nombre
de caractères à transférer ;
– Un registre de commande qui reçoit le type
d’opération à effectuer (lecture ou écriture) ;
DMA
– Une zone tampon permettant le stockage de
données ;
– Un composant actif, de type processeur, qui
exécute un transfert sans utilisation du
processeur central
Sommaire
• Principe de gestion
• Unité d’échange
• Pilote et modes d’entrées-sorties
• Algorithmes d’ordonnancement du bras
du disque
• Entrées-sorties sous Unix
• Entrées-sorties sous Windows
Pilote
• peut comporter une fonction schedule
– dont le rôle est d’ordonnancer les requêtes à
destination du périphérique qu’il contrôle

• Ceci est notamment vrai pour les requêtes à


destination du disque dur
Secteur du disque
• L’accès à un secteur du disque se
décompose en deux parties :
– Le temps de positionnement du bras correspond au
temps nécessaire pour que le bras portant la tête de
lecture vienne se positionner sur la piste contenant le
secteur ;
– Le temps de latence correspond au temps nécessaire
pour qu’une fois la tête placée sur la bonne piste, le
secteur passe sous la tête de lecture
• Ce temps de latence dépend de la vitesse de rotation du disque
Nota
• Le temps de positionnement est la partie la
plus pénalisante pour la réalisation d’une
opération d’entrées-sorties sur le disque
– Afin de réduire cette pénalité induite par les
mouvements du bras, le pilote ordonnance les
requêtes de la file d’attente du contrôleur de
manière à réduire ces mouvements
Algorithmes d’ordonnancement

• FCFS (First-Come First-Served, premier


arrivé, premier servi) ;
• SSF (Shortest Seek First, recherché la plus
rapide en premier);
• SCAN (ascenseur ou balayage);
Application
• On a une file de requêtes disque suivante,
où chaque nombre représente un numéro de
piste à atteindre : 11, 1, 36, 16, 34, 9, 12
• Le bras est initialement sur la piste 11
• Le disque comporte 40 pistes par plateau
• Lorsque la requête en cours (pour la piste
11) est terminée, le pilote du disque choisit
la prochaine requête à gérer
Algorithme FCFS (FIFO)
• La gestion la plus simple du mouvement du
bras du disque consiste à satisfaire les
requêtes d'accès dans l'ordre où elles
surviennent
Ex d’application
Inconvénient
• Cet algorithme est simple à mettre en
œuvre, mais ne minimise pas les
mouvements du bras
– il donne généralement de mauvais temps de
réponse
Algorithme SSTF
• Avec cet algorithme, la prochaine requête
disque servie est celle dont la position est la
plus proche de sa position courante, donc
celle induisant le moins de déplacement du
bras
Ex d’application
• Les pistes seront traitées dans l'ordre : 12, 9,
16, 1, 34, 36
– On se sera déplacé de 61 pistes seulement
Inconvénient
• Les requêtes portant sur des pistes éloignées
peuvent être durablement différées (risque
de famine), si d'autres requêtes surviennent
pendant le traitement de la liste :
– l'équitabilité peut souffrir de la réduction du
temps de réponse
Algorithme SCAN
• On déplace la tête dans une direction
donnée en traitant toutes les requêtes
rencontrées, puis le sens du balayage
s'inverse et on traite les requêtes
rencontrées, etc...
Ex d’application
• Dans l'exemple traité, on obtiendrait l'ordre:
12, 16, 34, 36, 9, 1 et un parcours total de
60 pistes
Nota
• Une variante a été proposée par T.J. Teorey
en 1972: la dernière piste est considérée
comme adjacente à la première
– La tête, lorsqu'elle est arrivée à une extrémité,
retourne immédiatement à l'autre sans traiter de
requête
• On obtiendrait ici l'ordre : 12, 16, 34, 36, 1,
9, soit 68 pistes parcourues
Sommaire
• Principe de gestion
• Unité d’échange
• Pilote et modes d’entrées-sorties
• Algorithmes d’ordonnancement du bras
du disque
• Entrées-sorties sous Unix
• Entrées-sorties sous Windows
Principes
• Chaque programme sous Unix dispose au
moins de deux flux de données :
– l’entrée standard, utilisée en lecture, qui est
normalement associée au clavier du terminal, et
– la sortie standard, utilisée en écriture,
normalement associée à l’écran du terminal (ou
à la fenêtre de lancement le cas échéant)
Redirections vers/depuis des
fichiers
• Il est très simple de rediriger l’entrée ou la
sortie standard d’un programme lors de son
lancement depuis un shell Unix

• Pour la sortie, on utilisera la construction


suivante :
ls > resultat
Redirections
• Si l’on désire ne pas effacer l’ancien
contenu du fichier, mais écrire à sa fin, on
peut utiliser >>:
ls >> resultat
• Pour rediriger l’entrée standard, on utilise
<:
cat < UnFichier
• Il est possible de rediriger l’entrée et la
sortie en même temps :
Redirections vers des tubes
• Il est possible de rediriger la sortie standard
d’une commande vers l’entrée standard
d’une autre commande grâce au tube (pipe)
noté |
– Les différentes commandes s’exécutent alors en
parallèle
# affiche le contenu du répertoire trie à
l’envers
ls | sort -r
Sommaire
• Principe de gestion
• Unité d’échange
• Pilote et modes d’entrées-sorties
• Algorithmes d’ordonnancement du bras
du disque
• Entrées-sorties sous Unix
• Entrées-sorties sous Windows
Entrées / sorties
• Le but du système Windows est de
présenter un cadre permettant de gérer
efficacement une très large palette de
périphériques d’E/S
Gestionnaire d’E/S
• Il est étroitement lié au gestionnaire de:
– plug and play
– alimentation électrique

Vous aimerez peut-être aussi