0% ont trouvé ce document utile (0 vote)
25 vues44 pages

Chap 3 SEII

Le document traite des systèmes d'entrée/sortie (E/S) et des systèmes de fichiers, en abordant des concepts clés tels que les périphériques E/S, les pilotes, et les méthodes d'allocation de fichiers. Il décrit également les mécanismes de communication entre l'unité centrale et les contrôleurs, ainsi que les techniques de mise en tampon et de mise en cache. Enfin, il présente différentes méthodes d'allocation de fichiers, y compris l'allocation contiguë, enchaînée et indexée, en soulignant leurs avantages et inconvénients.

Transféré par

hajaruuy123
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues44 pages

Chap 3 SEII

Le document traite des systèmes d'entrée/sortie (E/S) et des systèmes de fichiers, en abordant des concepts clés tels que les périphériques E/S, les pilotes, et les méthodes d'allocation de fichiers. Il décrit également les mécanismes de communication entre l'unité centrale et les contrôleurs, ainsi que les techniques de mise en tampon et de mise en cache. Enfin, il présente différentes méthodes d'allocation de fichiers, y compris l'allocation contiguë, enchaînée et indexée, en soulignant leurs avantages et inconvénients.

Transféré par

hajaruuy123
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

1.

Systèmes d’entrée/sortie
2. Systèmes de fichiers
3. Structure de mémoire de masse (disques)

1
1. Systèmes d’entrée/sortie
Concepts importants :
⚫ Matériel E/S
⚫ Communication entre UCT et contrôleurs périphériques
⚫ DMA
⚫ Pilotes et contrôleurs de périphériques
⚫ Sous-système du noyau pour E/S
⚫ Tamponnage, cache, spoule

2
Catégories de périphériques d’E/S
⚫ Les périphériques d’E/S viennent en deux types généraux:
⚫ Périphériques par blocs
⚫ Périphériques par caractères
⚫ Les périphériques par blocs stockent les données en blocs
de taille fixe, chacun possédant sa propre adresse
⚫ Les disques sont la représentation la plus courante des
périphériques de blocs
⚫ Parce que chaque bloc est adressable, chaque bloc peut être
indépendamment lu/écrit des autres blocs

3
Catégories de périphériques d’E/S
⚫ Les périphériques par caractères acceptent et fournissent
des flots de caractères sans aucune structure
⚫ Non adressable
⚫ Aucune opération de recherche (seek)
⚫ Exemples: souris, imprimante, interfaces de réseau,
modems,…
⚫ Certains périphériques chevauchent les frontières:
⚫ les bandes magnétiques pour sauvegarder entreposent des
blocs de données de disques, mais l’accès est séquentiel
⚫ Certains périphériques ne font pas dans les modèles:
⚫ Écran: n’ont pas de blocs ou de flots, mais ont de la mémoire
mappée

4
Contrôleurs de périphériques
⚫ On se rappel: Les périphériques d’E/S ont
typiquement une composante mécanique et une
composante électronique
⚫ La partie électronique est le contrôleur
Monitor

Bus 5
Contrôleurs de périphériques
⚫ Sur un PC, le contrôleur de périphérique est
habituellement sur un circuit imprimé
⚫ Il peut être intégré sur la carte mère
⚫ Le job du contrôleur est de convertir un flot de série de
bits en octets ou en blocs d’octets et de faire les
conversions et corrections
⚫ En fin de compte tous les périphériques traitent des bits.
C’est le contrôleur qui groupe ou dégroupe ces bits

6
Le logiciel d’E/S ont des couches
⚫ Pilotes de périphériques
⚫ Chaque périphérique d’E/S attaché à l’ordinateur
requiert du code spécifique pour faire l’interface
entre le matériel et le SE. Ce code s’appel pilote de
périphérique
⚫ Ceci est parce que au niveau du matériel, les
périphériques sont radicalement différents les uns des
autres
⚫ Parfois un pilote va prendre soins d’une classe de
périphériques qui sont proche ex.: un nombre de souris
⚫ Les pilotes de périphériques sont normalement
produit par le manufacturier du périphérique pour
les SEs populaires

