من BFS إلى ZFS: ماضي وحاضر ومستقبل أنظمة الملفات -الجزء الأول

نشره زايد في
صورة لنظام الملفات

بواسطة Jeremy Reimer ترجمة : زاهر النوتكي
لماذا نهتم بأنظمة الملفات؟ يمكن أن يصدر تأييد لمنصة حاسوب ما في أغرب الأماكن تتوقعها ، ففي مقابلة أجريت في مؤتمر عقد في استراليا ، وضع مؤسس نظام لينكس لينوس تورفالدس مجتمع ماكنتوش في وضع حرج عندما وصف نظام ملفات ماكنتوش أو أس أكس (Mac OS X) بأنها "فضلات بشكل كامل ومطلق ، وهو أمر مخيف".


ماذا عنى بكلامه؟ وما هو المقصود بعبارة "نظام الملفات" على أية حال؟ ولماذا نهتم بأن نظام ما أفضل من الأنظمة الأخرى؟ قد يبدو للوهلة الأولى بأن أنظمة الملفات عبارة عن أداة تقنية مملة لن تؤثر بحياتنا بصورة مباشرة ، ولكن في الواقع ، فإن نظام الملفات المتواضع يملك تأثيرا مباشرا على كيفية استخدامنا وتفاعلنا مع أجهزة الحاسوب.


ستبدأ هذه المقالة بتعريف نظام الملفات وماهية عملها. بعد ذلك سنأخذ نظرة للوراء في تاريخ كيفية ظهور هذه الأنظمة وسبب ابتكار أنظمة جديدة. وأخيرا سوف نأخذ لمحة موجزة في دوامة برنامجنا الزمني لنرى كيف يمكن لأنظمة الملفات أن تتغير في المستقبل. سنبدأ بالاطلاع على أنظمة الملفات في الماضي وبعد ذلك سنعرج على الأنظمة المستخدمة من قبل أنظمة التشغيل المفردة قبل الغوص في خبايا المستقبل لنطلع على ما يحمله لنا في هذا المجال.


ماذا هو نظام الملفات؟؟ بصورة مختصرة ، نظام الملفات هو طريقة محددة بوضوح يستخدمها نظام تشغيل الحاسوب لتخزين ، و أرشفة واسترجاع الملفات. الملفات هي الأساس لكل شيء نستخدم الحاسوب لأجله : فجميع التطبيقات و الصور و الأفلام و المستندات ما هي إلا ملفات ، و هي بحاجة إلى أن تخزن في مكان ما . وهذا المكان لأغلب الحواسيب هو القرص الصلب مع إمكانية تخزين الملفات في وسائط أخرى مثل: أقراص فلاش ، والأقراص المدمجة وأقراص الفيديو الرقمية أو حتى أشرطة الأنظمة الاحتياطية.


الملفات بحاجة إلى نظم تتبع ليس فقط للبيانات المكونة للملف نفسه و مكان تخزينها على القرص الصلب ، وإنما أيضا لتخزين معلومات حول الملف. وأهم شيء يجب أن يخزن هو أسم الملف ، فبدون الاسم سيكون من المستحيل تقريبا على البشر أن يعثروا على الملف مرة أخرى. كذلك ، فان نظام الملفات يحتاج لمعرفة كيفية تنظيم الملفات في تسلسل هرمي ، ومرة أخرى من أجل أولئك البشر المزعجين. وعادة ما يطلق على هذا التسلسل الهرمي بالمجلد. وآخر شيء يمكن أن تقلق عليه في نظم الملفات هو البيانات الوصفية.


البيانات الوصفية تعني البيانات الوصفية metadata حرفيا "بيانات عن بيانات" وهو بالضبط ما يقصد بها، قد تبدو البيانات الوصفية حديثة وعصرية نسبيا ، ولكن كل أنظمة الملفات كانت ومنذ بداية نشأتها تقوم بتخزين بعض البيانات الوصفية جنبا إلى جنب مع الملف واسمه. أحد أهم جزئية من البيانات الوصفية هو تاريخ تعديل الملف ، وهذه الجزئية لا تعتبر ضرورية للحاسوب ولكن مرة أخرى تعتبر مهمة بالنسبة لأولئك البشر ليكونوا على يقين من أنهم يعملون على أحدث نسخة من الملف. أما الجزء الذي يعتبر غير مهم من البيانات الوصفية بالنسبة للبشر ولكن يعتبر من الأهمية بمكان لأجهزة الحاسوب هو موضع أو موقع (مواقع ) الملف على جهاز التخزين.


