Титла: Защо fdisk лъже? Публикувано от: neter в 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 ще го скастри), и ако се чатне каква всъщност е работата, да си играе да въвежда в байтове, или да смята колко е реалната стойност в гигабайти, или да въвежда брой цилиндри без директна представа дял с какъв размер създава. Какъв е смисълът от това объркване? Кому е нужно да гледа информация, която не отговаря на реалността? Титла: Re: Защо fdisk лъже? Публикувано от: vyrgozunqk в Apr 22, 2012, 01:09 /полу-офф... :D
Защото Столман е фанатизирано куче, а до колкото знаем единственото оупънсорснато при дисковете са брошурките, та в случая на'що елегантно хипи седи до скенера и сканира брошурите на дисковете, обработва ги с OpenSource-нат OCR и воала = fdisk :D ;D :D >:D Титла: Re: Защо fdisk лъже? Публикувано от: jet в 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 ($2) И да, за производителите дисковете са по-големи Титла: Re: Защо fdisk лъже? Публикувано от: kalinik в Apr 22, 2012, 01:28 Отделно и цилиндрите са различен брой - имам 2 х 1 ТБ дискове на различни производители и се различават само по цилиндрите.
Цитат 255 heads, 63 sectors/track, 121601 cylindersдругия Цитат 255 heads, 63 sectors/track, 121598 cylinders Титла: Re: Защо fdisk лъже? Публикувано от: neter в Apr 22, 2012, 01:56 Отделно и цилиндрите са различен бройА, виж, броят на цилиндрите е по-интересна информация за гледащия - много по-широко може да се ползва като указател кой точно диск гледаш. Сега още по-малко залагам на указателната причина онова "1000.2 GB" да седи там. Защото дисковете ги мерят вТо ясно, ама ми е интересно защо седи тази безполезна информация в fdisk :) Между другото, сега ми отвори още една питанка - на кого му хрумна, че kibi (което е съкратено изписване на същата тази хилядност, но с указател, че става дума за бинарно умножение; kilo идва от гръцката дума khiloi, която значи 1000), като пак не става дума за никаква хилядност? Като ще се мислят нови единици, да се мислят така, че да не внасят нови обърквания. Или пак намесваме удобството на производителите лесно да могат да си спестяват това "i" с пазарна цел? Защото тези мерни единици съществуват от 14 години, а не съм чул нито един производител на електроника да дава информация с тях. Рядко се виждат и софтуери, които да ги ползват. П.П.: Цецо, да ти имам въображението :D [_]3 Титла: Re: Защо fdisk лъже? Публикувано от: kalinik в Apr 22, 2012, 20:44 Не се бях замислял досега, наистина, но има нещо гнило в информацията от fdisk.
Интересна тема за размисъл... Титла: Re: Защо fdisk лъже? Публикувано от: Nedko Arnaudov в Apr 22, 2012, 23:10 Програмите не лъжат. Особено ако нямат изкуствен интелект. Програмите са написани да показват в една или друга мерна единица. В случая програмистите са избрали да показват в тази която е наложена в индустрията. Сега че индустрията се движи от хора които си изкарват хляба с маркетингови/рекламни трикове безспорно е кофти но светът е едно кофти място тъй или иначе. Ако си представим за момент че fdisk използва бинарни префикси, тогава обърканият потребител ще попита производителя и той ще му каже че програмата използва подвеждащата информация. Дори програмистите на fdisk да твърдят (и с право) че използват правилната единица, повечето потребители ще повярват на този на който са платили (и то за нещо което могат да пипнат). Също така тази информация служи най-вече за идентифициране на дисковете. А хората ги идентифицират по размера за който са си мислили когато са ги купували. И ако размерите се показваха в гибибайти, само ще хранят (наум?) програмистите.
Иначе мисля че цялата тема в основата си е прикрито тролене >:D Титла: Re: Защо fdisk лъже? Публикувано от: kalinik в Apr 23, 2012, 01:47 Oпределено не е тролене темата.
Ето, в моя случай, се наложи да сменям кондензатор на дъното.След операцията бях закачил sata кабелите погрешно/разместено.И тъй като имах и един Windows (на трети диск),който се скапа - го преинсталирах набързо... НО, после дойде чуденката при оправянето на grub. fdisk показва 2 диска 1000.02GB - кажи ми ти кой-кой е (без да отваряш кутията)??? И на двата има * linux-и , които ползват един и същи дял /home. И понеже не помня наизуст кой linux какви дялове имаше ( за ориентир) - се наложи да отворя кутията и да погледна действително кой е sda, и кой е sdb... Та така... fdisk не помага винаги. И сега съм си записал на листче кой диск, колко цилиндъра има ;) Титла: Re: Защо fdisk лъже? Публикувано от: neter в 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Хмм... абе може и такава да е, хаха ::) Титла: Re: Защо fdisk лъже? Публикувано от: Gogo_SZ в Apr 26, 2012, 01:02 Ами много простичък е отговора:
Производителите дават в рекламата "неформатирания капацитет" :o ::) >:D [_]3 [_]3 [_]3 [_]3 [_]3 [_]3 Перфектно! Броя байтове които можеш да запишеш на диска - включително номерата на секторите, стартови, стопови...... Добре, че не го дават обема и в нибли, ама нали са търгаши и не знаят какво е това ;D ;D ;D ;D ;D Титла: Re: Защо fdisk лъже? Публикувано от: gat3way в Apr 26, 2012, 02:02 Не мога да разбера какво значение има. Разхищението на дисково пространство само заради организацията на файловите системи много вероятно надвишава тези разлики - журнали, неефективна организация, кофти worst case-ове, които трябва да се покрият. Преди време се бях замислил за това какво означава да си купиш примерно 2 плочки 2GB DDR3 RAM, там нещата са още по-зле. Повечето хора не си дават идея какво разхищение представлява memory management-a в линукс и колко много памет отива само и единствено за да се подържат разни структури, описващи мапнати страници в адресното пространство. Ужасно много, ако човек може да си даде сметка :)
Маркетинга е едно, overhead-а от разни неща е нещо друго и не по-малко брутално. Титла: Re: Защо fdisk лъже? Публикувано от: Gogo_SZ в 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. Титла: Re: Защо fdisk лъже? Публикувано от: lunarvalley в Apr 27, 2012, 13:33 Цитат и ако си мисли че това са 50-100кВ дисково пространство ама много ще се изненада тоест, совите не са това, което са :P Титла: Re: Защо fdisk лъже? Публикувано от: gat3way в Apr 27, 2012, 16:23 15-20 хиляди малки файлчета от по 1-2 байта разхищават достатъчно много място и под линукс с ext3/ext4. При block size от 4 килобайта, това са 78 мегабайта (без да броим 2 или 4 мегабайта inode дескриптори и без да броим големината на директориината структура).
|