7
Le logiciel d’E/S ont des couches

⚫ Qu’est-ce qu’un pilote fait sur une lecture/écriture?


⚫ Vérifie les paramètres d’entrée & retourne les erreurs
⚫ Converti les commandes abstraites (lit du secteur) en
commandes physiques (tête, traque, secteur, et
cylindre)
⚫ Met les demandes dans une queue si le périphérique est
occupé
⚫ Amène le périphérique en état de fonctionnement si
requis
⚫ Contrôle le périphérique en envoyant des commandes
par les registres de contrôle

9
Le logiciel d’E/S ont des couches
⚫ Qu’est-ce que un pilote fait sur une lecture/écriture?
⚫ Quand une demande est envoyée, une des deux
solutions possibles peut arriver:
⚫ Le pilote doit attendre pour la demande se termine,
donc le pilote bloque. Il va se réveiller plus tard,
⚫ Le résultat est instantané (ex.: écriture dans l’espace
de mémoire de l’écran) donc le travail continue
jusqu’à ce que l’E/S soit terminé

10
Sous-système E/S du noyau
⚫ Fonctionnalités:
⚫ Mise en tampon
⚫ Mise en cache
⚫ Mise en attente et réservation de périphérique
⚫ Gestion des erreurs

18
Structure typique de bus PC

PCI: Peripheral Component Interconnect 19


Communication entre UCT et contrôleurs
périphériques

⚫ Deux techniques de base:


⚫ UCT et contrôleurs communiquent directement par des registres
⚫ UCT et contrôleurs communiquent par des zones de mémoire centrale
⚫ Combinaisons de ces deux techniques

Contr. UCT
Périfer.

RAM

20
Accès direct en mémoire (DMA)
⚫ Dans les systèmes sans DMA, l’UCT est impliquée dans
le transfert de chaque octet
⚫ DMA est utile pour exclure l’implication de l’UCT
surtout pour des E/S volumineuses
⚫ Demande un contrôleur spécial a accès direct à la
mémoire centrale

21
Accès directe à la mémoire (DMA)
⚫ DMA est utilisé pour libérer le CPU d’avoir
à déplacer des octets du périphérique vers
la mémoire
⚫ Cela demande une autre pièce de matériel
appelé un contrôleur DMA
⚫ Le SE/CPU charge les registres du contrôleur
DMA avec l’information nécessaire pour
l’instruire de quel périphérique prendre/passer
les données, où les mettre en mémoire et
combien d’octets doivent être écrit/lu
22
23
DMA: six étapes

24
DMA: six étapes
⚫ 1- CPU demande au pilote du périphérique (disque)
(software) de transférer les données du disque au buffer
à l’adresse x
⚫ 2 - Le pilote du disque demande au contrôleur du disque
(hardware) de transférer c octets du disque vers le buffer
à l’adresse x
⚫ 3 - Le contrôleur du disque initie le transfert DMA
⚫ 4 - Le contrôleur du disque envoie chaque octet au
contrôleur du DMA
⚫ 5 - Le contrôleur DMA transfert les octets au buffer x en
augmentant l’adresse x et décrémentant le compteur c
⚫ 6 - Lorsque c=0 DMA envoie une interruption pour
signaler la fin du transfert

25
Tampons de disques
⚫ Les disques ont besoin de tampons pour
deux raisons principales:
⚫ Tamponner les données qui arrive plus vite que
l’on peut les transférer au système
d’exploitation et vice-versa
⚫ Lecture avancé de données qui n’ont pas encore
étés demandées, mais qu’il le peuvent sous peu
(données qui suivent la demande précédente)

26
Mise en tampon
⚫ Principes. Processus
Process Processus
Process Processus
Process

⚫ Simultanéité des opérations


Contrôleur Contrôleur Contrôleur
d’entrées et de sorties avec les Données A B A B