أمثلة أخرى للبيانات الوصفية تشمل خصائص الملف مثل خاصية الإخفاء أو للقراءة فقط ، حيث من خلالها يقرر نظام التشغيل طريقة عرض الملف ومن يملك صلاحية التعديل عليه. تخزن أنظمة التشغيل متعددة المستخدمين صلاحيات المستخدمين على شكل بيانات وصفية (metadata).


وحديثا أصبحت أنظمة الملفات مهوسة بالبيانات الوصفية ، بإضافة كل أنواع السمات المجنونة التي يمكن أن توصف بها أنواع الملفات الفردية: أسم الألبوم والفنان للملفات الصوتية ، أو العلامات للصور حتى تسهل عملية تصنيفهن في وقت لاحق.


ميزات متقدمة في أنظمة الملفات مع وصول أنظمة الملفات لمرحة النضج ، تم إضافة الكثير والكثير من التحسينات ألى أنظمة ملفاتهن. المزيد من الخيارات ضمن البيانات الوصفية هو أحد هذه التحسينات ، ولكن هناك تحسينات أخرى مثل القدرة على فهرسة الملفات لسرعة الوصول إليهن ، وابتكار تصاميم جديدة لتخزين الملفات لتقليل التجزئة وإمكانية تصحيح الأخطاء بصورة أفضل. أحد أهم وأكبر أوجه التقدم في أنظمة الملفات هو إضافة التسجيلات حيث يحتفظ بسجل للتغييرات التي يرغب الحاسوب في القيام بها لكل ملف. ويعني هذا أنه في حالة توقف نظام التشغيل أو انقطاع مصدر الطاقة في منتصف عملية معالجة ملف ما ، يستطيع النظام فحص سجل التغييرات ويقوم بإنهاء العملية أو التخلي عنها بسرعة دون التسبب بتلف الملف. وهذا يجعل من إعادة التشغيل أسرع بكثير حيث لا يحتاج النظام إلى مسح كامل لنظام الملفات لمعرفة ما إذا كان هناك ملف خارج عن التزامن أم لا .


نظم ملفات جوارسك (Jurassic) في الأيام الأولى للحواسيب وعندما كانت الداينوصورات تجوب بحرية وكانت شركة أي بي أم IBM تعتلي الأرض مثل العملاق ، ولدت أنظمة الملفات. وفي ذاك الوقت كانت نادرا ما يطلق عليها أسماء لأنها كانت ببساطة تعتبر في ذلك الوقت السحيق جزءا من نظام التشغيل المشغل للحاسوب، وفي تلك الأيام ، كانت أنظمة التشغيل نفسها جديدة ومبهرجة. و أحد أوئل نظم الملفات الذي حصل على اسم هو DECTape ، والذي يحمل اسم الشركة المنتجة (Digital Equipment Corporation شركة المعدات الرقمية) والجزء المادي التي تخزن عليها الملفات (أجهزة التسجيل العملاقة ذو البكرات التي التي نشاهدها كثيرا في أفلام الستينيات). كانت تعمل هذه الأشرطة مثل محرك أقراص بطيء جدا ، ومن الممكن أن تدير نظام التشغيل كاملا عليها لو كنت يائسا بما فيه الكفاية.
يمكن أن يخزن قرص DECTape بصورة مذهلة 184 كيلوبايت (كيلو وليس ميجا) من البيانات لكل قرص على PDP-8 ، الحاسبات المتوسطة الشهيرة التابعة لـ DEC في تلك الحقبة. وكان يطلق عليها بالحاسبات المتوسطة برغم أنها في حجم الثلاجة إلا أنها أصغر من الحواسيب الضخمة لشركة IBM والتي كانت تشغل مساحة غرف كاملة. بطبيعة الحال، سمح اختراع الترانزستور والدوائر المتكاملة (أو رقاقة السيليكون) لجولة أخرى من تصغير حجم الأجهزة. بدأت شركة DEC بالانقراض شيئا فشيئا في حين أن بقية العالم انتقل إلى الحواسب الصغيرة (microcomputers) أو ما يسميها معظمنا بالحواسيب. (وبأعجوبة تمكنت شركة IBM من الصمود لكن لا أحد يستطيع الجزم كيف )


