ملحوظة:-
لا نحتاج بيانات علوية إضافية(metadata) إلا بعد الحجز المتوسع التالي.
الطريقة الثانية من طرق الحجز هي الحجز المترابط:- Linked Allocation) )
في الحجز المرتبط كل ملف هو قائمه مرتبطة (linked list) من وحدات التخزين (Disk blocks) لكنها ليست متتابعة فعلياً في وحده التخزين وإنما بأماكن متفرقة.
وفيه يوجد دليل يحتوي على مؤشر لأول (واختياري آخر) وحدة من الملف وقيمة المؤشر الابتدائية تكون عديمة (null) وهي تكون لآخر طرف (node)في القائمة.
وتعتمد الكتابة على الملف في هذه الطريقة من الحجز على الكتابة في أول وحدة (block) فارغة بحيث تُربط هذه الوحدة الجديدة بالقائمة (linked list)فيما بعد.
ولقراءة الملف فإن المؤشر يتنقل بين الوحدات(blocks) من وحدة لأخرى .
ومما يميز هذه الطريقة هو انه لا يوجد مشكلة التجزئة الخارجية(external fragmentation ) ,فأي وحدة(block) فارغة يمكن أن تستخدم ,وكما انه يتميز عن الطريقة الأولى في انه لا يحتاج معرفه حجم معين للملف قبل إنشائه فالملف يمكن أن ينمو على قدر ما يوجد وحدات فارغة (blocks).
لكن سلبية الحجز المرتبط تكمن في انه غير فعّال للعبور(access) المباشر أو للعبور العشوائي فهو فعّال فقط بالعبور(access) التسلسلي ,فلو أردنا وحدة معينه على سبيل المثال فانه سيضطر إلى المرور على كل الملفات من البداية للنهاية وهذا مكلف للوقت فهو يتطلب قراءه وحدة التخزين ,ولا نغفل أن نذكر السلبية الأخرى إلا وهي انه لا يمكن الوثوق به و الاعتماد عليه(reliability) لان الملفات مرتبطة بعضها البعض عن طريق مؤشرات فلو حدث خطأ ما وفقدنا مؤشر(pointer) فهذا الخطأ يؤدي بنا إلى أن يكون مؤشر الملف المتضرر يؤشر على مكان فارغ أو على ملف آخر.
الجدير بالذكر أن هناك تغير طرأ على الحجز المرتبط باستخدام جدول حجز الملفات(File-Allocation Table) حيث انه في بداية كل حيّز (volume) يوضع بالجدول بدايات كل الوحدات(blocks) عن طريق رقمها(أي الوحدة) حيث ان هذه البدايات مرتبطة في الجدول بعضها البعض كالسلسلة.
كما هو موضح بهذا الرسم:-
وأخيرا الطريقة الثالثة وهي الحجز المفهرس:- (Indexed Allocation)
طريقة الحجز المفهرس حل للمشكلتين السابقتين بحيث توضع جميع المؤشرات مع بعضها البعض في وحدة واحدة (block) وتسمى الفهرس (index)
بحيث أن كل ملف له فهرس لوحدة التخزين الخاصة فيه والتي تؤشر على قطاع معين في قرص التخزين
ولقراءة القطاع رقم س من الملف, فالمؤشر عند رقم س في الفهرس ليجد القطاع المطلوب
ومما يميز هذا النوع هو انه يدعم الدخول المباشر(direct access) للوحدة المطلوبة ,بدون عناء التجزؤ الخارجي(external fragmentation) فأي مكان فارغ على القرص الصلب يمكن أن يوضع فيه ملفات يدلنا على مكانها الفهرس
ولكنها طريقة غير فعّالة إذا كان هناك ملفات قليلة.
كما هو موضح بهذا الرسم:-
وهذا عرض تقديمي قمت بتصميمه لتبسيط الطريقتين الاوائل ...
وقد بحثت في google فوجدت سلسله من المحاضرات بالفيديو لكل المنهج قد تساعد على الفهم
على الرابط التالي:-
http://video.google.com/videoplay?docid=-8616006455995629880&q=allocation+methods&total=9&start=0&num=10&so=0&type=search&plindex=2
المراجع
http://filesystems.palconit.com/filesystems-file-allocation-methods.html
http://www.people.fas.harvard.edu/~lib215/lectures/lect_p/lect04/6_Extras/bar_fs/index3.htm
كتبته
سماح المطلق
Comments (2)
Anonymous said
at 5:41 am on Dec 16, 2007
ماشاء الله بذلتي جهد وان شاء الله تنالي بالتوفيق لك
Anonymous said
at 12:28 pm on Dec 16, 2007
الموضوع جميل والاسلوب بسيط
صراحة يستاهل
You don't have permission to comment on this page.