Information Technology Reference
In-Depth Information
alloue à partir de la liste des blocs libres de l'espace physique à ce nouveau fichier,
en fonction de la méthode d'allocation en vigueur sur le disque. L'entrée du réper-
toire concernant ce nouveau fichier est mise à jour avec les attributs fournis par le
biais de la fonction système et également avec les informations concernant l'alloca-
tion physique qui vient d'être réalisée. Dans le cas où un fichier de même nom exis-
tait déjà ou si l'allocation physique n'est pas possible, une erreur est générée.
Sous Unix, l'appel système creat (const char * nom_fichier, int mode) provoque
la création d'un fichier dont le nom est nom_fichier, selon le mode mode qui peut être
lecture seule, écriture seule ou lecture et écriture.
Ouverture de fichier
Lors de la demande d'ouverture d'un fichier caractérisé par un nom logique et effec-
tuée selon un certain mode (lecture, écriture ou lecture/écriture), le système d'exploi-
tation recherche dans le répertoire devant contenir le fichier, s'il existe une entrée
correspondante. Si oui, il vérifie la compatibilité du mode d'ouverture demandé avec
les droits d'accès associés au fichier, puis recherche l'adresse physique du début de
fichier. Toutes les informations concernant le fichier, c'est-à-dire les informations
contenues dans l'entrée de répertoire correspondant au fichier sont alors copiées
dans une structure en mémoire centrale, appelée descripteur de fichier ou encore
bloc de contrôle de fichier (BCF) . Ainsi, lors des accès ultérieurs à ce même fichier,
le système d'exploitation n'aura pas besoin d'accéder de nouveau au disque pour les
connaître. Le système effectue l'association entre le fichier logique et le fichier
physique par le biais de ce bloc de contrôle. Dans le cas où aucun fichier du nom
spécifié n'existe dans le répertoire ou si le mode d'ouverture ne correspond pas aux
droits d'accès associés au fichier, une erreur est générée.
Sous Unix, l'appel système int open (const char * nom_fichier, int mode) provoque
l'ouverture du fichier dont le nom est nom_fichier, selon le mode mode qui peut être
lecture seule, écriture seule ou lecture et écriture. L'i-noeud disque décrivant ce
fichier est copié en mémoire centrale. La fonction système renvoie à l'utilisateur un
descripteur qui établit la liaison avec la copie de l'i-nœud.
Fermeture de fichier
L'opération de fermeture de fichier rompt la liaison entre le fichier logique et le
fichier physique. Le BCF est copié sur le disque, dans l'entrée de répertoire corres-
pondante, s'il a été modifié durant son séjour en mémoire centrale, puis il est détruit.
Sous Unix, l'appel système int close (int desc) provoque la fermeture du fichier
accessible via le descripteur desc. L'i-nœud mémoire est recopié sur le disque si
besoin est.
Destruction de fichier
Lors d'une demande de destruction de fichier, caractérisé par un nom logique, le système
d'exploitation recherche dans le répertoire devant contenir le fichier, s'il existe une
entrée correspondante. Si oui, il détruit cette entrée après avoir désalloué les blocs
assignés au fichier. Ces blocs sont réintégrés à la liste des blocs libres du disque.
 
Search WWH ::




Custom Search