Alian Web Server
carre_transparent.gif (42 octets) carre_transparent.gif (42 octets) carre_transparent.gif (42 octets) carre_transparent.gif (42 octets) carre_transparent.gif (42 octets)
  Retour au sommaireAlian
Rubrique Informatique
Théorie des systèmes d'exploitation
    - IV - ENTREES / SORTIES
     

Introduction

   
La communication entre processus avec le monde extérieur se fait par l'intermédiaire de matériel spécialisé : périphérique d'E/S .

L'écriture de programmes qui inter-agissent avec le matériel est une tâche fastidieuse.

Ex : pour imprimer 1 ligne, il faut écrire un programme qui éxécute :

  •  S'assurer que l'imprimante est branchée
  • Qu'elle n'est pas actuellement utilisée
  • Qu'il y a du papier dans le bloc
  • Engager la première feuille de façon à ce que le début se fasse à la bonne hauteur
  • Remplir le tampon de l'imprimante
  • Imprimer la première page
  • Vérifier que l'impression s'est bien déroulée
  • Qu'il n'y a pas de bourrage papier
  • Que la réserve d'encre est à niveau

 Tous ces contrôles se font par échanges de signaux entre programme et périphériques . Les signaux sont spécifiques au matériel . Etant donné la complexité du matériel, on intègre ces programmes de communication dans le système d'exploitation constitue donc un sous-système appelé système d'E/S.

 Celui-ci agit comme une interface entre process utilisateurs et périphériques. Les utilisateurs peuvent effectuer de opérations de haut niveau (ouvrir, lire, écrire). Dans ce cas, on parle d'E/S virtuelles que le système se charge de la transformation des E/S virtuelles en E/S physiques.

 

Haut de page

 

E/S physiques : 2 opérations de base :

 

Haut de page

 

 

 

 

 

 

 

 

 

 

 

 

 

Haut de page

 

 

 

 

 

 

 

 

 

 

 

 

 

Haut de page

 
  1. Sélectionner et adresser individuellement les périphériques d'E/S
  2. Effectuer un transfert d'information vers / depuis ces périphériques

1 - Sélectionner et adresser individuellement les périphériques d'E/S

Les communications se font par l'intermédiaire d'un bus unique.

A chaque périphérique est associé une adressse .

Le système d'exploitation sélectionne un périphérique en plaçant son adresse sur les lignes d'adresse. Il lui transmet ces commandes sur la ligne de commande .

 Le périphérique qui reconnait son adresse se manifeste . Le dispositif qui assure cette fonctionnalité est le coupleur et il est possible d'associer les disositifs de ce coupleur .

2 -  Effectuer un transfert d'information vers / depuis ces périphériques

La deuxième opération associe des modules logiciels et des éléments matériels .

Il existe différentes méthodes de transfert :

a) E/S programmées

Cette méthode consiste à associer à chaque périphérique d'E/S une zone fixe mémoire . Lorsque le système d'exploitation effectue une opération d'E/S par exemple une sortie, il transfert les données dans la zone du périphérique en question . On voit apparaître que le nombre de cas limitent la quantité transferable en une seule opération et limtent les autres opération d'E/S .

Cette solution n'est pas adapter à un transfert de taille importante .

b) E/S directes

Introduction :

Pour transférer une zone en une seule opération avec comme paramètre l'adresse mémoire centrale où elle commence et sa taille, on utilse des circuits de contrôles spéciaux qui réalise les tâches suivantes :

Le transfert s'effectue indépendemment de l'UC

Les valeurs des zones mémoires sont transférées une par une jusqu'à atteindre la taille spécifiée . Accès direct à la mémoire .

Cette technique n'est applicable que si le matériel possède des caractéristiques telles que :

  • Un registre générant les adresses mémoires .
  • Un registre comptant le nombre de mots .
  • Un registre contenant la commande venant du système d'exploitation qui spécifie l'opération d'E/S souhaitée .

 Ces registres sont inialisés par programme puis les circuits de contrôle les utilisent sans le contrôle de l'UC .

Que se passe-t-il si les unité de l'UC décident de s'adresser simultanément en lecture et écriture le même mot mémoire ?

La solution dépend du matériel au niveau le plus élémentaire .

On parle alors d'exclusion mutuelle .

Cela empêche l'UC d'accéder à la zone mémoire pendant l'accès direct .

Exemple :

Un disque peut transférer un octet toutes les 8 us et si le cycle d'accès à la mémoire nécessite 1us. L'accès direct peut accéder à un transfert sur 8 laissant 7 cycles à l'UC .

 c) Canal de commandes

Sur les machines les plus élaborées les circuits de contrôle sont remplaçés par un circuit processeur autonome capable de faire des opérations très restreintes . On parle alors de canal de commande . Il faut donc un programme de canal. On trouve les programmes de canal en mémoire centrale .

Le système d'exploitation sollicite une opération d'E/S en envoyant un ordre au canal de commande . Cet ordre indique où se trouve le programme de canal et la façon dont il lance l'execution . Ensuite l'execution se poursuivra indépendemment de l'UC .

d)Périphériques d'E/S virtuelles

Compte tenu de la multiplicité des périphériques d'E/S il est donc impossible de laisser un utilisateur programmer les opérations d'E/S .

Conséquences :

  • Les processus utilisateurs ne doivent pas traiter directement avec les périphériques d'E/S réels mais plutôt passer par des intermédiaires appelés périphériques d'E/S virtuels. La correspondance entre flot et périphérique réel est assuré par le système d'exploitation à travers à travers un ensemble d'informations fournies par l'utilisateur.
  • Le système d'exploitation utilise une table de descripteur de flots propre à chaque processus qui pour chaque flot indique le périphérique correspondant . Cette table renseigne également sur l'état du périphérique. Un champ suppérieur est rajouté à chaque BCP de processus qui est un pointeur vers cette table.

Le système d'exploitation doit être composé de modules qui dialoguent avec les périphériques d'E/S réels. On les appelle conducteur,driver et ont pour tâche principale le dialogue direct avec le matériel.

La tendance actuelle est de doter le sous-système d'E/S d'une structure de données uniques et de regrouper les spécifications de chaque périphérique dans une table des périphériques.