Kilo, Mega, Giga…

سلام

احتمالاً تا حالا شده یه هارد یا فلش بخرید! و احتمالاً بعد از خریدن و وصل کردن به کامپیوتر یه نگاهی به حجمش هم انداختید که مثلاً بجای هارد 120 یه هارد 60 گیگ بهتون نداده باشن! البته اگه اینقدرا اختلاف داشته باشه که می‌فهمید. ولی اگه بجای 120 گیگ 112 گیگ باشه ممکنه متوجه نشید، یا اینکه زیاد اهمیت ندید. یا وقتی که بجای یه فلش 8 گیگ یه فلش 7.4 گیگ تحویل بگیرید. یا خلاصه تقریباً 7 درصد کمتر از چیزی باشه که انتظار دارید! ممکنه هم این سوال براتون پیش اومده باشه که «پس بقیه‌ش چی شده؟». آیا شرکت سازنده به شما دروغ گفته یا کم‌فروشی کرده؟! یا اون جنس تقلبی هست؟! یا فروشنده‌ها و دلال‌ها وسط راه چند یه خورده‌ش رو کش رفتن؟!! پس علتش چیه؟!

دلیل خیلی دلیل ساده‌ای داره. در یک جمله بخاطر تفاوت 1000 با 1024 هست. در دنیای کامپیوتر کیلو معمولاً به معنای 1024 هست(نه 1000) و مگا هم 1024 کیلو. گیگا هم 1024 مگا، ترا هم 1024 گیگا…

اما ظاهرأ سازنده‌های حافظه، از این قاعده پیروی نمی‌کنن و بجای 1024 همون 1000 در نظر می‌گیرن. نمی‌دونم چرا. دلیل فنی داره یا دلیل اقتصادی(برای نفع خودشون)؟ ولی با یه حساب سرانگشتی میشه فهمید که حدوداً 7 درصد کمتر از چیزی میشه که ما انتظار داریم(و حجم اسمی اون هارد یا فلش هست). بصورت دقیق‌تر حجم واقعی میشه 0.9313 برابر حجم اسمی. حالا اگه تونستید خودتون این حساب سرانگشتی رو انجام بدید و عدد دقیقترش رو بهم بگید؟! 😀

Advertisements

