إدارة الملفات
في البداية سوف يتم تعريف الملفات فالملفات هي عبارة عن مجموعة من البيانات التي تكون بينها علاقة، و تكون مخزنة بشكل أساسي.
أما إدارة الملفات فهي مهمة يقوم بها مدير الملفات"file manager " و هو عبارة عن مجموعة من البرمجيات تكون مسؤولة عن إنشاء الملفات، حذفها ، تعديلها و التحكم في العمليات التي تحدث للملفات – بمعنى أنها مسؤولة عن إدارة جميع الموارد التي تستخدم من قبل الملفات و من أهم هذه المسؤوليات و التي سنتناولها هي عملية تخزين الملفات و معرفة الطرق و السياسات المتبعة في ذلك.
تخزين الملفات : عملية التخزين عادة هي وجود البيانات على الذاكرة الثانوية ... و تكون هذه الذاكرة على شكل وحدات و كل وحدة تحمل موقع معين و تتسع لحجم معين من البيانات و تكون جميعها متساوية في الحجم ، أما المعلومات التي نحتاجها للتخزين فتكون مدرجة فيما يسمى جدول الملفات.
السياسات المتبعة في تخزين الملفات :
الطريقة الاولى: contiguous allocation و هي تخزين مجموعة من الملفات بحيث تكون البيانات المخزنة على الوحدات الموجودة في الذاكرة متراصة و يتم تخزينها واحدة تلو الأخرى، و جدير بالذكر أن ما يتم تخزينه هو البيانات و ليس اسم الملفات، و في هذه الطريقة يحتوي جدول البيانات على اسم الملف الذي يحتوي على بيانات المراد تخزينها و حجمها و ذلك لمعرفة كم وحدة سيستهلك كما يحتوي على الموقع الذي ستبدأ عملية التخزين فيه.
مثال: يحتوي جدول الملفات على: اسم الملف حجمه أول موقع يبدأ به أ 2 5 ب 3 2 ج 1 1
بعد عملية التخزين سيكون شكل الذاكرة : لنفرض أن طول الذاكرة 12 وحدة ج ب ب ب أ أ 0 1 2 3 4 5 6 7 8 9 10 11
ملاحظات: أ....... بيانات من الملف أ تبدأ من الموقع 5 و طولها وحدتان و نلاحظ أنهما متراصتان. ب....... بيانات من الملف ب تبدأ من الموقع 2و طولها 3 وحد. ج....... بيانات من الملف ج تبدأ من الموقع 1 و طولها وحدة واحدة.
حسنات هذه الطريقة : 1- تتسم بالبساطة. 2- السرعة في الاسترجاع و التخزين .
سيئاتها : 1- تسبب بما يسمى الفراغات الخارجية غير المستغلة"external fragmentation ". 2- صعوبة التوسيع أو التعديل على البيانات المخزنة و ذلك لأنه يتطلب إعادة ترتيب "HD" و هذا يحتاج إلى وقت كبير.
الطريقة الثانية: linked list يتم التخزين في هذه الطريقة اعتماداً على المؤشر" pointer" بحيث أن البيانات تحتل جزء من الوحدة في الذاكرة و يبقى الجزء الآخر للمؤشر حتى يؤشر على موقع الوحدة التي تحتوي على بقية بيانات هذا الملف، و هذا يعني أنه لا ضرورة بأن تكون البيانات متراصة يحتوي جدول الملفات في هذه الطريقة على اسم الملف و بدايته فقط.
مثال: يحتوي جدول الملفات على: اسم الملف بدايته أ 1 ب 4
بعد عملية التخزين سيكون شكل الذاكرة : لنفرض أن طول الذاكرة 8 وحد
3 أ -1 ب 7 أ 5 ب 2 ب -1 أ 0 1 2 3 4 5 6 7
ملاحظات : أ......بيانات الملف أ تبدأ من الموقع1 و الذي يحتوي على مؤشر يؤشر على موقع البيانات التالية له و نلاحظ انه يؤشر على الموقع 3 والموقع 3 يحتوي على مؤشر يؤشر على الموقع 7 و الموقع 7 يحتوي على مؤشر يؤشر على موقع غير موجود و هو -1 و هذا يعني أننا وصلنا إلى نهاية الملف أ . ب......بيانات الملف ب تبدأ من الموقع 4 و الذي يحتوي على مؤشر يؤشر على موقع البيانات التالية له و نلاحظ انه يؤشر على الموقع 5 والموقع 5 يحتوي على مؤشر يؤشر على الموقع 2 و الموقع 2 يحتوي على مؤشر يؤشر على موقع غير موجود و هو -1 و هذا يعني أننا وصلنا إلى نهاية الملف ب .
حسنات هذه الطريقة: 1- تم من خلالها حل مشكلة التوسيع أو التعديل على الملف و التي واجهتنا في الطريقة السابقة. 2- تم من خلالها أيضا حل مشكلة وجود الفراغات الخارجية غير المستغلة و التي أيضا واجهتنا في الطريقة السابقة. 3- تعتبر طريقة مرنة .
سيئاتها : 1- معقدة مقارنة مع الطريقة الأولى. 2- صعوبة عملية حذف آخر البيانات الموجودة في آخر وحدة بحيث أنه يحتاج إلى مؤشرين لإتمام هذه عملية حذفه مقارنة مع الطريقة السابقة حيث أننا فقط نحول طول الملف إلى منقوص منه واحد. 3- بطيئة في عملية البحث عن البيانات بحيث يجب قراءة جميع الوحدات للوصول إلى الوحدة التي تحتوي على البيانات المطلوبة. 4- وجود مساحة ضائعة في كل وحدة ... المساحة التي يحتلها المؤشر. 5- خطورة ضياع البيانات بسبب ضياع المؤشر .
الطريقة الثالثة : index .... الفهرس عملية التخزين في هذه الطريقة بأن تكون أول وحدة لأي ملف تحتوي على جميع مواقع الوحدات التي تحتوي على بيانات هذا الملف و بالتالي يكون جدول الملف يحتوي على اسم الملفات و بدايته.
مثال: يحتوي جدول الملفات على:
اسم الملف بدايته أ 1 ب 6
بعد عملية التخزين سيكون شكل الذاكرة : لنفرض أن طول الذاكرة 12 وحدة 3,4,7 2,8,9 0 1 2 3 4 5 6 7 8 9 10 11
ملاحظات : بيانات الملف ( أ ) موجودة في الوحدات التي تحمل المواقع 3,4,7 على الترتيب بيانات الملف ( ب ) موجودة في الوحدات التي تحمل المواقع 2,8,9 على الترتيب
حسنات هذه الطريقة : 1- تم من خلالها حل مشكلة ضياع مساحة من الوحدة للمؤشر و التي كانت موجودة في الطريقة السابقة. 2- تتمتع بمرونة عالية.... بحيث يمكن إضافة أي موقع و التعديل على الملفات بحيث يكون التغيير فقط في ترتيب الفهرس..... على سبيل المثال إذا أردنا إضافة بيانات على الملف ( أ ) بعد البيانات الموجودة في الموقع 4 فقط نضيف على الفهرس رقم الموقع 2 بحيث يصبح (3,4,2,7) 3- سهولة في عملية حذف الملفات .... بحيث يتم حذف البيانات المطلوبة بحذف موقعها من الفهرس فعلى سبيل المثال أردنا حذف البيانات الموجودة على الوحدة ذات الموقع 4 .... فتكون الوحدة التي تحتوي على الفهرس أصبحت (3,2,7).
سيئاتها: 1- في حال ضياع الفهرس يسبب خسارة جميع البيانات . 2- الفهرس موجود على وحدة واحدة فقط و سبق و قد ذكرنا أن الوحدة لها حجم معين و هذا يعني أنها تتسع لعدد محدود من المواقع و هذا يسبب حصر حجم الملف
و يتم حل المشكلة في .....
الطريقة الرابعة: فهرس الفهرس "index-index" عملية التخزين في هذه الطريقة بنفس آلية طريقة الفهرس و لكنها تختلف في أن أول وحدة تحتوي على مواقع و كل موقع من هذه المواقع تحتوي أيضاً على فهرس آخر يحتوي على مواقع تحتوي بيانات ملف أو تحتوي على فهارس أخرى. في هذه الطريقة يحتوي جدول الملفات على اسم الملف " البيانات" و بدايته.
مثال: يحتوي جدول الملفات على: اسم الملف بدايته أ 2
بعد عملية التخزين سيكون شكل الذاكرة : لنفرض أن طول الذاكرة 14 وحدة 3,9,10 11,5,8 1,7,4 12,13 0 1 2 3 4 5 6 7 8 9 10 11 12 13
حسنات هذه الطريقة : تم من خلالها حل مشكلة حصر الملف التي لاحظناها في طريقة الفهرس
سيئاتها : معقدة بعض الشيء خاصة في عملية البحث عن بيانات ملف من الملفات .
الطريقة الخامسة و الأخيرة : "FAT" …. file allocation table
تقوم هذه الطريقة على وجود جدول إضافي .... يحتوي هذا الجدول على مواقع للوحدات الموجودة على الذاكرة بحيث يحمل كل موقع من هذا الجدول الإضافي الموقع التالي في الذاكرة الذي يحتوي على بيانات الملف.
يحتوي جدول الملفات في هذه الطريقة على اسم الملف و بدايته .
مثال: يحتوي جدول الملفات على: اسم الملف بدايته أ 5
يكون شكل الجدول الإضافي: 7 6 4 8 -1 0 1 2 3 4 5 6 7 8 9 10 11
أ3 أ1 أ2 أ4 أ5 0 1 2 3 4 5 6 7 8 9 10 11
بعد عملية التخزين سيكون شكل الذاكرة : لنفرض أن طول الذاكرة 12 وحدة
في هذه الطريقة يمكن إنشاء ملفات. و يمكن حذفها و يمكن توسيعها....