الفرق بين "الحجم" و "الحجم على القرص"
لعلك لاحظت عزيزي المتابع أن عند عرض خصائص اي ملف في نظام Windows أن النظام يظهر لكل ملف حجمين , الحجم الأول هو الحجم الفعلي للملف , أما الحجم الثاني فهو حجم الملف على القرص و يكون الحجم الفعلي اقل من الحجم على القرص ... فما هو الفرق ؟؟
في هذا المقال سوف اشرح لك السبب الصحيح لهذا الاختلاف .. لكن في البداية اقترح عليك قراء مقال أنظمة الملفات و الفرق بينها ليسهل عليك فهم السبب الذي يجعل النظام يزيد من حجم الملف
كما قرأنا سابقاً فإن نظام التشغيل يقوم بتهيئة القرص الصلب , حيث يتم تقسيمه إلى قطاعات تسمى Cluster , و كل نظام ملفات يعتمد حجماً مختلفاً لكل واحد Cluster .
FAT – FAT16
| 64 Kbs |
FAT32
|
16 Kbs
|
NTFS |
4 Kbs
|
و لأوضح لك آلية التخزين سنستعين بمثال بسيط ...
تخيل أن لدينا مكتبة تتكون من 10 رفوف , و كل رف يستطيع تخزين 8 كتب ...
و لدينا موسوعة مؤلفة من 25 كتاب نريد وضعها في هذه المكتبة .
هذا يعني أننا سوف نملأ الرفوف الثلاثة الأولى بـ 24 من الكتب (8×3=24)
و سيتبقى كتاب واحد نضعه في الرف الرابع .الان نحضر موسوعة أخرى من الكتب و نريد أيضاً اضافتها للمكتبة السابقة .....
من المنطق أن نتابع من الرف الرابع الذي يحوي كتاباً واحداً من الموسوعة السابقة لكن نظام التشغيل لا يقوم بهذا العمل .لو اعتبرنا أن القرص الصلب هو المكتبة .. و القطاعات هي الرفوف .. و كل موسوعة من الكتب تشكل ملفاً واحداً
فإن نظام التشغيل بمجرد امتلاء جزء من القطاع ولو كان بسيطاً فلن يقوم بإضافة أي ملف آخر ضمن هذا القطاع , بل سينتقل للقطاع التالي فلو أخذنا ملفاً بحجم 1 كيلو بايت و اردنا تخزينه في نظام ملفات NTFS و الذي يعتمد حجم 4 Kbs لكل Cluster , فسيتم تخزين الملف ضمن Cluster واحد و يشغل منه واحد كيلو بايت .. و سيتبقى 3 كيلو بايت خالية ... و عند كتابة الملف التالي ينتقل للقطاع التالي .
و في هذه الحالة سيكون حجم ذلك الملف 1 كيلو بايت (الحجم الحقيقي)و 4 كيلو بايت (الحجم على القرص)
و لدينا موسوعة مؤلفة من 25 كتاب نريد وضعها في هذه المكتبة .
هذا يعني أننا سوف نملأ الرفوف الثلاثة الأولى بـ 24 من الكتب (8×3=24)
و سيتبقى كتاب واحد نضعه في الرف الرابع .الان نحضر موسوعة أخرى من الكتب و نريد أيضاً اضافتها للمكتبة السابقة .....
من المنطق أن نتابع من الرف الرابع الذي يحوي كتاباً واحداً من الموسوعة السابقة لكن نظام التشغيل لا يقوم بهذا العمل .لو اعتبرنا أن القرص الصلب هو المكتبة .. و القطاعات هي الرفوف .. و كل موسوعة من الكتب تشكل ملفاً واحداً
فإن نظام التشغيل بمجرد امتلاء جزء من القطاع ولو كان بسيطاً فلن يقوم بإضافة أي ملف آخر ضمن هذا القطاع , بل سينتقل للقطاع التالي فلو أخذنا ملفاً بحجم 1 كيلو بايت و اردنا تخزينه في نظام ملفات NTFS و الذي يعتمد حجم 4 Kbs لكل Cluster , فسيتم تخزين الملف ضمن Cluster واحد و يشغل منه واحد كيلو بايت .. و سيتبقى 3 كيلو بايت خالية ... و عند كتابة الملف التالي ينتقل للقطاع التالي .
و في هذه الحالة سيكون حجم ذلك الملف 1 كيلو بايت (الحجم الحقيقي)و 4 كيلو بايت (الحجم على القرص)
مثال يوضح تخزين الملفات ضمن نظام الملفات NTFS و الحجم الذي تشغله
لاحظ أن المربعات البيضاء هي مساحات ضائعة في القرص !
و يرتبط هذا الامر بنظام الملفات فقط .. فلو اتجهنا لنظام الملفات EXT4 و هو النظام الذي تعتمد عليه أغلب توزيعات نظام Linux ...... فسنجد أنه لا يوجد فرق بين الحجم و الحجم على القرص حيث أن نظام لينوكس يسمح بمتابعة الكتابة فوق أي قطاع غير مكتمل .
نتيجة :الحجم : هو الحجم الحقيقي للملف
الحجم على القرص: هو حجم القطاعات التي يشغلها الملف أو يشغل جزءاً منها .
شرح وافي و كافي جهد يذكر و يشكر
ردحذف