opérations de calcul.
⚫ Le contrôleur de périphérique
Périphérique Périphérique Périphérique
inclue plusieurs registres de
Sans tampon
données. Lecture du ta-m
1 ipon A Lecture du tampon B

⚫ Pendant que l’UCT accède à un taille = nb octets Contrôleur Disque


disque
Registres
DMA
registre, le contôleur peut accéder
Tampon
à un autre registre. U.C.
Adresse mémoire
Mémoire
Nombre d’octets
BUS

27
27
Mise en tampon
⚫ Double tamponnage:
⚫ P.ex. en sortie: un processus écrit le prochain
enregistrement sur un tampon en mémoire tant que
l’enregistrement précédent est en train d’être écrit
⚫ Permet superposition traitement E/S

28
Mise en cache

⚫ Quelques éléments couramment utilisés d’une


mémoire secondaire sont gardés en mémoire
centrale
⚫ Donc quand un processus exécute une E/S, celle-ci
pourrait ne pas être une E/S réelle:
⚫ Elle pourrait être un transfert en mémoire, une simple
mise à jour d’un pointeur, etc.

29
Logiciels d’E/S indépendants des périphériques

Traitement des erreurs


⚫ Il y a deux classes d’erreurs dans cette couche:
⚫ Erreurs de programmation – le processus de l’utilisateur
demande l’impossible tel que d’écrire à une souris, lire
d’une imprimante, ou accéder à un fichier qui n’a pas été
ouvert
⚫ Erreurs d’E/S – une tentative a été faite pour écrire au
disque mais l’opération a échoué au niveau physique. Si le
pilote ne peut pas traiter le problème (par exemple en
essayant d’écrire encore), il est passé à la couche supérieure
⚫ Cette couche est responsable pour collationner les
erreurs qui peuvent se produire et de les rapporter
à l’utilisateur d’une façon consistante quand cela est
requis
30
2- Systèmes de fichiers
⚫ Systèmes fichiers
⚫ Méthodes d’accès
⚫ Méthodes d’allocation
⚫ Gestion de l’espace libre

33
Que c’est qu’un fichier
⚫ Collection nommée d’informations apparentées,
enregistrée sur un stockage secondaire
⚫ Nature permanente
⚫ Les données qui se trouvent sur un stockage
secondaires doivent être dans un fichier
⚫ Différents types:
⚫ Données (binaire, numérique, caractères….)
⚫ Programmes

34
Attributs d’un fichier
◼ Constituent les propriétés du fichiers et sont stockés dans un fichier spécial
appelé répertoire (directory). Exemples d’attributs:
◆ Nom:
 pour permet aux personnes d’accéder au fichier
◆ Identificateur:
 Un nombre permettant au SE d’identifier le fichier
◆ Type:
 Ex: binaire, ou texte; lorsque le SE supporte cela
◆ Position:
 Indique le disque et l’adresse du fichier sur disque
◆ Taille:
 En bytes ou en blocs
◆ Protection:
 Détermine qui peut écrire, lire, exécuter…
◆ Date:
 pour la dernière modification, ou dernière utilisation
◆ Autres… 35
Un “File Control Block” typique

36
Opérations sur les fichiers: de base

⚫ Création
⚫ Écriture
⚫ Pointeur d’écriture qui donne la position d’écriture
⚫ Lecture
⚫ Pointeur de lecture
⚫ Positionnement dans un fichier (temps de recherche)
⚫ Suppression d’un fichier
⚫ Libération d’espace
⚫ Troncature: remise de la taille à zéro tout en conservant les
attributs

37
Autres opérations
⚫ Ajout d’infos
⚫ Rénommage
⚫ Copie
⚫ peut être faite par rénommage: deux noms pour un seul fichier
⚫ Ouverture d’un fichier: le fichier devient associé à un
processus qui en garde les attributs, position, etc.
⚫ Fermeture
⚫ Ouverture et fermeture peuvent être explicites (ops open,
close)
⚫ ou implicites

38
Méthodes d’allocation

