Re: Fichiers a trous (etait Radotages...)

Top Page

Reply to this message
Author: Bernard Cassagne
Date:  
To: Jérôme UZEL, ML Guilde
Subject: Re: Fichiers a trous (etait Radotages...)
Dans votre courrier du Mar 26, 13:39, vous ecrivez:
    
    Unix sait ne pas utiliser d'espace disque pour des blocs de fichiers 
    "vides".

    
    $ dd if=/dev/zero of=out bs=512 count=1024
    $ du -sk out
    516     out

    
    
    Mais

    
    $ dd if=/dev/zero of=out seek=512 bs=512 count=512
    $ du -sk out
    260     out


Tres belle demo.

Un trou est en effet cree non pas en ecrivant des zeros mais en faisant un
lseek(2). Par contre, un trou sera toujours lu comme une suite de zeros car
il n'y a rien de prevu dans les primitives d'E/S (read(2), write(2), etc ...)
pour se rendre compte qu'un fichier a un trou. Ce n'est jamais genant, SAUF pour
les problemes de sauvegarde dont on a parle precedemment.

Ce fonctionnement n'est pas particulier a un certain type de file system mais
est un standard Unix et a existe comme ca des le debut. Thomson et Ritchie
avaient dans l'idee de pouvoir faire des fichiers qui soient des bases de
donnees indexees par des cles et donc pleins de "trous".

--
Amicalement,

-------------------------------------------------------------------------------
Bernard Cassagne                 Laboratoire CLIPS - IMAG
Domaine Universitaire       BP 53         38041 Grenoble CEDEX 9         FRANCE
tel: 04.76.51.46.14     fax: 04.76.44.66.75     e-mail:Bernard.Cassagne@???