Je cherche une définition formelle de fichier qui n'inclut pas seulement le stockage mais aussi des abstractions comme procfs ou / dev / null (ou tout fichier basé sur un fusible) qui ne se rapportent pas au stockage.
Jusqu'à présent, je sais que tous les fichiers sont des abstractions
- Peut être identifié
- peut avoir des noms (généralement organisés en structures hiérarchiques)
- peut être consulté en tant que flux d'octets
- fournissent généralement des autorisations et d'autres métadonnées (spécifiques au système)
Cependant, je n'ai pas pu trouver de définition formelle utile dans aucun livre sur le système d'exploitation que j'ai lu jusqu'à présent.
operating-systems
os-kernel
filesystems
Giacomo Tesio
la source
la source
Réponses:
Selon Wikipedia, un fichier informatique est simplement une ressource pour stocker des informations. Le terme semble provenir de l'ère des cartes perforées, où un programme informatique était littéralement stocké dans un fichier (comme dans, une boîte utilisée pour stocker des pages volantes, voir l'image ci-dessous). À mesure que d'autres formes de médias ont été introduites, comme les disques, la nomenclature a suivi.
D'un point de vue * nix, tout est un fichier: sockets, appareils, terminaux, écrans / moniteurs, fichiers de données, tuyaux, etc. Microsoft Windows, en revanche, a tendance à appeler des "fichiers" de données de stockage permanent et des ressources volatiles, quels qu'ils soient, tels que les canaux nommés, les sockets, les périphériques raster, etc. D'autres systèmes peuvent avoir des définitions similaires quelque part entre ces deux extrêmes.
Malheureusement, comme je viens de le dire, il n'y a pas de définition unique de ce qu'est un fichier, car ce sont des choses différentes pour différentes personnes, sauf que tout le monde a tendance à s'entendre sur la définition de base qu'un fichier est une ressource nommée qui stocke des données sur des supports permanents (permanent ne signifie pas qu'il ne peut jamais être modifié, mais simplement qu'il persiste pendant les cycles d'alimentation).
( Wikipedia )
la source
Je pense à un fichier comme une séquence d'octets. Même après qu'il ait perdu son nom (généralement causé par un appel à rm, ce qui le dissocie), il existe toujours sur le disque jusqu'à ce que ses morceaux soient remplacés par d'autres éléments. Les formats de fichiers sont des contextes de lecture de fichiers. Tout revient au principe selon lequel les informations sont des octets plus le contexte.
L'affiche précédente a raison: les appareils, tout en étant traités comme des fichiers, ne sont pas vraiment des fichiers. C'est un hack très utile.
Donc ma définition d'un fichier: une séquence d'octets stockés en mémoire.
la source