39
Structure physique des fichiers
◼ La mémoire secondaire est subdivisée en blocs et chaque
opération d’E /S s’effectue en unités de blocs
◆ Les blocs ruban sont de longueur variable, mais les blocs
disque sont de longueur fixe
◆ Sur disque, un bloc est constitué d’un multiple de secteurs
contiguës (ex: 1, 2, ou 4)
 la taille d’un secteur est habituellement 512 bytes
◼ Il faut donc insérer les enregistrements dans les blocs et les
extraire par la suite
◆ Simple lorsque chaque octet est un enregistrement par lui-
même
◆ Plus complexe lorsque les enregistrements possèdent une
structure (ex: « main-frame IBM » )
◼ Les fichiers sont alloués en unité de blocs. Le dernier bloc est
donc rarement rempli de données
◆ Fragmentation interne

40
Trois méthodes d’allocation de fichiers
⚫ Allocation contiguë
⚫ Allocation enchaînée

⚫ Allocation indexée

41
Allocation contiguë sur disque
répertoire

42
Allocation contiguë
⚫ Chaque fichier occupe un ensemble de blocs contigu
sur disque
⚫ Simple: nous n’avons besoin que d’adresses de début et
longueur
⚫ Supporte tant l’accès séquentiel, que l’accès direct
⚫ Moins pratique pour les autres méthodes

43
Allocation contiguë

⚫ Application des problèmes et méthodes vus dans le


chapitre de l’alloc de mémoire contiguë
⚫ Les fichiers ne peuvent pas grandir
⚫ Impossible d’ajouter au milieu
⚫ Exécution périodique d’une compression (compaction)
pour récupérer l’espace libre

44
Allocation enchaînée
⚫ Le répertoire contient l ’adresse du premier et dernier
bloc, possibl. le nombre de blocs
⚫ Chaque bloc contient un pointeur à l’adresse du
prochain bloc:

bloc = pointeur
Allocation enchaînée
répertoire

46
Tableau d’allocation de fichiers (FAT)

47
Avantages - désavantages

⚫ Pas de fragmentation externe - allocation de mémoire


simple, pas besoin de compression
⚫ L ’accès à l ’intérieur d ’un fichier ne peut être que
séquentiel
⚫ Pas façon de trouver directement le 4ème
enregistrement...
⚫ L ’intégrité des pointeurs est essentielle
⚫ Les pointeurs gaspillent un peu d ’espace

48
Allocation indexée:
semblable à la pagination
⚫ Tous les pointeurs sont regroupés dans un tableau
(index block)

index table

49
Allocation indexée

-1: pointeur nul

50
Allocation indexée
⚫ À la création d ’un fichier, tous les pointeurs dans le
tableau sont nul (-1)
⚫ Chaque fois qu’un nouveau bloc doit être alloué, on
trouve de l ’espace disponible et on ajoute un pointeur
avec son adresse

51
Allocation indexée

⚫ Pas de fragmentation externe, mais les index prennent


de l’espace
⚫ Permet accès direct (aléatoire)
⚫ Taille de fichiers limitée par la taille de l’index block
⚫ Mais nous pouvons avoir plusieurs niveaux d’index: Unix
⚫ Index block peut utiliser beaucoup de mém.

52
UNIX BSD: indexé à niveaux
Cette structure est en mémoire, tous les
autres sont sur disque

12 blocs disque de 4K chaque

1024 blocs de 4K
chaque

1024x
1024
blocs
de 4K
Bloc de 4K contient 1024 pointeurs 53
UNIX BSD
⚫ Les premiers blocs d’un fichier sont accessibles directement
⚫ Si le fichier contient des blocs additionnels, les premiers sont accessibles à
travers un niveau d’indices
⚫ Les suivants sont accessibles à travers 2 niveaux d’indices, etc.
⚫ Donc le plus loin du début un enregistrement se trouve, le plus indirect est
son accès
⚫ Permet accès rapide à petits fichiers, et au début de tous les fich.
⚫ Permet l’accès à des grands fichier avec un petit répertoire en mémoire

54

Vous aimerez peut-être aussi