web-dev-qa-db-fra.com

Linux utilise un préfixe binaire ou décimal?

Comment Linux traite-t-il les unités? Utilise-t-il des décimales ou des binaires?

Decimal Prefix
name      base 10 exp   base 1000 exp     digits
kilo      10^3          1000^1            1000
mega      10^6          1000^2            1000000
giga      10^9          1000^3            1000000000


Binary Prefix
name      base 2 exp    base 1024 exp     digits
kibi      2^10          1024^1            1024
mibi      2^20          1024^2            1048576
gibi      2^30          1024^3            1073741824

Maintenant, si vous jetez un œil à deux commandes, par exemple du et fdisk, vous pouvez voir la différence:

Voici un exemple pour le mien de disque dur externe 1 To:

$ du -sh
956G    .

Lors de l'exécution de fdisk:

$ Sudo fdisk -l

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
  • Alors, quelles applications utilisent décimal et lesquelles utilisent binaire?
  • Comment appliquer une méthode à l'ensemble du système et des applications à l'intérieur?
2
Maythux

La documentation du noya ne dit pas un mot sur les préfixes SI. Lorsque les préfixes apparaissent dans la documentation, ils apparaissent sans les idiotes i (k, M, etc., au lieu de ki, Mi) (voir man 5 proc , par exemple). Depuis les outils GNU n'ont pas pris en charge le préfixe SI bien après la sortie de Linux, et Linus ne ressemble pas à quelqu'un qui change le code du noyau simplement parce qu'une organisation de normalisation préfère différents préfixes, je pense que Linux, lorsqu'il utilise ces préfixes, utilise des préfixes binaires.


Les pages de manuel développées dans le cadre de la documentation du noya , cependant, en discutent. Voir man 7 units :

Thus, today, MB = 1000000B and MiB = 1048576B.

In the free software world programs are slowly being changed to con‐
form.  When the Linux kernel boots and says

      hda: 120064896 sectors (61473 MB) w/2048KiB Cache

the MB are megabytes and the KiB are kibibytes.

références Wikipédia ceci, et les messages de la liste de diffusion par ESR (aka Eric S. Raymond, un développeur de noyau bien connu) ( [1] , [2] , [3] , [4] ) montre qu'un patch changeant kB en KiB, etc. dans une partie de la documentation, a été acceptée, mais une partie de celle-ci a continué à utiliser les anciennes variantes. Ainsi, les préfixes sont binaires (ou sont destinés à être binaires).

2
muru