Автор Тема: Защо fdisk лъже?  (Прочетена 3170 пъти)

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Защо fdisk лъже?
« -: Apr 22, 2012, 00:56 »
Днес ми зададоха един съвсем логичен въпрос, върху който обаче никога не съм се замислял, но колкото и да го мисля, не стигам до задоволителен отговор - "Защо 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 ще го скастри), и ако се чатне каква всъщност е работата, да си играе да въвежда в байтове, или да смята колко е реалната стойност в гигабайти, или да въвежда брой цилиндри без директна представа дял с какъв размер създава. Какъв е смисълът от това объркване? Кому е нужно да гледа информация, която не отговаря на реалността?
« Последна редакция: Apr 22, 2012, 20:54 от neter »
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

vyrgozunqk

  • Гост
Re: Защо fdisk лъже?
« Отговор #1 -: Apr 22, 2012, 01:09 »
/полу-офф...  :D

Защото Столман е фанатизирано куче, а до колкото знаем единственото оупънсорснато при дисковете са брошурките, та в случая на'що елегантно хипи седи до скенера и сканира брошурите на дисковете, обработва ги с OpenSource-нат OCR и воала = fdisk :D  ;D :D >:D
Активен

jet

  • Напреднали
  • *****
  • Публикации: 3473
  • Distribution: debian
  • Window Manager: kde
    • Профил
Re: Защо fdisk лъже?
« Отговор #2 -: Apr 22, 2012, 01:22 »
Защото дисковете ги мерят в
Терабайти (TB) = 10^12 а не в tebibyte (TiB) = 2^40
Гигабайти (GB) = 10^9   а не в gibibyte (GiB) = 2^30
http://en.wikipedia.org/wiki/Tebibyte
И да, за производителите дисковете са по-големи
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

kalinik

  • Напреднали
  • *****
  • Публикации: 539
  • Distribution: LMDE x64 2012/ LM 14 x64
  • Window Manager: Mate / KDE
  • ID user #521433
    • Профил
Re: Защо fdisk лъже?
« Отговор #3 -: Apr 22, 2012, 01:28 »
Отделно и цилиндрите са различен брой - имам 2 х 1 ТБ дискове на различни производители и се различават само по цилиндрите.

Цитат
255 heads, 63 sectors/track, 121601 cylinders
другия
Цитат
255 heads, 63 sectors/track, 121598 cylinders
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Защо fdisk лъже?
« Отговор #4 -: Apr 22, 2012, 01:56 »
Отделно и цилиндрите са различен брой
А, виж, броят на цилиндрите е по-интересна информация за гледащия - много по-широко може да се ползва като указател кой точно диск гледаш. Сега още по-малко залагам на указателната причина онова "1000.2 GB" да седи там.

Защото дисковете ги мерят в
То ясно, ама ми е интересно защо седи тази безполезна информация в fdisk :) Между другото, сега ми отвори още една питанка - на кого му хрумна, че kibi (което е съкратено изписване на същата тази хилядност, но с указател, че става дума за бинарно умножение; kilo идва от гръцката дума khiloi, която значи 1000), като пак не става дума за никаква хилядност? Като ще се мислят нови единици, да се мислят така, че да не внасят нови обърквания. Или пак намесваме удобството на производителите лесно да могат да си спестяват това "i" с пазарна цел? Защото тези мерни единици съществуват от 14 години, а не съм чул нито един производител на електроника да дава информация с тях. Рядко се виждат и софтуери, които да ги ползват.

П.П.: Цецо, да ти имам въображението :D [_]3
« Последна редакция: Apr 22, 2012, 01:57 от neter »
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

kalinik

  • Напреднали
  • *****
  • Публикации: 539
  • Distribution: LMDE x64 2012/ LM 14 x64
  • Window Manager: Mate / KDE
  • ID user #521433
    • Профил
Re: Защо fdisk лъже?
« Отговор #5 -: Apr 22, 2012, 20:44 »
Не се бях замислял досега, наистина, но има нещо гнило в информацията от fdisk.
Интересна тема за размисъл...
Активен

Nedko Arnaudov

  • Напреднали
  • *****
  • Публикации: 38
    • Профил
