3 votes

Comment les Macs calculent-ils l'espace restant sur le disque dur ?

Quel genre d'algorithme utilisent-ils pour voir combien d'espace il reste ? Je pensais que la quantité d'espace dont il disposait au départ était programmée, puis que la taille des fichiers créés était soustraite de la quantité totale.

P.S : C'est une question sur le Mac ou sur la programmation ?

0 votes

Voulez-vous dire l'espace du disque dur ou l'espace libre du volume restant ?

0 votes

Combien d'espace reste-t-il en tout ?

1 votes

Un disque dur entièrement formaté avec un volume hfs+ vide a 0 bloc restant et en même temps des myriades d'octets (moins quelques dizaines de mégaoctets pour le catalogue etc.) d'espace libre.

9voto

klanomath Points 63400

Il est difficile de répondre à votre question car vous ne mentionnez pas la couche que vous regardez.

Il y a au moins quatre couches à considérer :

  • Couche matérielle

    Habituellement, le matériel se compose de quelques blocs administratifs, des blocs "payload" et de quelques blocs de réserve. Un disque dur contient quelques dizaines et un disque SSD jusqu'à 15 % de la taille officielle des blocs de rechange/réserve. Les blocs défectueux sont réaffectés aux blocs de réserve par le microprogramme du disque. Le système d'exploitation ne connaît que la taille des blocs de données utiles. Certains outils de disque de bas niveau (par ex. Spinrite ) peut lire le nombre de blocs de rechange disponibles.

  • Couche de partiton

    Selon la taille du disque dur - propagée par le firmware/hd-controller à votre EFI/système d'exploitation - votre outil de partitionnement (par exemple Disk Utility) peut créer des partitions en déterminant des valeurs de début et de fin pour chaque partition dans la table de partition. L'espace libre sur votre disque dur est déterminé par le bloc final de la dernière partition et le début de la deuxième table GPT (à condition que vous ayez partitionné votre disque de façon continue et qu'il n'y ait pas de trous). Vous pouvez lire l'espace libre sur votre disque dur avec gpt .

  • Couche de volume

    En général, les partitions doivent être formatées avec un système de fichiers pour être utilisables. Presque tous les systèmes de fichiers importants contiennent un bitmap de volume. Le bitmap du volume est une représentation de tous les blocs ou clusters (du système de fichiers) d'un volume. Les blocs libres et les blocs occupés sont marqués différemment. Ainsi, une méthode pour déterminer l'espace libre sur un volume consiste à compter tous les blocs marqués libres dans la bitmap du volume.

  • Couche LVM (Logical Volume Manager) ou CoreStorage

    La couche LVM est une couche d'abstraction entre les disques durs, les partitions et les volumes. Bien que déterminé par les partitions de base ("Volumes physiques"), un volume logique peut s'étendre sur plusieurs volumes physiques (disque de fusion). Je n'en suis pas sûr, mais un groupe de volumes logiques contient probablement une contrepartie d'une table de partition contenant toutes les informations sur tous les objets contenus (comme le(s) volume(s) physique(s), la (les) famille(s) de volumes logiques, le(s) volume(s) logique(s)). L'espace libre disponible peut être lu en saisissant diskutil cs list

  • couche de bloc/cluster (c'est no pertinents pour les systèmes de fichiers OS X)

    Certains systèmes de fichiers prennent en charge sous-allocation de blocs . En quelques mots : Un grand nombre de fichiers n'occupent pas un bloc/cluster complet de la couche du volume parce qu'ils sont plus petits que la taille du bloc/cluster. Dans l'espace libre du cluster, vous pouvez stocker un deuxième/troisième/quatrième petit fichier. Je ne sais pas comment déterminer cet espace libre (probablement une magie i-node/B-Tree).

Selon la couche, vous pouvez maintenant choisir la méthode ou l'outil approprié pour déterminer "l'espace libre de votre disque dur".

0 votes

Belle réponse ! ça vaut vraiment la peine de lire !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X