نظام CP/M اخترع غاري كيلدال نظام CP/M عام 1973م بسبب كسله. حيث كانت وظيفته تتمثل ببرمجة بعض الحواسيب العملاقة، ولم يشأ أن يذهب للعمل كل يوم. لذلك فقد كتب برنامج أطلق عليه "برنامج التحكم للحواسيب الصغيرة" والتي تخوله أن يخزن ملفات ويشغل برامج من محرك أقراص مرنة ذات 8 بوصات من شركة شوجارت (Shugart ) على حاسبه الصغير في منزله.
كان لـCP/M نظام ملفات ، ولكن لم يكن يحمل اسما. وإن كان لابد أن يطلق عليه شيء فسيكون "نظام ملفات CP/M". كان تصميمه بسيطا للغاية ، وكان ذلك بسبب احتياجات غاري البسيطة. كان يخزن الملفات بشكل هرمي سطحي دون وجود أي مجلدات. أسماء الملفات كانت محصورة بثمانية أحرف مع ثلاثة أحرف إضافية تمثل "لاحقة الملف" والتي تحدد بدورها نوع الملف. وكان هذا معقول تماما لأنه هو نفس الحد المستخدم على حاسوب كيلدال الكبير.


وسرعان ما أصبح غاري كيلدال والشركة التي أسسها (Intergalactic Digital Research) لتسويق CP/M أغنياء جدا. وكان قد تبين أن الكثير من شركات الحاسوب المصغر في حاجة لنظام تشغيلي ، وغاري قد صممه بطريقة فصل فيها كل بيانات الحاسوب (BIOS) من بقية نظام التشغيل. وكان هذا نتيجة الكسل أيضا حيث لم يرغب المصمم من إعادة كتابة الشفرة لكل حاسوب على حده. المغزى من هذه القصة هو كونك كسولا في بعض الأحيان يمكن أن يكون عملا ذكيا بصورة مذهلة.


ومما يؤسف لغاري كيلدال أنه ظهر أناس حصلوا على نفس الفكرة وفي وقت قريب. حيث كان هناك مبرمج يدعى تيم باترسون كتب نظامه التشغيلي الخاص به وأسماه "QDOS" اختصارا لنظام تشغيلي سريع وقذر(Quick and Dirty Operating System). حيث كانت نسخة سريعة وقذرة من كل شيء في نظام CP/M لحاجته لنظام تشغيلي لشغله على جهاز حاسوب الجديد و المبهر ذو 16بت ،حيث أن غاري لم يزعج نفسه بكتابة نسخة 16-bit من CP/M بعد. (هنا حيث يكون كسلك مضرا لك). كان نظام ملفات QDOS مختلف قليلا عن نظام ملفات CP/M ، على الرغم من انه قام بنفس عمله ولم يكن يحتوي على أدلة أيضا. كان نظام ملفات باترسون قائم على برنامج لشركة مايكروسوفت في عام 1977م المسمى بـMicrosoft Disk Basic والذي كان أساسا نسخة من Basic والتي يمكن أن تكتب ملفاتها على الأقراص المرنة. وكانت تستخدم طريقة تنظيم تسمى جدول توزيع الملفات File Allocation Table ولذلك أطلق على نظام الملفات اسم FAT .
ثم طبق بيل جيتس نظرية الكسل على نحو مدهش بصورة أكبر ، حيث اشترى كل من شفرة نظام QDOS بقيمة $50,000 وإعاد تسميته ليصبح مايكروسفت دوس MS-DOS. بحيث أصبح الآن قادرا على بيعه لشركة IBM ولكل شركة تقوم بعمل نسخة من نظام IBM والمسكين غاري وجد نفسه خارج منصة استخدام الحاسبات الشخصية. ومن الان فصاعدا سيكون على العالم التعامل مع نظام FAT بكل دمويته. هل قلت دموية؟ أقصد مجده!!


أوقات نظام FAT في ريدجمونت هاي نظرا لأن هذا النظام كان في الأصل نسخة سريعة وقذرة من نظام ملفات مصمم لحواسيب ذات 8 بت في حقبة السبعينات والذي كان في حد ذاته نسخة سريعة وقذرة حاكت أجهزة الحاسبات المتوسطة المنتجة قبل عقد من الزمن. لم يكن يتوقع من نظام FAT أن يصل حقا إلى مستوى متقدم. حيث احتفظ بنفس الحد في تسمية الملفات (8+3) المطبق على نظام CP/M. وطريقة تخزين الملفات صممت حول الهيكل المادي لسواقة القرص المرن، جهاز التخزين الرئيسي في تلك الأيام.


