إدارة الملفات
في البداية سوف يتم تعريف الملفات فالملفات هي عبارة عن مجموعة من البيانات التي تكون بينها علاقة، وتكون مخزنة بشكل أساسي.
أما إدارة الملفات فهي مهمة يقوم بها مدير الملفات"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 وحدة
في هذه الطريقة يمكن إنشاء ملفات. ويمكن حذفها ويمكن توسيعها....