Les syst`emes d’exploitation
WadoudBousdira1 wadoud.bousdira@univ-orleans.fr
1LIFO, University of Orl´eans Orl´eans, France
Orl´eans, 2018-2019
Gestion des entr´ ees/sorties
Syst`eme d’E/S
Interface entre les utilisateurs et les p´eriph´eriques Les p´eriph´eriques
extrˆeme diversit´e de p´eriph´eriques ;
correspondent `a la partie la moins fig´ee de l’ordinateur (on ajoute, on remplace des p´eriph´eriques. . .)
permet `a l’utilisateur de r´ealiser des op´erations d’E/S de mani`ere uniforme, avec des commandes de haut niveau.
L’utilisateur ordonne des op´erations d’E/S logiques (ou virtuelles) le SE les transforme en E/S physiques ou r´eelles.
Diversit´ e des p´ eriph´ eriques
3 sens de communication
p´eriph´eriques d’entr´ees : clavier, souris, ´ecran tactile, tablette graphique, manette de jeu, scanner, cam´era magn´etique, etc. . . p´eriph´eriques de sorties : ´ecran graphique, imprimante, enceintes, etc. . .
p´eriph´eriques d’E/S : imprimante multi-fonctions, disquette, disque dur, clef amovible, CD, DVD, bande magn´etique, carte r´eseau, modem, etc. . .
Diversit´ e des p´ eriph´ eriques
Caract´erisation
vitesse de transfert de l’information depuis ou vers le p´eriph´erique. De qq octets/seconde (clavier) `a des dizaines de Mo/seconde (disque dur ou interface r´eseau).
format des donn´ees. Bit par bit (modems r´eseaux), ou octet par octet, ou plusieurs octets `a la fois.
commandes envoy´ees et signaux ´emis,
I un disque dur lance des commandes de d´eplacement de la tˆete de lecture,
I une imprimante pr´evient d’un manque de papier
I une carte r´eseau informe de l’arriv´ee d’un acc`es entrant. . .
Gestion des E/S
La communication utilise des bus
Bus Processeur
et cache
Carte vidéo Mémoire
principale Bus
vidéo mémoire
Bus Bus principal
Bus de communication Pont nord
Pont sud
d’entrées/sorties
Gestion des E/S
Les bus
Tendance `a l’int´egration de plus en plus pouss´ee sur la puce du processeur.
Bus principal (ou bus syst`eme) :
I doit ˆetre le plus rapide et le plus large possible
I reli´e `a un circuit int´egr´e sp´ecialis´e, charg´e de r´epartir les informations entre processeur, m´emoire, carte vid´eo et les autres composants, via le pont sud.
Les bus
Structure en 3 parties
le bus d’adresses. D´esigne un ´el´ement ou une case m´emoire I 32 bits en g´en´eral. Sur les processeurs r´ecents, 36 `a 42 bits.
I V´ehicule des adresses physiques. Taille ind´ependante des adresses virtuelles d’un processus.
I souvent unidirectionnel. C’est le processeur qui indique une adresse aux autres composants.
le bus de donn´ees. Permet de transf´erer les informations d’un composant `a un autre.
I de sa largeur d´epend le d´ebit d’informations disponibles sur le bus.
Ex. s’il est de 8 bits, permet d’´echanger un octet `a la fois.
le bus de contrˆole. Transporte les signaux de contrˆole qui indiquent le type d’op´eration souhait´e, dont les ´el´ements sont sur les 2 autres bus.
I bidirectionnel pour que les composants qu’il relie puissent communiquer si besoin.
Les bus
Arbitrage du bus
Conflit d’acc`es quand plusieurs ´el´ements sont connect´es `a un mˆeme bus et que plusieurs d’entre eux demandent simultan´ement `a le contrˆoler pour
´
emettre une requˆete
arbitrage centralis´e : l’un des composants est d´esign´e comme arbitre I les demandes d’acc`es au bus se font via une ligne sp´ecialis´ee et l’arbitre
acc`ede `a la requˆete de l’un des composants en fonction de priorit´es pr´e-´etablies (ou tournantes).
I surcharge l’arbitre, ou n´ecessite d’ajouter un circuit d´edi´e `a l’arbitrage.
arbitrage d´ecentralis´e :aucun arbitre n’est d´esign´e
I chaque composant ´emet une requˆete sur des lignes sp´eciales et compare son niveau de priorit´e `a celui des autres ´el´ements.
I le plus prioritaire sait que le bus lui est attribu´e et qu’il peut l’occuper.
Les bus
Horloge du bus
Les composants de l’ordinateur travaillent `a des rythmes diff´erents, il faut les synchroniser.
Bus asynchrone : relie deux composants sans contraintes temporelles fortes. Chacun peut travailler `a son propre rythme.
Bus asynchrone
Lecture m´emoire effectu´ee par le processeur
3 ...
...
...
...
...
bus d’adresses
Lecture
Requete
bus de données
Acq
Données 1
2
Bus asynchrone
1 Mise `a 1 sur le bus de contrˆole : acc`es demand´e.
2 l’information demand´ee est disponible sur le bus de donn´ees. Le boˆıtier m´emoire le signale en validant une ligne d’acquittement.
3 le processeur r´ecup`ere la donn´ee, remet le signal de lecture au repos, et d´esactive le signal de requˆete. Signal d’acquittement d´esactiv´e.
Grande souplesse
plus grande complexit´e du mat´eriel `a cause de la gestion de signaux suppl´ementaires
Plus utilis´e comme bus principal, mais uniquement pour les E/S.
Horloge du bus
Bus synchrone : int`egre un signal d’horloge sur un des fils de la partie contrˆole.
I Permet une synchronisation des unit´es connect´ees lors d’un ´echange d’informations.
Bus synchrone
Lecture de donn´ee en m´emoire
3 Adresse
Bus d’adresses
Horloge
cycle 2 cycle 3 cycle 1
Données Lecture
Bus de données
1
2
Bus synchrone
1 Au d´ebut du cycle d’horloge, le processeur envoie l’adresse demand´ee sur le bus d’adresses et un signal de lecture m´emoire.
2 Le bus maintient ces signaux pendant 2 cycles (sp´ecifications du bus).
L’information renvoy´ee doit ˆetre disponible au d´ebut du troisi`eme cycle d’horloge.
3 le processeur r´ecup`ere cette information au 3`eme cycle d’horloge. `A la fin de ce cycle, elle est retir´ee.
La description temporelle des ´echanges dans les sp´ecifications permet de savoir quand chaque composant doit faire son travail.
Du point de vue mat´eriel, unit´es fonctionnelles simples
Plus grande rigueur pour int´egrer les contraintes temporelles de chaque composant d`es la conception
Gestion des entr´ ees/sorties
Contrˆoleur d’E/S
Plac´e entre le bus syst`eme (ou un 1er bus de communication) et le p´eriph´erique.
pilote l’op´eration d’E/S `a la place du processeur
formate les donn´ees et les m´emorise temporairement pour adapter leur format et la vitesse de leur transfert entre le bus de
communication et le p´eriph´erique
permet le branchement de divers mod`eles de p´eriph´eriques via une interface externe standardis´ee.
Gestion des entr´ ees/sorties
Bus et contrˆoleurs d’E/S
ports USB
Controleur Ethernet
Controleur Firewire
Controleur graphique
Controleur USB
Disque dur Lecteur CD/DVD Controleur
Wifi Mémoire principale Nord
Pont Processeur
et cache
bus système
bus de communication
bus PCI express
bus UATA
bus serial UATA Controleurs
PCI
Controleur de disque moniteur
vidéo
bus PCI express
Pont Sud
port Ethernet
port
Contrˆ oleurs
Contrˆoleur d’E/S et p´eriph´erique
Bus interne de communication
Interface interne
Mémoire Logique de
commande
Interface externe
Interface externe
Electronique de commande
Bus externe standard
Controleur d’E/S dans un chipset ou un circuit spécifique
Eletronique de commande dans le périphérique
Matériel
Gestion logicielle des E/S
commandes du contrˆoleur programm´ees en assembleur
pour chaque p´eriph´erique, installer un pilote sp´ecifique dans l’OS.
Gestion logicielle des E/S
E/S par interrogation pour des E/S simples.
Le processeur interroge p´eriodiquement le p´eriph´erique (polling) simple `a g´erer au niveau de la carte d’E/S
oblige le processeur `a une attente active pendant tout le d´eroulement de l’op´eration ⇒ l’empˆeche d’effectuer d’autres tˆaches
p´eriph´eriques avec un temps de r´eponse court et transf´erant peu de donn´ees `a chaque fois, ex. une souris
Gestion logicielle des E/S
E/S par interruption
Au lieu de consulter le contrˆoleur d’E/S en permanence, le processeur attend que celui-ci le pr´evienne de la fin d’une op´eration (erreur, disponibilit´e de la donn´ee) par une interruption
le contrˆoleur envoie un signal d’interruption au processeur
l’OS reprend la main pour interroger le contrˆoleur en lui envoyant une commande de lecture du statut du p´eriph´erique
le contrˆoleur indique que la donn´ee est prˆete ou pr´evient d’une erreur.
E/S par interruption
Bien adapt´e aux E/S asynchrones
permet au processeur de ne pas gaspiller le temps correspondant au d´elai d’attente de disponibilit´e du p´eriph´erique
perte de temps dans les transferts de donn´ees car celles-ci empruntent deux fois le bus (p´eriph´erique→ processeur, processeur →
m´emoire)
R´eserv´e aux transferts de donn´ees courts.
E/S par acc` es direct ` a la m´ emoire
Le contrˆoleur d’E/S travaille directement avec la m´emoire sans passer par le processeur
la carte d’E/S est ´equip´ee d’un contrˆoleur DMA (Direct Memory Access)
le DMA peut prendre le contrˆole du bus pour envoyer les donn´ees vers la m´emoire depuis le p´eriph´erique, et inversement. Il contient
I un registre d’adresses reli´e au bus d’adresses,
I un registre de donn´ees reli´e d’un cˆot´e au p´eriph´erique et de l’autre au bus de donn´ees,
I un compteur (nb octets `a transf´erer).
E/S par DMA
bus d’adresses
Compteur Registre d’adresses
Registre de données
Controleur DMA Processeur Mémoire
Périphérique bus de controle bus de données
Acc` es direct ` a la m´ emoire
Le processeur est compl`etement d´echarg´e du travail li´e `a l’E/S La complexit´e du contrˆoleur %
E/S par processeur sp´ ecialis´ e
Carte d’E/S poss´edant son propre processeur
ex´ecute un programme stock´e dans une m´emoire auxiliaire, g`ere la totalit´e de l’E/S (calculs, transferts, erreurs,. . .)
le processeur indique au processeur sp´ecialis´e l’adresse du programme
`
a ex´ecuter. Il est pr´evenu de la fin de l’ex´ecution par une interruption.
convient aux E/S compliqu´ees (ex. affichage vid´eo).