Next: read Up: Appels système du Système Previous: Déroulement interne d'un appel

creat

Création d'un fichier et ouverture en écriture.

int creat(char *reference, int permissions);
  1. Le système détermine l'inode du catalogue où l'on demande la création du fichier.
    1. Si il existe déjà une inode pour le fichier
      • Le noyau lit l'inode en question (allocation dans la table des inodes en mémoire), vérifie que c'est un fichier ordinaire autorisé en écriture par le propriétaire effectif du processus, sinon échec.
      • Le système libère les blocs de données et réduit la taille du fichier à zéro, il ne modifie pas les droits qu'avait le fichier antérieurement.
    2. Si n'existait pas d'inode pour le fichier
      • Le système teste les droits en écriture sur le catalogue
      • Il alloue une nouvelle inode (ialloc)
      • Il alloue une nouvelle entrée dans la table des inodes en mémoire.
Même suite que pour open.



Dominique REVUZ
Mon Feb 2 12:10:31 MET 1998
Une Bug Un mail Merci