LogFS
LogFS هو نظام ملفات فلاش قابل للتوسع وذو بنية سجلاتية لنظام لينكس ، مصمم للاستخدام على أجهزة ذاكرة فلاش كبيرة . كتبه يورن إنجل [ 1 ] وبرعاية جزئية من منتدى CE Linux .
تم إدخال LogFS في نواة لينكس الرئيسية في الإصدار 2.6.34، الذي صدر في 16 مايو 2010. وتمت إزالته من قاعدة التعليمات البرمجية خلال فترة دمج الإصدار 4.10، في ديسمبر 2016، لأنه "لم تتم صيانته لسنوات ويبدو أنه غير مستخدم". [ 2 ]
تاريخ
اعتبارًا من نوفمبر 2008 ، كان LogFS ناضجًا بما يكفي لاجتياز مجموعة الاختبارات الكاملة الخاصة به، وتم تضمينه لاحقًا في نواة لينكس الرئيسية، وتم تصنيفه على أنه "تجريبي"، في الإصدار 2.6.34 الذي تم إصداره في 16 مايو 2010. ومع ذلك، لم يجذب قاعدة مستخدمين كبيرة وتمت إزالته من النواة في ديسمبر 2016.
عملية
استُلهم نظام LogFS من صعوبات نظام JFFS2 مع محركات الأقراص ذات الذاكرة الفلاشية الكبيرة. يخزن LogFS شجرة inode على القرص، بينما لا يفعل JFFS2 ذلك، مما يتطلب منه مسح القرص بالكامل عند التحميل وتخزين الشجرة كاملةً في ذاكرة الوصول العشوائي (RAM). بالنسبة لمحركات الأقراص الكبيرة، قد يستغرق المسح عشرات الثواني، وقد تشغل الشجرة حيزًا كبيرًا من الذاكرة الرئيسية. يتجنب LogFS هذه التكاليف الإضافية، ولكنه يُجري عمليات أكثر أثناء تشغيل النظام ويستخدم جزءًا من مساحة القرص لتخزين شجرة inode.
يخزن نظام LogFS شجرة inodes الخاصة بالملف على القرص، مما يعني أنه عند الكتابة إلى الملف، يجب إعادة كتابة كل عقدة سلف في الشجرة. يتم ذلك من خلال تحديث "الشجرة المتجولة". تُكتب العقدة الأدنى في الشجرة (أي البيانات) أولاً، ثم تُكتب كل عقدة صعودًا في الشجرة، حتى يتم تحديث عقدة الجذر. تضمن كتابة الجذر أخيرًا ذرية التحديث.
وحدة الذاكرة الفلاشية هي وحدة المسح، وعادةً ما تكون أكبر من وحدة نظام الملفات. يتعامل نظام LogFS مع هذا التفاوت بتجميع وحدات نظام الملفات المتعددة في وحدة ذاكرة فلاشية واحدة. يسجل إدخال "المجموع" في نهاية وحدة الذاكرة الفلاشية البيانات المخزنة فيها. عند نقل أو حذف جميع وحدات نظام الملفات من وحدة الذاكرة الفلاشية، يمكن مسحها واستخدامها لبيانات جديدة.
لتحقيق الاستخدام الأمثل لمحرك ذاكرة الفلاش، من الضروري ضغط البيانات بحيث تمتلئ كتل ذاكرة الفلاش بالبيانات المفيدة. ويتم ذلك من خلال عملية جمع البيانات المهملة . تعتمد استراتيجية جمع البيانات المهملة في LogFS على وضع بيانات الملفات بطريقة محددة في كتل ذاكرة الفلاش: حيث تحتوي كل كتلة ذاكرة فلاش على بيانات الملفات من نفس المستوى في شجرة inode فقط. يستطيع LogFS جمع البيانات المهملة من المستوى الأعلى في الشجرة باستخدام كتلة ذاكرة فلاش فارغة واحدة فقط. كما يستطيع جمع البيانات المهملة من المستويين الأولين باستخدام كتلتين فارغتين. ويمكنه جمع البيانات المهملة من جميع مستويات الشجرة (عدد N) باستخدام N كتلة ذاكرة فلاش فارغة. يستغرق تنفيذ الخوارزمية وقتًا أُسّيًا في أسوأ الحالات، ولكن هذه الحالات نادرة، ولا تتطلب الخوارزمية سوى حجز عدد قليل من كتل ذاكرة الفلاش.
انظر أيضاً
مراجع
- ↑ يورن إنجل؛ روبرت ميرتنز (18-09-2005). "LogFS - نظام ملفات فلاش قابل للتوسع أخيرًا" (PDF) .
{{cite journal}}يتطلب الاستشهاد بالمجلة ( مساعدة )|journal= - ↑ جوناثان كوربيت (21-12-2016). "4.10 نافذة الدمج الجزء 2" . تم الاطلاع عليه بتاريخ 2-06-2020 .
تمت إزالة نظام ملفات logfs، الذي لم تتم صيانته لسنوات ويبدو أنه غير مستخدم، من النواة.
روابط خارجية
- logfs.org/logfs/ على موقع Wayback Machine (تمت أرشفته في 2010-06-16)
- مقدمة إلى نظام ملفات LogFS (فيديو)
- أنظمة ملفات القرص
- لينكس المدمج
- أنظمة ملفات الفلاش
- أنظمة ملفات الفلاش التي يدعمها نواة لينكس
