اقسام الموقع

شرح آلية تخزين البيانات علي القرص الصلب Hard Disk


كما يعلم أغلب المستخدمين فإن كل التعاملات تتم داخل الحاسب بالنظام الثنائي “Binary System” والذي يعتمد علي الصفر والواحد الصحيح كمكون اساسي له. حيث يعتبر الصفر حقل ليس له قيمه اما الواحد هو حقل له قيمة.

وسنفترض ان لدينا قرص صلب فارغ تماما ولا يوجد عليه أي محتوي (أي ان القرص كاملا لا يحتوي الا علي اصفار). وسنقوم بكتابة صورة صغيرة علي هذا القرص وسيكون اسم الصورة “Personal.jpg”، فان الحاسب الآلي سيقوم بتحويل الصورة الي الصيغة الثنائية “Binary” ولنفترض انه سيكون بالشكل التالي:

HDD

ويمكننا تمثيل شكل القرص الصلب افتراضيا بمصفوفة ثنائية التكوين لها 26 عمود بعدد الحروف الانجليزية من A الي Z ولها ثمانية اسطر فقط كما هو موضح بالشكل التالي (القرص الصلب فارغا)

HDD01

والمساحة الموجودة في السطرين الاول والثاني والمسبوقة بـ TOC “Table Of Content” انما تحتوي علي فهرس القرص الصلب وهو عبارة عن مؤشر للملفات المخزنة حيث تحفظ بداية ونهاية الملف. وتبقي المساحة في الاسطر من الثالث الي الثامن مساحة حرة لتخزين البيانات ولو اعتبرنا ان كل خانة تمثل بايت واحد فقط “1 Byte” ستكون مساحة القرص الصلب لدينا 6×26=156 بايت.
وبعد تخزين الصورة السابق الاشارة اليها والتي يكون حجمها حسب المثال السابق 40 بايت (عدد الخانات كل خانة = 1 بايت) ستصبح مساحة التخزين الحرة في القرص الصلب = 156-40=116 بايت. وسيتم كتابة البيانات كالتالي:

HDD02

وبذلك تم ارشفة بيانات الصورة في TOC باسم الصورة ونقطة البداية ونقطة النهاية في المساحة الحرة. فبحسب المثال سنجد ان الصورة تم تخزينها في المساحة من A3 الي N4.

والسؤال هنا: ماذا سيحدث اذا لم تتوافر مساحة حرة مستمرة في القرص الصلب كما في المثال السابق؟

ولنفترض بحسب المثال السابق ان هناك ملف نصي باسم “Hi.txt” والقيمة الثنائية له كالتالي 011010100111

والان لنضيف هذا الملف الي القرص الافتراضي لدينا

ستضاف البيانات الي المساحة الحرة التالية للمساحة المحجوزة للصورة حيث سيضاف اسم الملف الي TOC متبوعا بمكان بداية البيانات ونهايتها حيث يبدأ في O4 وينتهي Z4 كما بالجدول التالي علي اعتبار ان التخزين تم علي نظام الـFAT الخاص بالويندوز

HDD03

وبالتالي لا توجد لدينا مشكلة حتي الان. الا ان المشكلة تأتي في حالة التعديل علي الصورة واضافة تأثيرات لها وبالتالي يزيد حجمها قليلا وبالتالي يكون السؤال كيف سيتم تخزينها بعد ان تم حجز المساحة الحرة التي تليها للملف النصي Hi.TXT.

وهنا يظهر لدينا احتمالين:

1- أن يتم حذف الصورة الأولي وإعادة كتابتها كاملة مرة اخري بعد نهاية الملف النصي الثاني، ولكن الأمر هنا سيتضمن الكثير من عمليات القراءة والكتابة.

2-أن يتم تجزئة الصورة الأولي بحيث تصبح البيانات في مكانين مختلفين وان كان هذا الأمر سيبطىء من عملية الوصول المتتالي للبيانات.

فعند التعديل علي الصورة بالطريقة الأولي تم حذف الصورة كاملة واعادة كتابتها بعد الملف النصي وتم تغيير مكان بداية ونهاية الملف في TOC فقط ليصبح شكل القرص الصلب كالتالي:

HDD04

أماعند التعديل علي الصورة بالطريقة الثانية سيتم اضافة الجزء الزائد في البيانات بعد الملف النصي وسوف يتم تعديل مكان البداية والنهاية باضافة مكان بداية ثاني ومكان نهاية ثاني الي TOC الخاص بالصورة ليصبح شكل القرص الصلب كالتالي:

HDD05

ومع الطريقة الثانية تظهر ضرورة عمل الغاء التجزئة للقرص الصلب “Disk Defragmentation” كل فترة لإعادة توزيع البيانات بالشكل الأمثل وتسهيل الوصول اليها للتخفيف من حركة الذراع الميكانيكية للقرص الصلب.

ولكن هناك بعض أنظمة الملفات الاخري التي تراعي هذه المشكلة عند تخزين البيانات فمثلا نظام EXT4 الخاص باللينكس. والان لنري كيف سيتم كتابة الملفين علي القرص الصلب تبعا لهذا النظام.

كتابة الصورة الاولي:

HDD06

وعند كتابة الملف النصي التالي يتم كالتالي:

HDD07

ان الفكرة في هذه الطريقة في أن ذراع القرص الصلب ستتوضع في المنتصف وستصل بسرعة لمعظم الملفات دون جهد. كما أن اعادة التعديل علي الصورة لن تصبح أمرا صعبا بعد الآن.

اتمني ان اكون قد وفقت في نقل الفكرة وفي انتظار استفساراتكم للرد عليها ان شاء الله.