Re: Защо fdisk лъже?
« Отговор #6 -: Apr 22, 2012, 23:10 »
Програмите не лъжат. Особено ако нямат изкуствен интелект. Програмите са написани да показват в една или друга мерна единица. В случая програмистите са избрали да показват в тази която е наложена в индустрията. Сега че индустрията се движи от хора които си изкарват хляба с маркетингови/рекламни трикове безспорно е кофти но светът е едно кофти място тъй или иначе. Ако си представим за момент че fdisk използва бинарни префикси, тогава обърканият потребител ще попита производителя и той ще му каже че програмата използва подвеждащата информация. Дори програмистите на fdisk да твърдят (и с право) че използват правилната единица, повечето потребители ще повярват на този на който са платили (и то за нещо което могат да пипнат). Също така тази информация служи най-вече за идентифициране на дисковете. А хората ги идентифицират по размера за който са си мислили когато са ги купували. И ако размерите се показваха в гибибайти, само ще хранят (наум?) програмистите.

Иначе мисля че цялата тема в основата си е прикрито тролене  >:D
Активен

kalinik

  • Напреднали
  • *****
  • Публикации: 539
  • Distribution: LMDE x64 2012/ LM 14 x64
  • Window Manager: Mate / KDE
  • ID user #521433
    • Профил
Re: Защо fdisk лъже?
« Отговор #7 -: Apr 23, 2012, 01:47 »
Oпределено не е тролене темата.
Ето, в моя случай, се наложи да сменям кондензатор на дъното.След операцията бях закачил sata кабелите погрешно/разместено.И тъй като имах и един Windows (на трети диск),който се скапа - го преинсталирах набързо... НО, после дойде чуденката при оправянето на grub.
fdisk показва 2 диска 1000.02GB - кажи ми ти кой-кой е (без да отваряш кутията)??? И на двата има * linux-и , които ползват един и същи дял /home. И понеже не помня наизуст кой linux какви дялове имаше ( за ориентир) - се наложи да отворя кутията и да погледна действително кой е sda, и кой е sdb...
Та така... fdisk не помага винаги. И сега съм си записал на листче кой диск, колко цилиндъра има  ;)
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Защо fdisk лъже?
« Отговор #8 -: Apr 23, 2012, 02:07 »
Ако си представим за момент че fdisk използва бинарни префикси, тогава обърканият потребител ще попита производителя и той ще му каже че програмата използва подвеждащата информация. Дори програмистите на fdisk да твърдят (и с право) че използват правилната единица, повечето потребители ще повярват на този на който са платили (и то за нещо което могат да пипнат).
Точно тук се появява противоречието - в началото fdisk дели на 1000, после при създаването на дялове дели на 1024, и в този момент потребителят почва да псува програмистите. Струва ми се по-вероятно псуването да се насочи към програмистите точно в този вариант, тъй като потребителят остава объркан от самата програма, защото програмата не следва един стандарт. А дори и при създаването на дяловете fdisk пак да дели на 1000, след монтирането df пък по подразбиране дели на 1024, и потребителят пак ще се чуди къде му изчезна паметта. А одеве пък обърнах внимание, че PCManFM (файловият мениджър в LXDE) също дели на 1000, но пък Midnight Commander си дели на 1024. След това потребителят, тотално объркан, влиза в Интернет, сваля си някакви файлове, размерите на които в информацията в сайта и в браузъра е разделен на 1024, и гледа как мястото в диска му или намалява с по-големи темпове от очакваното, или въобще си изглежда по-малък (зависи къде гледа). Към кого ще са насочени псувните тогава? По-често ще се намират потребители, които виждайки, че навсякъде в системите им дисковете са по-малки от обявеното, ще псуват производителите, че са били подведени, тъй като единствените, които ще им казват, че дискът им е по-голям, са само производителите, които ще са единствените в схемата, за които по-голямото число носи по-голяма печалба.
Струва ми се, че текущо съществува едно голямо мазало откъм отчитането размерите на носителите и информацията. Всеки дели и именува както му падне, и единственото спасение за потребителите да получат някаква сигурност се крие в хвърлянето на боб. Машините никога не са били подвластни на числото 10, а на числото 2. Това вероятно ще се промени с навлизането на квантовите компютри, но дотогава има време, а текущо това мазало води само до объркване. И решението далеч не е измисляне на нови мерни единици, още по-малко такива, приличащи на старите. Когато става дума за количество цифрова информация, би трябвало винаги да се дели на 1024, и никога на 1000. Самите kilo, mega, giga и т.н. в Системата единици за случая в частност би трябвало винаги да делят на 1024, без други мерни единици, които да определят разликата, тъй като е напълно излишно - допълнителните само внасят объркване и печалбарски интереси. Иначе по същата система може да се въведе и количеството kibigram (KiG, но често с удобно за плащащия пропуснато "i") и да се избием на пазара чий кантар показва вярно. Тъй като kibi не ограничава до използване само за байтове - означава степен на последващата единица, но с бинарна, вместо десетична зависимост, а единицата може да е каквато и да е. Всъщност... такова въвеждане би бил много добър ответен удар, не мислите ли? :P