يحدد جدول توزيع الملفات File Allocation Table أجزاء القرص المخصصة لحفظ الملفات ، والأجزاء الفارغة ، وتلك التي أصيبت بأضرار تجعلها غير قابلة للاستعمال المسماة بـ (bad sectors). ولأن كل قرص مرن يحوي على مساحة تخزينية صغيرة (أول الأقراص أحادية الجانب في حواسيب IBM يستطيع تخزين 160 كيلوبايت فقط) لابد أن يكون تصميم الجدول بحد ذاته صغير جدا. ولإبقاء الجدول صغيرا ، تم تقسيم الجدول إلى ما يسمى بالعناقيد (clusters) وهي عبارة عن "مجموعات من قطاعات مخزنة بجوار بعضها البعض على القرص." كانت يطلق على النسخة الأولى من نظام FAT باسم FAT-12 لأنه كان يستخدم رقم 12 بت لإحصاء عدد العناقيد (clusters). حيث أن 2 أس 12 يعادل 4096 وكانت كل عنقود عبارة عن 8كيلو بايت. لذلك كان أقصى حجم تخزيني هو 32ميجا بايت.


لم يكن لنظام FAT أدنى فكرة عن الأدلة أو تحسين طريقة تخزين الملفات ، حيث كان يرمي جميع أجزاء الملفات على أول جزء فارغ من القرص. هذا لا يهم كثيرا بالنسبة للقرص المرن بسبب قلة البرامج المخزنة عليه في الغالب. على أية حال ، كانت شركة IBM جاهزة لإصدار جهازها PC-XT بقرص صلب 20MB اختياري. حيث كانت هذه السعة في ذلك الوقت حجما هائلا وكان يعني بأن نظام الملفات FAT سيحتاج لوسيلة لتخزين الملفات بتسلسل هرمي مناسب. بالنسبة لنظام مايكروسفت دوس 2.0 ، قامت الشركة بإضافة المجلدات المتداخلة (nested directories) ، مصنفة باستخدام خط مائل عكسي (\) كفاصلة. لذلك تصبح طريقة تخزين الملف كالتالي ولنقل C:\MYFILES\NOTES على سبيل المثال. لماذا تم استخدام الخط المائل العكسي لا الخط المائل للأمام؟؟ حسنا. كان الخط المائل للأمام مستخدم مسبقا من قبل بعض برامج مايكروسوفت دوس 1.0 كمعامل تغيير. (ولنقل مثلا FORMAT A: /S ليقوم بإضافة ملفات النظام بعد تهيئة القرص.) وكان زحمة العمل تعيق مسألة تغييرها الآن. ولماذا أيضا حرف C:؟؟ حسنا، كل من A: و B: قد خصصت لكل من سواقة الأقراص المرنة الأولى والثانية والتي يجب على الجميع أن يمتلكها قبل أن تصبح الأقراص الصلبة أقراص قياسية بالأجهزة.


مرحلة الزوال سبب إدخال الأقراص الصلبة في الحواسيب ؛نظام FAT-12 من الانظمة العتيقة ، لذا جاءت شركة مايكروسوفت بنسخة 16 بت من نظام دوس 3.31 في سنة 1984م. وكان يحوي على 32 كليو بايت من العناقيد مع امكانية الوصول إلى 2 اس 16 منهم ، ولحجم تخزيني مذهل بلغ 2 جيجا بايت.


