Descripteur de fichier

Descripteur de fichier
Les descripteurs de fichier pour l'entrée, la sortie, et les erreurs

En informatique, un descripteur de fichier est une clé abstraite pour accéder à un fichier (c'est un entier). On utilise généralement ce terme pour les systèmes d'exploitation POSIX.

Dans la terminologie de Microsoft Windows et dans le contexte de la bibliothèque stdio.h, on préfère le terme filehandle, bien que ce soit techniquement un objet différent (voir infra).

Sommaire

descripteur de fichier

Dans POSIX, un descripteur de fichier est un entier, et plus spécifiquement dans le langage C, un entier de type int. Il y a trois descripteurs de fichier POSIX standard pour tout processus qui n'est pas un démon :

Nombre entier Nom
0 Standard Input (stdin)
1 Standard Output (stdout)
2 Standard Error (stderr)

Généralement, un descripteur de fichier est un index d'une entrée dans le noyau-résident

data structure containing the details of all open files.  

Dans POSIX, on appelle cette structure de données une table de descripteurs de fichier. Et chaque processus a sa propre table de descripteurs de fichier. L'application utilisateur passe la clé abstraite au noyau par un appel système et le noyau accèdera au fichier grâce à cette clé. L'application ne peut pas lire ou écrire directement la table des descripteurs de fichier.

Dans un système Unix, les descripteurs de fichier peuvent désigner des fichiers, des répertoires, des devices bloc ou caractère (souvent appelés fichiers spéciaux), des pipes nommés ou des pipes anonymes.

filehandle

Le filehandle FILE * de la bibliothèque C d'entrées/sorties standard est techniquement un pointeur vers une structure de données gérées par les routines de cette bibliothèque. Sur les systèmes Unix, l'une de ces structures inclut un descripteur de fichier pour l'objet en question. Puisque le nom de file handle se réfère à cette couche additionnelle, il n'est pas interchangeable avec celui de descripteur de fichier.

Pour compliquer encore la terminologie, Microsoft Windows utilise aussi le terme file handle pour désigner la construction de bas niveau, c'est-à-dire les descripteurs de fichier POSIX. Les bibliothèques C Microsoft fournissent aussi des fonctions de compatibilité qui "encapsulent" ces handles natifs pour supporter des conventions à la POSIX de descripteurs de fichier comme décrits ci-dessus.

Opérations sur les descripteurs de fichier

Un Unix moderne fournit typiquement les opérations suivantes sur les descripteurs de fichier.

Appels système de création de descripteurs de fichier

  • open(), open64(), creat(), creat64()
  • socket()
  • socketpair()
  • pipe()

Opérations sur un seul descripteur de fichier

  • read(), write()
  • recv(), send()
  • recvmsg(), sendmsg() (permet d'envoyer des descripteurs de fichier à un autre processus)
  • sendfile()
  • lseek(), lseek64()
  • fstat(), fstat64()
  • fchmod()
  • fchown()

Opérations sur de multiples descripteurs de fichier

  • select(), pselect()
  • poll()

Opérations sur la table des descripteurs de fichier

  • close(descripteur)
  • dup(descripteur)
  • dup2()
  • fcntl (F_DUPFD)
  • fcntl (F_GETFD and F_SETFD)

Opérations qui modifient l'état du processus

  • fchdir(): change le répertoire de travail courant du processus appelant fourni sous forme de descripteur de fichier
  • mmap(): projette des portions d'un fichier dans l'espace d'adresse du processus

Verrouillage de fichier

  • flock()
  • fcntl (F_GETLK, F_SETLK and F_SETLKW)
  • lockf()

Sockets

  • connect()
  • bind()
  • listen()
  • accept() : crée un nouveau descripteur de fichier lors d'une connexion entrante
  • getsockname()
  • getpeername()
  • getsockopt(), setsockopt()
  • shutdown() : ferme un ou les deux bouts d'une connexion full duplex

Divers

  • ioctl(): une large collection d'opérations diverse sur un seul descripteur de fichier, souvent associé avec un device

Descripteurs de fichier et capacité

Les descripteurs de fichier Unix sont des capacités. Il peuvent être passés entre des processus à des sockets du domaine UNIX avec l'appel système sendmsg().

Une table de descripteurs de fichier Unix est un exemple de C-list.


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Descripteur de fichier de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Descripteur De Fichier — Les descripteurs de fichier pour l entrée, la sortie, et les erreurs En informatique, un descripteur de fichier est une clé abstraite pour accéder à un fichier (c est un entier). On utilise généralement ce terme pour les systèmes d exploitation… …   Wikipédia en Français

  • descripteur — [ dɛskriptɶr ] n. m. • 1464, repris 1779; lat. descriptor → décrire 1 ♦ Didact. Celui qui décrit. Cet écrivain a de grandes qualités de descripteur. 2 ♦ Sc. (Inform.) Ensemble de signes, de format codifié, servant à décrire de manière optimale un …   Encyclopédie Universelle

  • Fichier Informatique — En informatique, un fichier est un lot d informations portant un nom et conservé dans une mémoire. Les fichiers sont la plupart du temps conservés sur des mémoires de masse tels que les disques durs. Les mémoires de masse permettent de conserver… …   Wikipédia en Français

  • Fichier informatique — En informatique, un fichier est un lot d informations portant un nom et conservé dans une mémoire. Les fichiers sont la plupart du temps conservés sur des mémoires de masse tels que les disques durs. Les mémoires de masse permettent de conserver… …   Wikipédia en Français

  • descripteur — ● n. m. * Le descripteur d un fichier est un enregistrement indiquant la méthode de stockage du fichier et/ou la structure de son contenu. Le descripteur peut aussi être son sélecteur, aussi appelé handle. * Au sens le plus général, mot… …   Dictionnaire d'informatique francophone

  • Fichier (informatique) — Pour les articles homonymes, voir Fichier. pictogrammes représentant des fichiers En informatique un fichier est une collection d informations numériques réunies s …   Wikipédia en Français

  • EAR (format de fichier) — EAR (Enterprise Application Archive) Java Enterprise Application Packaging Unit Extension .ear Type MIME application/java archive Développé par Sun Microsystems Type de format Archive (avec Compression de données) …   Wikipédia en Français

  • C10k problem — Le c10k problem[note 1] que l on pourrait traduire en français par le problème des dix mille connexions simultanées, est un code numérique utilisé pour exprimer la limitation que la plupart des serveurs ont en termes de connexions réseaux. Cette… …   Wikipédia en Français

  • inotify — est un mécanisme du noyau Linux qui fournit des notifications concernant le système de fichiers. Il a été écrit par John McCutchan avec l aide de Robert Love et plus tard par Amy Griffis pour remplacer dnotify. Il a été inclus dans la branche… …   Wikipédia en Français

  • Test (Unix) — Pour les articles homonymes, voir Test. test est une commande Unix qui permet de créer des expressions conditionnelles. Sommaire 1 Syntaxe 2 Description …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”