Иначе мисля че цялата тема в основата си е прикрито тролене  >:D
Хмм... абе може и такава да е, хаха ::)
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

Gogo_SZ

  • Напреднали
  • *****
  • Публикации: 270
  • Distribution: Mageia, Mandriva
  • Window Manager: KDE, Mate, Gnome, LXDE
  • So to complete victory of trade over reason!
    • Профил
Re: Защо fdisk лъже?
« Отговор #9 -: Apr 26, 2012, 01:02 »
Ами много простичък е отговора:
Производителите дават в рекламата "неформатирания капацитет" :o ::) >:D [_]3 [_]3 [_]3 [_]3 [_]3 [_]3

Перфектно!

Броя байтове които можеш да запишеш на диска - включително номерата на секторите, стартови, стопови......
Добре, че не го дават обема и в нибли, ама нали са търгаши и не знаят какво е това ;D ;D ;D ;D ;D
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Защо fdisk лъже?
« Отговор #10 -: Apr 26, 2012, 02:02 »
Не мога да разбера какво значение има. Разхищението на дисково пространство само заради организацията на файловите системи много вероятно надвишава тези разлики - журнали, неефективна организация, кофти worst case-ове, които трябва да се покрият. Преди време се бях замислил за това какво означава да си купиш примерно 2 плочки 2GB DDR3 RAM, там нещата са още по-зле. Повечето хора не си дават идея какво разхищение представлява memory management-a в линукс и колко много памет отива само и единствено за да се подържат разни структури, описващи мапнати страници в адресното пространство. Ужасно много, ако човек може да си даде сметка :)

Маркетинга е едно, overhead-а от разни неща е нещо друго и не по-малко брутално.
« Последна редакция: Apr 26, 2012, 02:04 от gat3way »
Активен

"Knowledge is power" - France is Bacon

Gogo_SZ

  • Напреднали
  • *****
  • Публикации: 270
  • Distribution: Mageia, Mandriva
  • Window Manager: KDE, Mate, Gnome, LXDE
  • So to complete victory of trade over reason!
    • Профил
Re: Защо fdisk лъже?
« Отговор #11 -: Apr 27, 2012, 12:28 »
Истината е че около 5-20% от обема се губят още при форматирането на секторите, после още малко за блоковете и после........ и накрая заради неефективно използване още малко....... и накрая може да се окаже че 90% от диска е празен, но неизползваем.
Ето едно интересно четиво с картинки:
http://en.wikipedia.org/wiki/Advanced_Format

Който не вярва да наплоди 20-30 хиляди файлчета от по 1-2 байта под Windows и ако си мисли че това са 50-100кВ дисково пространство ама много ще се изненада = 100-200МВ. Типичен пример е Temp директорията на Explorer.
« Последна редакция: Apr 27, 2012, 12:36 от Gogo_SZ »
Активен

lunarvalley

  • Гост
Re: Защо fdisk лъже?
« Отговор #12 -: Apr 27, 2012, 13:33 »
Цитат
и ако си мисли че това са 50-100кВ дисково пространство ама много ще се изненада

тоест, совите не са това, което са :P
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Защо fdisk лъже?
« Отговор #13 -: Apr 27, 2012, 16:23 »
15-20 хиляди малки файлчета от по 1-2 байта разхищават достатъчно много място и под линукс с ext3/ext4. При block size от 4 килобайта, това са 78 мегабайта (без да броим 2 или 4 мегабайта inode дескриптори и без да броим големината на директориината структура).
Активен

"Knowledge is power" - France is Bacon

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Precedent s fdisk \mbr!
Хардуерни и софтуерни проблеми
kosta 10 2471 Последна публикация Apr 27, 2004, 08:53
от kosta
fdisk
Кошче
msa 0 1037 Последна публикация May 23, 2009, 07:01
от msa