وماذا عن مشكلة تحسين التخزين؟ مع محرك الأقراص الصلبة ، يقوم المستخدم بنسخ وحذف الملفات بصورة متكررة مما يترك مساحات فارغة والتي بدورها تملئ بأجزاء الملفات الجديدة (لأن نظام FAT يقوم بتخزين الملفات الجديد في أول مكان فارغ بالقرص يحصل عليه) مما أدى إلى ظهور مشاكل جديدة في تجزئة القرص الصلب. وجعل هذا عمل القرص الصلب أصعب من أي وقت مضى ، حيث أصبح يقفز بصورة عشواء لمحاولة العثور على كل جميع أجزاء الملف والمبعثرة على القرص التخزيني. هل أصلحت شركة مايكروسوفت هذه المشكلة مع نظام FAT؟؟ لا أبدا. تركوا الفرصة للشركات الأخرى لإنتاج برامج مثل Norton Utilities و PC-Tools والتي من شأنها إصلاح مشاكل تجزئة القرص الصلب وجعله جزءا واحدا ، مما يمنح المستخدمين أمسيات سعيدة يتذكروها مدى الحياة عند جلوسهم لمشاهدة مستطيلات صغيرة وهي تتحرك على الشاشة.


بحلول عام 1995م ، كانت سعات الأقراص الصلبة تنمو متخطية حدود 2 جيجابايت ، وأصبح تسمية الملفات (8.3) أعتق مما كانت عليه قبل 20 سنة. لحل هذه المشاكل ، ابتكرت مايكروسوفت نظام FAT-32 بسعة تخزينية تصل إلى 8TB تيرابايت مع خاصية سحرية أطلق عليها VFAT والتي تعطي نظام FAT القدرة على تسمية الملفات بأسماء طويلة وان كانت في الواقع لا تفعل ذلك.


يأخذ VFAT الأسماء طويلة للملفات (حتى 255 حرفا) وينشئ صيغة قصيرة من الأسم تلائم قيود التسمية القديمة (8.3). فعلى سبيل المثال ، اذا كان اسم الملف كالتالي "Super-long file name.txt" فانه يقوم بتخزينه بالهيئة التالية "SUPER-~1.TXT". ويتم إلقاء ما تبقى من حروف إلى نوع غريب جدا من عالم اللاوجود ، كالعيش على صاروخ مكوكي. كانت تقسم إلى جزيئات من 13 حرف ويتم تخزينها على هيئة أدلة وهمية موسومة بميزات البيانات الوصفية كاسم الوحدة التخزينية ، نظام ، مخفية ، أو للقراءة فقط. مزيج أربك النسخ القديمة من نظام MS-DOS بصورة مزعجة مما أدى بهم إلى تجاهلها بصورة سطحية. ومع ذلك ، إذا تم حذف اسم ملف طويل من DOS ، سيتم اعتبار الدليل الوهمي المليء بمدخلات الوحدة التخزينية فارغا ويتم حذفه أيضا. حتى تم إضافة أغرب الحيل للتأكد من أن اسم الملف الطويل يطابق هيئة تسمية 8.3.


وبفضل تطبيقات الطرف الثالث المهزوزة من نظام VFAT، لا تزال بعض هذه الخدع تخيم علينا حتى اليوم. فعلى سبيل المثال وعند كتابة هذا المقال ، كان لي متعة تجربة مشاهدة تغير اسم دليل على فلاش USB بصورة عفوية من اسم "Williams files" إلى "WILLIA~1" عند نقل الملف إلى جهاز iBook.


اذن ، هل قامت شركة مايكروسوفت بمعالجة المشاكل المتعلقة بإعادة التجزئة في هذه النسخة من نظام FAT؟؟ الإجابة: ليس الكثير. ولكنه على الأقل قامت بإضافة نسخة محلية من برنامج إعادة التجزئة defragmenting program مع نسخة ويندوز 95. وبفضل قوة تعددية المهام حيث أنك تستطيع أن تقوم بمهام أخرى بينما يقوم الجهاز بمهمة إعادة التجزئة! باستثناء أنك لا تستطيع ، لأن النظام سيشكو من أن موقع الملفات قد تغير وعليك البدء من جديد.


كان حل VFAT الغريب خدعة فظيعة ، ولكنها سمحت لترقيات سلسة من أنظمة DOS و Windows 3.1 إلى نظام Windows 95 وأسماء ملفات طويلة مع السماح لمستخدمي نظام DOS الفقير للوصول إلى هذه الملفات. كما أنها أدت لسخرية مستخدمي نظام ماكنتوش وابتكار نكت "MICROS~1" التي لا يمكن لأي أحد فهمها . لم يكن ينبغي عليهم الضحك ، وذك نظرا لأن نظام ملفات ماكنتوش يعاني من قصور وحدود أغرب.

هذه المقالة تأتي في ثلاثة أجزاء:

الجزء الأول

الجزء الثاني

الجزء الثالث