الجمعة، فبراير 19، 2010

عملية القراءة والكتابة والحذف على القرص الصلب Hard Drive


كيف تتم عمليات تخزين البيانات على القرص الصلب؟ وما هي الديناميكية التي تتم للقيام بهذه المهمة؟
وكيف يتم حذف البيانات ؟ بل ولماذا يمكن اعادة البيانات المحذوفة من على القرص؟
مقال يلخص هذه العملية ويشرح بعض من الأمثلة المبسطه للتوضيح
القراءة والكتابة والحذف:
يتم تخزين البيانات على سطح القرص على شكل شحنات كهرومغناطيسية وتختلف قيمة هذه الشحنات لتعبر عن البيانات المختلفة.
وتقوم الابره المغناطيسية والتي تسمى برأس القراءة والكتابة بعمليتي الكتابة والقراءة.
الكتابة: وهي مغنطة سطح القرص بشحنه كهرومغناطيسية ذات قيمه معينه.. وتتحكم الدوائر الالكترونية الموجودة في اللوحة الالكترونية المطبوعة المثبتة بجسم محرك الأقراص الصلبه بهذه العملية, من حيث تحديد المكان الذي سيتم الكتابة عليه وقيمة الشحنة الخاصة بكل بيان.
القراءة: هي قراءة الابره لقيمة الشحنة الكهرومغناطيسية وتقوم الدوائر الالكترونية مره أخرى بترجمة هذه الشحنة وتحويلها إلى بيانات.
مراحل القراءة والكتابة:
عملية الكتابة تمر بالمراحل التالية:
- يصدر المعالج أوامره لمحرك الأقراص الصلبه بتخزين بيانات معينه.
- يستقبل المحرك هذه البيانات عبر البينية المتصل بها مع اللوحة الأم سواء كانت EIDE) أو SCS.).
- يبحث محرك الأقراص في جدول الملفات عن أماكن خاليه.
- يوجه الابره إلى المكان الخالي ويعطيها البيانات على شكل شحنات كهرومغناطيسية.
- تقوم الابره بكتابة (مغنطة سطح القرص) هذه البيانات بنفس التوالي الذي استقبلته من دوائر القرص الالكترونية.
عملية القراءة:
- عندما يطلب المعالج بيانات مخزنه بالفعل على القرص الصلب, فان القرص يبحث في جدول الملفات عن هذه البيانات وعنوانها على سطح القرص. (العنوان كما سبق وذكرنا يتضمن رقم الاسطوانة والرأس والقطاع CHS).
- يوجه محرك الأقراص الابره إلى مكان البيانات لتقوم بالقراءة.
- تتم القراءة (بقراءة قيم الشحنات الكهرومغناطيسية وإرسالها إلى الدوائر الالكترونية الخاصة بمحرك الأقراص لترجمتها وإرسالها للمعالج).
هناك أيضا عمليه ثالثه تتعلق بالقراءة والكتابة وهي عملية الحذف:
- عند قيام المستخدم بحذف ملف معين من على القرص الصلب فان المعالج يصدر أمر الحذف إلى محرك الأقراص الصلبه.
- يقوم محرك الأقراص بتنفيذ أمر الحذف.
- الخطوة المنطقية التالية هي توجه الابره إلى مكان البيانات وحذفها بإزالة الشحنات الكهرومغناطيسية التي تعبر عن البيانات, ولكن...
وجد مصممو الأقراص أن توجيه الابره إلى مكان البيانات (لمسح) الشحنات الكهرومغناطيسية تمثل عبئا إضافيا على المحرك كما تمثل إهدارا للوقت, لذا فقد تم إتباع الطريقة التالية:
- يقوم المحرك بتعيين مكان البيانات في جدول الملفات ثم يعرف الجدول بان هذا المكان (أصبح) خاليا... وبالتالي عند تنفيذ أمر كتابه فانه من الممكن الكتابة في هذا المكان (فوق البيانات السابقة).
بمعنى آخر: عند حذف الملفات من على القرص الصلب فانه يتم حذفها (وهميا) بحيث تظل البيانات موجودة بينما لا يمكن للحاسب التعرف عليها.
ومن هنا ظهرت برامج (استرجاع البيانات بعد حذفها) والتي تقوم بتوجيه الابره لقراءة (الأماكن الخالية) وترجمة الشحنات الموجودة عليها لمعرفة ما إذا كان هناك بيانات (سليمة) يمكن استعادتها أم لا.
ونظريا: فانه باستطاعتك استعادة جميع البيانات المحذوفة ما لم يتم كتابة بيانات أخرى على سطح القرص.
ولهذا السبب أيضا ظهرت برامج (مسح) البيانات نهائيا مثل برنامج Erase الشهير.. ووظيفة لبرنامج توجيه الابره (لإزالة) الشحنات الموجودة على سطح القرص لمسحها نهائيا. وهذا النوع من البرامج يستخدم بكثرة في الجهات الأمنية لمنع إمكانية استعادة ملفات حساسة تم حذفها.
تخزين البيانات على القرص:
تخزين البيانات على القرص أشبه بتخزين الكتب في المكتبة, فلو أخذنا المثال السابق سنجد أن المكتبة مقسمه إلى عدة أجزاء وكل جزء يحوي عدة أرفف(رفوف).
وكذلك القرص الصلب فهو مقسم لعدة كلسترات وكل كلستر Cluster يحوي عدد معين من القطاعات...
وعند التخزين يجب ملاحظة أنه لا يجوز تخزين ملف جديد في كلستر قديم أو (عند تخزين ملف فانه لا يتم التخزين إلا في كلستر فارغ تماما) فإذا امتلأ الكلستر يتم تخزين باقي الملف في الكلستر الذي يليه وهكذا...
وقبل التخزين يقوم القرص بتحديد مكان التخزين في جدول الملفات وتوجيه الابره لهذا المكان.
وبسبب القاعدة السابقة (وجوب التخزين في كلستر فارغ تماما) فانه أصبح لدينا الكثير من المساحة المهدوره..
المساحة المهدورة Waste Space:
عندما يتم إصدار الأمر إلى القرص الصلب بتخزين ملف تذهب إبرة الكتابة إلى جدول الملفات FAT للبحث عن قطاع (فارغ) ليس به أي ملفات لتقوم بتسجيل الملف المطلوب وإذا امتلأ القطاع تذهب إلى القطاع الذي يليه وهكذا, (يجب أن نعرف أن الوحدة القياسية للتخزين هي الكلستر) أي انه لابد أن يكون الكلستر فارغ تماما.
مثلا لو أردنا تخزين ملف حجمه 60 كيلوبايت في كلستر حجمه 80 كيلوبايت فهذا يعني انه يوجد 20 كيلوبايت مهدره.
لهذا فانه عمليا لا يمكن تخزين 10 جيجابايت على قرص صلب له نفس المساحة إلا لو كانت البيانات عبارة عن ملف واحد وهذا صعب جدا عمليا أيضا.
مثال توضيحي آخر على المساحة المهدوره: لديك 5 ونصف لتر من العصير وتود إفراغها في أكواب سعة كل منها لتر واحد أنت إذا سوف تستخدم ستة أكواب الأخير منها سوف يمتليء حتى منتصفه فقط. كرر هذه العملية بدون استخدام أكواب مملوءة من قبل ستجد انك استخدمت عدد اكبر من الأكواب المعادلة للحجم الكلي للعصير, (ستجد مثلا كوب مملوء حتى المنتصف وآخر حتى ربعه و.. )..
*** ماذا لو استخدمنا أكواب ذات سعه أقل (نصف لتر أو ربع لتر)؟؟
بالطبع سيقل عدد الأكواب المهدوره!!!
ومن هنا ظهر نظام FAT 32, NTFS ونظام NTFS هو اختصار لكلمة New Technology File System والذي يعتمد على تصغير حجم الكلستر لتقليل المساحة المهدوره.