Dans les systèmes de type Unix, un fichier est considéré comme « sans structure » dans le sens où le système d'exploitation lui-même n'impose aucune structure ou format inhérent aux données contenues dans le fichier. Le système d'exploitation traite simplement le fichier comme une séquence d'octets.
Comparez cela avec, disons, un fichier de base de données. Un fichier de base de données a une structure définie (tables, lignes, colonnes, types de données) qui est comprise et appliquée par le système de gestion de base de données (SGBD). Le SGBD sait interpréter les octets du fichier selon ce schéma.
Un fichier sans structure sous Unix n'a *pas* une telle interprétation prédéfinie imposée par le système d'exploitation. C'est à l'application qui crée et lit le fichier de déterminer comment interpréter la séquence d'octets. C'est pourquoi différents programmes peuvent utiliser le même fichier de manières totalement différentes.
Par exemple:
* Un fichier texte : L'application (comme un éditeur de texte) interprète les octets comme des caractères selon un codage de caractères (comme UTF-8 ou ASCII). Cependant, le système d'exploitation ne reconnaît pas qu'il s'agit d'un texte ; il ne voit qu'une séquence d'octets.
* Un fichier binaire (par exemple, une image ou un exécutable) : Les octets représentent des données de pixels, des instructions machine ou d'autres informations non textuelles. Encore une fois, le système d'exploitation ne comprend pas la structure interne ; l'application appropriée (visionneuse d'images, chargeur de programme) le fait.
La flexibilité des fichiers sans structure est un aspect clé de la philosophie d'Unix. Il permet diverses applications et évite de lier les formats de fichiers au système d'exploitation lui-même. L'interprétation est entièrement laissée aux applications.
|