VI. Gestion des périphériques
La gestion des périphériques représente peut-être le défi le plus
considérable d’un système d’exploitation. Ce dernier doit contrôler tout un
ensemble de périphériques avec des différences multidimensionnelles. Rapidité
du périphérique, volume des informations, service proposé, direction du flux
d’informations et protocoles de communication sont autant de grandeurs aux
éventails très larges. Outre cette diversité, le système d’exploitation doit
pouvoir traiter un grand nombre de périphériques, ce traitement doit se
dérouler dans un environnement parallélisé. Les périphériques agissent en
général indépendamment de l’unité centrale, en fonction de leur propre
fréquence et synchronisation. Le système d’exploitation, qui la plupart du
temps s’exécute sur une seule unité centrale, doit donc gérer des requêtes
simultanées en provenance d’un grand nombre de périphériques.
VI.1. Les périphériques
VI.1.1. Les périphériques graphiques
L’un des plus grands problèmes est le volume d’informations qui
doit être transmis pour décrire l’affichage sur les moniteurs. L’image sur les
moniteurs est affichée sous formes de points nommés pixels. Les moniteurs
diffèrent selon le nombre de pixels et les couleurs qu’ils peuvent adopter. Les
premiers moniteurs étaient composés de 200 lignes de 320 pixels noir et blanc.
De nos jours, les résolutions de 800×600, 1024×768 et 1280×960 sont les plus
répondues. L’illumination de chaque pixel est contrôlée par des valeurs
stockées en mémoire vidéo :
−
Les affichages monochromes de base n’ont besoin que d’un bit par
pixel.
−
Les affichages par niveaux de gris (255 niveaux) ont besoin de 8
bits.
Les affichages couleurs réelles ont besoin de 24 bits : chaque
pixels est généré par la combinaison des trois couleurs primaires (rouge, vert
et bleu : RVB) ; 8 bits pour chacune de ces couleurs. Avec un affichage
couleurs réelles et pour un moniteur vidéo 1024×768, il nous faut 2,3 Mo pour stocker
une valeur de 24 bits pour chaque pixel. Pour modifier une image à l’écran, de
nouvelles données doivent être écrites en mémoire vidéo.
Compte tenu du grand volume de données multimédia cela peut représenter une
charge importante sur le système. Par exemple, une animation vidéo qui
nécessite 25 image/seconde et 2,3 Mo par image réécrit 25 fois dans la mémoire
vidéo par seconde donc un total de 58 Mo/seconde. Cette exigence de transfert a
poussé l’évolution des conceptions matérielles.
−
Bus PCI (Peripheral Component Interconnect) : capacités de
transfert de 132 Mo/S,
−
Le nouveau bus graphique AGP (Accelerated graphics Port) possède
un taux de transfert de 528 Mo/S.
VI.1.2. Les disques de stockage
Le disque peut être considéré comme le seul périphérique d’E/S
commun à tous les ordinateurs. Même les moniteurs et les claviers ne sont pas
indispensables sur des systèmes tels que les serveurs. Il existe de nombreuses
tailles et vitesses de disques et l’information peut être stockée de manière
optique ou magnétique. L’unité élémentaire de stockage d’informations est le
secteur.
−
Les DVD (Digital Versatile Disc) et CD-ROM : les secteurs forment
une longue spirale qui s’éloigne en tournant du centre du disque.
−
Sur les disquettes et disques dans le support tourne à vitesse
constante. Les secteurs sont organisés en pistes. Les pistes sont des cercles
concentriques autour du centre.
−
Certains disques stockent le même nombre de secteurs pour chaque
piste. D’autres disques placent plus de secteurs sur des pistes externes.
−
Les disques contiennent un ou plusieurs plateaux de support.
Certain proposent d’utiliser les deux faces du plateau et propose deux têtes de
lecture/écriture par plateau.
VI.1.3. Ordonnancement du disque dur
Si un disque est appelé à répondre à plusieurs E/S, il doit
ordonnancer ces requêtes suivant certains algorithmes d’ordonnancement. La performance
de ces algorithmes se mesure par le total des mouvements par tête.
−
FIFO : premier entré premier servi.
−
Priorité : la requête venant du processus ayant la priorité la
plus élevée est servi la
première.
−
SSTF (Shortest Seek Time First) : traduit par plus court
positionnement d’abord, répond à la requête dont la position de la piste est la
plus proche de celle en cours.
−
SCAN : avance et recule la tête de Lecture/écriture entre la piste
la plus interne et la
plus externe et satisfait en route toutes les requêtes de la piste en suspens.
−
LOOK : le même que SCAN, mais s’il n’y a pas de requêtes dans un
sens la tête ne fait pas le déplacement de façon inutile.
−
C-SCAN et C-LOOK : une fois la dernière piste est atteinte, les
algorithmes retournent sur la piste de départ.
−
N-step SCAN : file de requête divisée en sous files de longueur N.
Ces files sont
ordonnancées en FIFO. Au sein des files les requêtes sont ordonnancées en SCAN.
FSCAN : tel que le précédent, mais seulement deux sous files illimitées : Une en cours de traitement et l’autre pour les nouvelles requêtes (celles qui viennent lors du traitement).
0 Commentaires