11 Responses to Kilo, Mega, Giga…

  1. Reith می‌گوید:

    سلام سعید جان.
    تو بحث اندازه گیری می تونیم از تو الگوریتم استفاده کنیم، یکی اصطلاحا binary گفته می شه به این صورت:
    1KiB = 2^10 Bytes
    1MiB = 2^20 Bytes

    در مقابل یه decimal هم هست به این صورت:
    1KB = 10^3 Bytes
    1MB = 10^6 Bytes

    یعنی چیزی به عنوان دقیق اندازه گیری بیت و بایت وجود نداره، باید به اسمهاشون (کی بی بایت یا کیلو بایت) دقیق اشاره کنیم تا الگوریتم درست محاسبش رو در نظر بگیریم. مثلا برای محاسبه ی RAM دقیقا از Binary و برای اندازه گیری پهنای باند و هارددیسک دقیقا از Decimal استفاده می شه. RAM به خاطر آدرس دهی binary از این روش استفاده می کنه. حالا این به این معنا نیست که توی RAM نتونیم از Decimal استفاده کنیم، می تونیم از مبنای سه، چهار و … هم استفاده کنیم همین طور که هارد های اولیه هم از روش binary استفاده می کردند.
    در مورد عددی هم که گفتی در حد گیگا درسته. برای ترا بیشتر و برای کیلو کمتر ـه.

  2. امیر حسین می‌گوید:

    جناب reith بالاخره من نفهمیدم چرا وقتی میرم تو properties فلشی که روش زده 8GB ، توی قسمت capacity مینویسه 7.45GB ؟؟!
    اینکه میگید توی «اندازه گیری پهنای باند و هارد دیسک ها» دقیقا از decimal و توی «RAM» از binary استفاده میشه ، خوب پس چرا در نهایت این تناقض وجود داره ؟ (توجه کنید جفتشونم نوشتن GB و نه GiB). چرا همه جا رعایت نمیشه ؟
    من فکر می کنم همین قضیه منفعت اقتصادی که آقا سعید گفتن مطرح باشه …

  3. Reith می‌گوید:

    اصلا قابل تصور نیست که سازمان های استاندارد بین المللی و آمریکایی به راحتی از کار شرکت هایی با چیزی که شما اسمش رو می ذارید صرفه ی اقتصادی چشم بپوشن!
    امیر حسین من فلش 8GB ندارم، در مورد فلش 4GB می گم.
    ببین رو جلد فلش من زده 4GB این یعنی 4,000,000,000 بایت. حالا وقتی properties این رو تو ویندوز می بینم، نوشته 4,051,173,376 بایت، یعنی حتی کمی بیشتر از 4GB ! که به این علت می تونه باشه که شرکت مقداری از فضا رو برای فایل های مثلا plug and play اشغال کرده و از طرف دیگه به اون اضافه کرده! ولی تو سمت راست همین عدد نوشته شده 3.77GB که سوتی ماکروسافت هست نه کلاه برداری شرکت! اگر 3.77GB رو ضرب در 1GiB یعنی 1,073,741,824 کنی جواب میشه 4048006676.48 که به عدد سمت چپ خیلی نزدیکه و اگر هم 3.78 رو ضرب در 1GiB کنیم جواب میشه 4058744094.72 که کمی از عدد سمت چپ بیشتره. پس می تونیم با اطمینان بگیم اون عددی که ماکروسافت نوشته بر حسب GiB هست.
    در ضمن روش قدیمی و منسوخ شده ی نشون دادن Decimal و Binary این بود که B رو برای bytes و b رو برای bits استفاده می کردن و طبق پست اول GB شکل قدیمی نوشتن GiB هست.
    متاسفانه هنوز خیلی از ما (تمام کسانی که با کامپیوتر کار می کنیم) از این استاندارد ها خبر نداریم. ولی این ها ارقام دقیقی هستند که نظارت زیادی روشون می شه.

  4. امیر حسین می‌گوید:

    reith جون هم فهمیدم ، هم نفهمیدم !

    مایکروسافت سوتی میده فراوون ، قبول .. ولی گنوم دیگه چرا …
    همون فلش 4 رو توی لینوکس تست کن ، توی گنوم capacity رو میزنه 3.77GB و نه GiB …

    بالاخره این ارقام استاندارد دقیق هستن یا نیستن ؟ چیزی به اسم اندازه گیری دقیق وجود داره یا نه ؟

    راستی این قضایا توی فایل ها هم هست دیگه ؟

    سعید یه فروم بزن ، این چه وضعیه :دی

  5. Reith می‌گوید:

    همممممم
    تا به حال به این دقت نکرده بودم، درست می گی. KDE و گنوم هم همینطوری نشون می دن، یعنی با اون استاندارد که گفتم منسوخ شده. یعنی برای GiB از GB استفاده می کنن و برای Decimal از Gb. (امیر حسین من یه مقدار نامطئن شدم که اون روش قبلی واقعا منسوخ شده! 😉 ) با اون ضربی که بهت گفتم معلومه منظورشون (KDE یا گنوم یا ویندوز) GiB هست حالا با هر اسمی (این رو که قبول داری؟ با اون محاسبات و دقت زیاد نمی شه شک کرد) پس بحث کم فروشی می ره کنار!
    حالا امیر حسین با دایل آپ مسخرت وصل شو اینترنت ببین سرعت رو چه جوری می نویسه! 28Kbps ! نه 28KBps! یعنی از اون یکی فرم نمایش استفاده کرده، چون گفتیم پهنای باند رو به صورت Decimal اندازه گیری می کنن. برای فلش دیسک هم داریم 4Gb = 3.77GB. ببین عددی که سمت چپ نوشتم خونده می شه چهار گیگا بایت و عدد سمت راست سه ممیز هفتاد و هفت گی بی بایت. پس فلش ت رو پس نده! چون تو اون رو به اسم گیگا بایت خریدی نه گی بی بایت! و همه چیز درست در میاد البته با یه استاندارد دیگه!
    ببین این استاندارد دقیق هست و روش و الگوریتم دقیقی داره که خودمون هم محاسبه کردیم و تا به حال تو پارتیشن بندی هم احتمالا بهش برخورد کردیم، ولی با این مثال ها دیدیم همیشه از این استاندارد استفاده نمی شه. اسم این استاندارد هم IEC هست.
    فکر نمی کنم برای فایل صادق نباشه.
    ولش کن امیر حسین. امکانات کمه! خودمون فورمش می کنیم. البته برادر جان کوچولو هم به کارایی کرده که کاش بچه ها همکاری می کردن و توش عضو می شدن. ;(

  6. سعید می‌گوید:

    ممنون بچه ها
    امیرجان فرومم کجا بود… همین وبلاگ رو هم به روز درست کردم!

    جناب Reith این برادر جان کوچولو که میگید کی هست؟ فرومش کجاست؟

  7. Reith می‌گوید:

    http://it.ilearn.ir 😀

  8. Saar می‌گوید:

    راستش من هم قبلا فکر می‌کردم به دلیل همین تفاوت 24 تایی باشه.
    ولی فکر می‌کنم دلیل یه جای دیگس:
    بیینیم، یه فایل نام داره و حتی یه سری مشخصات که توی حجم فایل تاثیری نداره. خب این یکم شک بر انگیزه. ما می‌تونیم بدون این که حجمی از هارد اشغال کنیم، یه سری اطلاعات رو روی هارد ذخیره کنیم اونم فقط با استفاده از نام کلی فایل 0 بایتی. این یعنی یه چیز عجیب!
    بعد از کلی اینور اونور متوجه شدم مقداری از حجم این رسانه‌ها به جدولی اختصاص داده می‌شه که اطلاعاتی مثل همین نام توی اون ذخیره شدن. پس نه سوتی شرکت سازندست و نه سوتی سیستم‌ عامل‌ها.

  9. سعید می‌گوید:

    نخیر جناب سار.
    دیتاهای هر پارتیشن توی همون پارتیشن ذخیره میشه، چه دیتاهای فایل باشه، چه metadata ها (مثل اسم فایل و mtime و atime و …) یعنی وقتی یه فایل خالی هم بوجود بیارید، دیتاهایی روی هارد ذخیره میشه، و روی همون پارتیشن، اما جدای از دیتاهای خود فایل در جای خاصی از اون فایل‌سیستم(که جزئیاتش بستگی به فایل‌سیستم داره)
    پس این قضیه هیچ ربطی به اون قضیه نداره! اصلاً منطقی هم نیست! یعنی نسبت مشخصی از هارد به ذخیره‌سازی متادیتاها (از هر پارتیشنی) اختصاص داده میشه؟! در حالی‌که هر پارتیشن فایل‌سیستم خودش رو داره و دیتاها یا متادیتاهای فایل‌های هر کدوم، هیچ ربطی به کل هارد نداره! اصلاً ممکنه ما پارتیشن‌های unformated بوجود بیاریم و هیچ خبری از فایل توشون نباشه!
    اصلاً وقتی بحث از حجم هارد میشه، ما هیچ کاری به فایل‌ها (و حجم و تعداد اون‌ها) نداریم. بلکه با تعداد با تعداد سکتورها و بایت‌ها کار داریم.

    بعدش هم طبق محاسباتی که انجام دادیم، همون دلیل تفاوت ۱۰۰۰ با ۱۰۲۴ ثابت میشه. کسی هم حرف از سوتی نزد. دو واحد مختلف برای اندازه‌گیری داره استفاده میشه(همونطور که Reith فرمودن KiB و KB یا MiB و MB)
    مسئله اینجاست که چرا سازندگان سخت‌افزار از ۱۰۰۰ استفاده می‌کنن(همون KiB و MiB و GiB) نه ۱۰۲۴ (همون KB و MB و GB) آیا دلیل فنی داره یا یه استاندارد هست.

  10. Saar می‌گوید:

    بله. گویا حق با شماست و من اشتباه می‌کردم.
    با دو تا آزمایش این رو متوجه شدم.
    اول این که یه پارتیشم رو فرمت کردم. بعد توی اون فایل ساختم. البته FAT32 در حالت عادی 8K از حجم رو گرفته بود. به ازای هر پوشته که ساختم هم 8K به این عدد اضافه شد.
    و این که یه هارد 500G دارم که با حساب کتاب می‌شد 465.6612873077392578125GB که درست هم بود!
    متچکر که توضیح دادین.

  11. سعید می‌گوید:

    خواهش می‌کنم.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: