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).