Днес ми зададоха един съвсем логичен въпрос, върху който обаче никога не съм се замислял, но колкото и да го мисля, не стигам до задоволителен отговор - "Защо fdisk показва грешна информация за общия размер на диска?". Става дума за този ред от изхода на "fdisk -l":
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
Както се вижда, става дума за диск, на обложката на който пише 1TB, но реално е 931,51GB (защото 1000204886016 байта са толкова, и дори да не гледаме байтовете, а умножим броя на главите 255, броя на секторите 63, броя на цилиндрите 121601 и размера на секторите 512 байта, пак ще получим толкова, и дори да не правим сметката, ползващият диска в последствие ще разбере, че са толкова).
Винаги съм се чудел каква е точната причина, когато смятат размерите на дисковете, производителите да делят на 1000, вместо на коректното 1024. Възможно е да е за улеснение на потребителите (макар че едва ли някой потребител се радва на това улеснение, когато установи, че дискът му реално е доста по-малък от обявеното), по-вероятно ми се вижда да е рекламен трик (ех, тези пари...), възможно е и причината да е друга или комбинация от няколко. Пазарът не винаги се нуждае от ясни причини.
Интересно, обаче, защо му е на fdisk да показва същата тази невярна информация? Той не е обвързан с пазара, задачата му не е да показва относителна, а точна информация, и не е като да не знае какъв е реалният размер на диска. Най-сносната причина, която ми хрумва, е указателна в резултат на невярната информация, която производителите печатат върху дисковете - когато погледнеш изхода от fdisk, да виждаш това, което пише на самия диск, за да можеш по-лесно да познаеш за кой диск става дума, ако дисковете ти са различни. Но колко често се случва тази ситуация? Колко използван е един такъв указател, че да седи по подразбиране още на първия ред на изхода? Всъщност си мисля, че много по-често се случва някой потребител да се чуди защо не може да зададе толкова GB, колкото пише там в този ред, когато тръгне да създава дял на него (да, в този момент fdisk ще го скастри), и ако се чатне каква всъщност е работата, да си играе да въвежда в байтове, или да смята колко е реалната стойност в гигабайти, или да въвежда брой цилиндри без директна представа дял с какъв размер създава. Какъв е смисълът от това объркване? Кому е нужно да гледа информация, която не отговаря на реалността?