Tous les systèmes de fichiers Linux ont une taille de bloc de 4 Ko. Disons que j'ai 10 Mo de stockage sur disque dur. Cela signifie que j'ai 2560 blocs disponibles et disons que j'ai copié 2560 fichiers ayant chacun 1 Ko de taille. Chaque bloc de 1 ko occupera 1 bloc bien qu'il ne remplisse pas le bloc entier.
Donc mon disque entier est maintenant rempli mais j'ai encore 2560x3kb d'espace libre. Si je veux stocker un autre fichier de disons 1 Mo, le système de fichiers me permettra-t-il de stocker? Écrira-t-il dans l'espace libre laissé dans les blocs individuels? Existe-t-il un concept pour résoudre ce problème?
J'apprécierais quelques éclaircissements. Merci d'avance
Réponses:
La taille de bloc par défaut était de 512 octets depuis le premier Linux. Sauf jusqu'à récemment, la taille des blocs 4k était introduite pour répondre à la taille toujours croissante des disques. Cela est même presque dicté par le matériel du disque (voir plus: /unix/178899/optimizing-logical-sector-size-for-physical-sector-size-4096-hdd ).
Pourtant, pour votre question spécifique: vous avez raison de dire que tous les fichiers gaspillent les octets inutilisés du dernier bloc sur de nombreux types de systèmes de fichiers, ce qui est particulièrement coûteux pour les petits fichiers. Mais les btfrs et reiserfs semblent être en mesure de faire face, selon https://en.m.wikipedia.org/wiki/Block_suballocation
la source
Les systèmes de fichiers peuvent avoir une taille de bloc de 512 à (généralement) 65536 octets. La taille de bloc peut être spécifiée comme option mkfs.xxx. La taille de bloc par défaut dans la plupart des systèmes de fichiers Linux - 4096 octets.
Certains systèmes de fichiers prennent en charge l'empilage et / ou l'allocation de sous-blocs. ext2 / 3/4 - fait, xfs - ne fait pas. Si vous envisagez de remplir une partition avec plusieurs petits fichiers, vous pouvez réduire l'espace «en queue» gaspillé en réduisant la taille des blocs à 512 ou 1024.
la source