environnement

publicité
ENVIRONNEMENT
DE PROGRAMATION
Le système de gestion de fichier :
Pour conserver l’information et du faite que la mémoire est qqch. de volatile
nous devons la mettre dans un support dit permanent. C’est le cas de nombreux
outils tel les CD ou disques durs et les bandes magnétiques.
Pour réutilisé l’information conserver on s’adresse au système dit
BIDIRECTIONNEL d’entré/sortie. Le S.E. se chargera ensuite d’introduire la notion
de FICHIER.
FICHIER : Ensemble organisé d’information sur un support externe, pour libérer la Mémoire
centrale et offrir une pérennité de l’information.
MEMOIRE CASH : Réduit le temps d’accès en stockant un peu d’information (~8Mo)
Aspect logique du fichier :
Un fichier est généré par l’utilisateur (logiciel ou humain) et décomposé en
UEL ou article. Pour lire ces articles l’utilisateur dispose d’entré/sortie logiques. UN
FICHIER EST CONNU PAR SON NOM EXTERNE.
Certaines fonction et commandes proposent des accès aux fichiers :
Commande-Pour
Fonctions-Pour
gérer les fichiers : CREER, DETRUIRE, COPIER, RENOMER
exploiter le fichier : OUVRIR, FERMER, REPERER (un octet)
On gère des contenus à l’aide des fonctions dans le langage de
programmation et non pas avec les commandes. Tous ces mots clé permettent à
l’utilisateur de gérer et d’organiser ses fichiers.
Aspect physique du fichier :
Le système d’exploitation communique avec le matériel, au niveau physique, à l’aide
d’entré/sortie physique. Cette entré/sortie échange avec l’extérieur des unités
d’entrer physique qui contiennent les unités d’entrer logique.
Au niveau physique les UEL n’existent pas car leurs données sont contenues dans
les UEP.
*les blocs ne sont pas d’une taille fixe.
Le support et les E/S :
SUPPORT ADRESSABLE : Une unité d’enregistrement physique est repérée par une
adresse
Un ordre d’entrer/sortie contient toujours l’adresse du bloc ou de l’UEP que l’on veut
traiter. On a un accès direct aux blocs.
LirePhy(Adr Bloc, Adr MC)
1
EcrirePhy(Adr Bloc, Adr MC)
Support non adressable :
L’entrer/sortie physique ne peut qu’atteindre le bloc suivant. Il y a donc un accès séquentiel
aux blocs.
Les E/S sont de deux types :
-Les E/S logique s’effectue de l’utilisateur à la mémoire centrale, c’est donc un échange qui
se fait uniquement sur la mémoire centrale.
MC « - » MC. Si il s’agit d’une acquisition
d’information, l’UEL est enregistré par morceaux à l’aide d’un stockage et déstockage des
buffers prévus à cet effet.
-Les E/S physique où il s’agit ici de transfert d’information entre la mémoire centrale et les
périphériques et vis versa. MC « - » Support périphérique.
La fonction shutdown permet de forcer le vidage des zones de stockage tel que les
buffers.
Système de fichiers :
C’est l’ensemble des informations qui existent sur le support et qui sont destinés à gérer, dans
un environnement à accès direct, les fichiers sur le support. Pas de système de fichiers sur
un support non adressables.
La sectorisation des disques :
Rappel :
Les disques sont à double face et mit le long d’un axe. Un peigne place ses têtes de lecture au
niveau d’une piste (de lecture) et y dépose ou y récupère l’information voulut. Une piste est
donc adressable. Enfin pour un accès plus direct on distingue des secteurs dans la piste. Les
secteur on une taille fixe de l’ordre de 512 oct. Entre chaque secteur se trouvent des GAP
2
Secteur et pistes, comment le bras fait il pour tout lire ?
Le plateau, les cylindres et les secteurs :
3
Aujourd’hui la sectorisation est logicielle. La création de ses secteurs s’effectue lors
du formatage de bas niveau. Nous détaillerons plus loin de quoi il s’agit. Le
contrôleur de périph s’assure du bon déroulement de cette sectorisation et donc
traite les espaces entre les secteurs mais aussi dépose les secteurs. L’interface,
pour l’utilisateur, continue à présenter un nombre fixe de secteurs par liste même si
ce plus le cas.
Temps d’accès :
-temps pour réaliser l’E/S d’un secteur
-temps de recherche = délai d’accès au cylindre
-temps de latence = temps que met la tête a se positionné sur le secteur
(dépend de la rotation du disque)
-temps de transfert
Une E/S : un échange d’une UEP entre un support et la mémoire centrale, d’un secteur dans
le cas d’un disque.
La séquentialité logique :
Pour limiter le temps d’accès on peut créer une séquentialité logique, suivant la
vitesse de rotation des disques, par entrelacement des secteurs physiques.
Les secteurs ne sont donc plus adressés par le numéro physique mais par leur
numéro logique. Une E/S logique se décompose en n E/S physique.
Si la vitesse de rotation pour passer au secteur suivant est plus petite que le
temps qui s’écoule pour une E/S physique.
Tsecteur+1 < Te/s le disque devras donc refaire un tour pour aller au n+1 secteur.
4
Les secteurs consécutif sont en faite de nos jours des secteurs logiquement
consécutifs.
Canal ou DMA (direct memory access controller) :
La mémoire ne peut intervenir avec le périphérique directement. Le processeur
transfert chaque octet reçu vers la mémoire centrale. L’inconvénient est que le
processeur doit être disponible à l’arriver de chaque octet et parfois ça bouchonne.
5
La DMA est un processeur spécialisé
1) Le processeur demande au DMA de réaliser l’échange du bloc (plusieurs secteurs)
2) La DMA traite l’échange UEP/UEP (pour chaque UEP -> oct/oct)
3) La DMA prévient le processeur de la fin du transfert (= signal d’interruption)
Avec une DMA on échange des blocs. Le bloc est un multiple d’UEP.
Gestion du disque :
Les secteurs du disque contiennent les octets des articles. Pour gérer l’attribution
des secteurs on doit pouvoir :
1- Allouer les secteurs lors des demandes de
création d’évolution d’un fichier.
2- Désallouer les secteurs pour les libérer
3- Retrouver les secteurs d’un même fichier
(organisation)
Pour se faire on utilise un logiciel d’allocation disque et la table d’allocation.
TABLE D’ALLOCATION : Une structure où chaque unité d’allocation est représentée :
libre ou occupé
UNITE D’ALLOCATION : Pour optimiser la position du disque et du fait de l’existence
DMA on alloue le disque par multiple d’UEP = un bloc = un cluster.
6
GROUPAGE D’ARTICLE :
Dans certains environnements de programmation (cobol, sauvegarde…) existe la notion de
facteur de groupage (blocking factor) c’est la distance entre 2 GAP. C’est en faite le nombre
d’article par bloc.
Cas 1 : facteur de groupage à 1 : le bloc contient un article et un secteur
Cas 2 : facteur de groupage à 3 : le bloc contient 3 articles et 3 secteurs
+ : meilleur occupation du support
-+ : la lecture du bloc induit l’échange de facteur de groupage articles
-+ si les articles sont tous à traiter
-- si les articles ne le sont pas
Structures (tables) d’allocation :
Objectif est de retrouver les clusters libres sur le support. Le cluster est la quantité
d'informations minimum que peut lire ou écrire le système d'exploitation sur le disque
dur. Un cluster est l'association d'un ou plusieurs secteurs. Le cluster est une
donnée logique, en ce sens que ce n'est pas le disque dur qui la définie (comme
pour les secteurs), mais le système d'exploitation et chaque partition d'un même
disque dur peut avoir une taille de cluster différente (définie au moment du
formatage). Les secteurs d'un cluster sont organisés de manière à réduire le
déplacement des têtes lors de la lecture d'un cluster.
7
1) BIT MAP : Un vecteur de n bits représente un bit :
Par exemple pour un disque de 80 Go avec des secteur de 512 octet on a 80*2^30 / 0.5*2^10
= nombre de cluster = 160 * 2^20. Le vecteur aura 160*2^20 bits et donc 20*2^20 oct =
20 Mo.
Où se trouve ce vecteur ?
Le vecteur est à la fois sur la mémoire centrale lorsque le disque est exploité et principalement
sur le support pour éviter sa perte.
2) BLOC D’ADRESSES : On utilise des blocs libres pour conserver les adresses des blocs
libres.
Les blocs libres sont chaînés entre eux.
Unités d’allocation :
Une unité d’allocation est repérée par une adresse. La gestion de ces adresses induit une
organisation du fichier.
Organisation physique d’un fichier :
Elémentaire : -> par opposition à des organisations où pour retrouver un élément du fichier on
pourra utiliser un « nom logique ».
-> On retrouve un élément du fichier par son « adresse »
Organisation par chaînage de blocs :
Unités d’allocation = destiné à supporter de l’information. Chaque bloc alloués contient
l’adresse du bloc (alloué) successeur.
8
Le tableur d’adresse :
Au lieu de mettre les adresses dans les blocs les adresses sont groupées dans une table. Cette
table est enregistrée sur le support (dans le 1er bloc). Ainsi on exploite l’entré suivante de la
table d’adresse.
Hiérarchie de la table d’adresse
2) système de fichier FAT (fichier allocation table)
Le système FAT sert de table d’allocation.
- cluster libre
- cluster défectueux
Un poste peut contenir =>
- cluster alloué n° poste cluster suivant
- cluster marqué du dernier cluster du fichier
La localisation se fait par le n° poste du 1er cluster alloué au fichier.
9
-Un décrypteur de fichiers : (par fichier) il contient 13 postes qui forment une table
d’adresse -> pour retrouver les blocs du fichier.
Lseek () : en C permet de gérer le pointeur d’insertion/ extraction. Positionner la tête de
lecture/écriture dans un fichier.
MOTS CLEFS :
Sectorisé : (formatage de bas niveau) sert à un accès direct au informations sinon il y a
recherche piste pas pistes…
Partition : (disque logique sur un disque physique) crée des espaces limité de gestion =
protection.
Table d’allocation : une dans chaque partition (formatage de haut niveau)
Table d’allocation et formatage de HAUT NIVEAU :
Le formatage de haut niveau dépose sur le support (partition) les tables d’allocations
du système fichier si c’est la première fois sinon dépose de nouvelle tables
d’allocation qui déclare que tous les secteurs sont libres. Seul le système de fichier
est gardé. C’est lui qui va gérer toutes les unités d’allocations (clusters).
10
Téléchargement