2010-07-12 4 views
2

Existe-t-il un moyen pour un processus de verrouiller un disque entier afin qu'aucun autre processus ne puisse accéder à un fichier sur le disque tant que ce processus n'a pas libéré le verrou? Les opérations d'E/S sur disque pour les autres processus se bloqueraient vraisemblablement jusqu'à ce que le verrou soit libéré.Un processus peut-il verrouiller un disque afin qu'aucun autre processus ne puisse y accéder?

L'OS en question est Linux.

+0

Eh bien, je suppose que vous pourriez verrouiller tous les fichiers et dossiers du disque, mais cela pourrait être assez lent ... – luiscubal

+0

FWIW Je ne pense pas –

+0

Verrouiller le disque ou verrouiller l'accès à tous les fichiers sur le disque ? Le verrouillage des fichiers peut être réalisé par umounting, et votre programme peut toujours accéder au disque par/dev/sd *. (Mais d'autres E/S vont juste échouer) –

Répondre

0

Puisque tout sur un Linux c'est un fichier, vous devriez essayer de verrouiller le fichier représentant votre appareil.

+0

Cela nécessite d'abord de démonter le disque, ce qui n'est pas souhaitable, car cela provoquerait l'échec des opérations d'E/S pour les autres processus (plutôt que de bloquer, ce que je suis après). – HighCommander4

Questions connexes