تشتري قرصًا سعته 1 TB. يقول Windows إنها 931 GB. يبدو الأمر كأنك نُقصت سبعة في المئة، وقد رُفعت دعاوى جماعية بسببه. القرص بالضبط بالحجم المعلن.
931 GB إلى TB
1.00 TB
الـ931 التي يعرضها حاسوبك هي في الحقيقة 931 GiB، فهي التيرابايت الكامل الذي دفعت ثمنه — 0.909 TiB، أو 999,653,638,144 بايت. أما إن قرأتها رقمًا عشريًّا حرفيًّا، فـ931 GB تساوي 0.931 TB.
| على العلبة | يعرض Windows | بايت |
|---|---|---|
| 1 TB | 931 GB | 1,000,000,000,000 |
| 2 TB | 1863 GB | 2,000,000,000,000 |
| 4 TB | 3725 GB | 4,000,000,000,000 |
| 8 TB | 7451 GB | 8,000,000,000,000 |
| 16 TB | 14901 GB | 16,000,000,000,000 |
طريقتان للعدّ
كل بادئة قياس أخرى تعني قوّة من الألف. الكيلومتر 1,000 متر. الكيلوغرام 1,000 غرام. هذا هو النظام الدولي للوحدات، وهو بلا التباس في كل مكان إلا الحوسبة.
تعنون الحواسيب الذاكرة بقوى الاثنين، و210 تساوي 1,024 — قريبة من الألف بما يكفي لأن يستعير المهندسون الأوائل البادئة. صار «الكيلوبايت» 1,024 بايت. كان تقريبًا مريحًا، وبفارق 2.4% لم يمانع أحد.
المشكلة أن الخطأ يتراكم عند كل خطوة:
عند الكيلوبايت كان خطأ تقريب. أما عند التيرابايت فهو عُشر قرصك، ويستمرّ في الكبر: عند البيتابايت يبلغ الفارق 12.6%.
ما الذي جرى لقرصك فعلًا
باعك المصنّع 1,000,000,000,000 بايت بالضبط. هذا تيرابايت واحد بتعريف النظام الدولي، التعريف نفسه الذي يحكم كل استعمال آخر للبادئة «تيرا» في العلوم والهندسة.
يقسم Windows ذلك الرقم على 1,024 ثلاث مرّات، فيصل إلى 931.32. ثم يكتب GB بجانبه.
هذه هي المشكلة كلها. الرقم صحيح. اسم الوحدة ليس كذلك — فما حسبه Windows هو 931.32 غيبيبايت، وهو يسمّيها غيغابايت.
الأسماء التي لا يستعملها أحد
حسمت اللجنة الكهرتقنية الدولية هذا في 1998 بإعطاء الوحدات الثنائية أسماء خاصّة بها: كيبيبايت، وميبيبايت، وغيبيبايت، وتيبيبايت — KiB وMiB وGiB وTiB. كل واحد منها اختصار لـ«كيلو ثنائي» و«ميغا ثنائي» وهكذا.
المعيار واضح لا لبس فيه وصحيح، وقد جرى تجاهله كلّيًّا تقريبًا خارج الوثائق التقنية. أدوات Linux تستعمله. يستعمله بعض مديري الملفات. أما Windows، فبعد أكثر من خمسة وعشرين عامًا، لا.
الأسماء ثقيلة على اللسان، هذا صحيح. لكنه سبب ضعيف لإبقاء التباس حقيقي في قياس شيء يشتريه الناس بالتيرابايت.
من يستعمل أيّهما
العشري — قوى الـ1,000: مصنّعو الأقراص وذاكرات USB، وسرعات الشبكات، وmacOS منذ 10.6، ومعظم مديري ملفات Linux، وكل ما يذكر معدّل نقل.
الثنائي — قوى الـ1,024: أحجام الملفات وسعات الأقراص في Windows، وذاكرة RAM بكل أنواعها، والتقارير الداخلية لمعظم لغات البرمجة.
لهذا يُقرأ القرص نفسه 931 GB على Windows و1 TB على Mac. لا خلل في أيّهما؛ اختار كل منهما اختيارًا مختلفًا، وواحد منهما فقط يسمّي الناتج تسمية دقيقة.
ذاكرة RAM هي الاستثناء المثير. فالذاكرة تُصنع فعلًا بقوى الاثنين، بسبب طريقة عمل خطوط العنونة، فوحدة «16 GB» تحوي حقًّا 17.18 مليار بايت. مع RAM، التفسير الثنائي ليس مجرّد عُرف. إنه الحقيقة المادّية.
عامل الثمانية الآخر
ما دمنا هنا: اتّصال الإنترنت عندك بسرعة 100 Mbps لا ينزّل بسرعة 100 MB/s، وهذا التباس مختلف تمامًا.
Mbps هي ميغابت في الثانية. أما MB/s فهي ميغابايت في الثانية. في البايت ثمانية بتات، فـ100 Mbps تساوي 12.5 MB/s عند الحدّ النظري الأقصى. ملف بحجم 1 GB يأخذ 80 ثانية على الأقلّ، لا 10.
الفرق كله في حالة حرف واحد — b صغيرة للبتات، وB كبيرة للبايتات — وهو عامل ثمانية. يقيس مهندسو الشبكات بالبتات لأن هذه هي طريقة انتقال البيانات على السلك. أما الباقون فيفكّرون بالبايتات لأن هذه هي طريقة تخزين الملفات.
اجمع الالتباسين معًا، وقد تخطئ بعامل يقارب التسعة بينما كل رقم في المسألة صحيح تقنيًّا.
ماذا تفعل حيال ذلك
لا شيء، في الغالب. معرفة السبب تزيل الشعور بأنك غُبنت، وهو الكلفة الأساسية لعدم معرفته.
حين تشتري مساحة تخزين، افترض أنك سترى أقلّ من الملصق بنحو 7% في قرص مقيس بالغيغابايت، وبنحو 10% في التيرابايت. قرص «2 TB» يظهر بسعة 1.81 TB. هذا كل التعديل.
حين تهمّ المواصفة — نسخة احتياطية يجب أن تتّسع، أو حصّة، أو حدّ لحجم ملف — حوّل صراحةً بدل الافتراض. المحوّل يسرد الوحدات العشرية والثنائية في مجموعتين منفصلتين تحديدًا حتى لا يختلطا.
الخلاصة
قرصك يحمل بالضبط ما يقوله. يقسم Windows على 1,024 ثم يسمّي الناتج GB وهو يعني GiB. أما macOS فيقسم على 1,000 ويسمّيه تسميته الصحيحة. الفارق 7% عند الغيغابايت، و10% عند التيرابايت، وهو عطب في التسمية لا مشكلة مساحة مفقودة.