السلام عليكم
نظام الملفات (filesystem) هو الجزء المسؤول عن تخزين الملفات والوصول إليها على القرص الصلب، وهو الذي يحدد حجم الملفات ومعلوماتها وأين يتم تخزينها وكيفية الوصول إليها.، وهو الذي يتعرف على القرص الصلب ويقوم بتقسيمه لأجزاء منوعة وتوزيع البيانات الموجودة عليه، ومن دون نظام ملفات لن تتمكن من استخدام النظام لأنك لن تكون قادرًا على الوصول للبيانات، هناك مايدعى بـmetadata وهي معلومات الملفات، مثل المستخدم الذي يملك الملفات، حجم الملفات، مكانها، تاريخ إنشاءها وهكذا.
أنظمة الملفات هي من الأمور المتقدمة جدًا في الحوسبة، فبرمجتها أمرٌ ليس بالسهل مطلقًا وفهم مكوناتها والعمليات التي تقوم بها لايقل صعوبةً عن ذلك، كمستخدم جديد يمكنك أن تقولَ عنها أنها مايحدد سرعة نقل الملفات ومايقوم بتخزينها، وله دور آخر في سرعة التطبيقات التي يتم تشغيلها ونظام التشغيل عند إقلاعه، وهي التي تمكنك من عمل بعض المزايا التي قد تحتاجها في نظامك، بكل بساطة هي كمحفظة النقود، من دونها لايمكنك تخزين نقودك (والتي هي الملفات).
اليوم سنتعرف على بعض أنواع أنظمة الملفات الشهيرة ومميزات كلٍ منها:
Ext4:
هو آخر إصدار من نظام ملفات Ext, تم إطلاقه في 25 ديسمبر عام 2008 وهو مدعوم بنواة لينُكس منذ الإصدار 2.6.32، بفضل استخدامه لنظام عناوين من نوع 48 بت فإنه يدعم ملفات يصل حجم الواحد منها إلى 16تيرابايت مع إمكانية إنشاء ملفات تتكون أسماءها من 255 بايتًا، ويدعم أقراصًا صلبة يصل حجمها إلى مليار جيجابايت.

يستخدم ” Multi-Block Allocation” وهو بكل اختصار عملية تخزين مجموعة من البيانات سويةً عوضًا عن تخزينها واحدة واحدة مما يقلل استهلاك الموارد ويزيد السرعة، وهو يدعم عملية تغيير حجم القرص الصلب سواء كانت بالزيادة أو النقصان وهو يدعم ميزة الجدولة أو الـJournal كما يدعم إنشاء مجلدات فرعية بعدد لامتناهي.

Ext4 لا يدعم ميزة إظهار تاريخ الملفات والتغييرات التي طرأت عليها أو الـsnapshot (ولهذا تجد هذه الميزة غائبة في معظم توزيعات لينُكس).

هو متوافق ومدعوم بشكل كامل في لينُكس، إلا أنه غير مدعوم ولايتوافق مع ويندوز، ماك، FreeBSD أو سولاريس.
الهيكلية الافتراضية لنظام ملفات يونكس و أشباه-يونكس
Ntfs: هو نظام ملفات مغلق تم تطويره بواسطة شركة مايكروسوفت لنظام ويندوز، تم استخدامه لأول مرة في ويندوز .NT 3.1 في منتصف عام 1993، ثم بدأت مايكروسوفت تستخدمهُ تباعًا في ويندوز 2000 و XP و 7 و 8، يدعم ملفاتٍ يصل الواحد منها إلى 16 تيرابايت، وازداد هذا الدعم في ويندوز 8 إلى 256 تيرابايت، ويدعم أقراصًا صلبة يصل حجمها إلى 256000 جيجابايت ويمكنه إنشاء ملفات تتكون أسماءها من 255 محرفًا.

يدعم ميزة إظهار تاريخ الملفات وأخذ نسخة احتياطية عنها ولهذا تجد ميزة “نقطة الاستعادة” مدعومة في ويندوز، كما يدعم التشفير بنظام EFS وضغط الملفات بخوارزمية LZNT1 وميزة الجدولة و Directory junctions وهي ميزة مشابه لنقطة الإقلاع في لينُكس ولكنها تشير لمجلدات أو أقراص موجودة على النظام، مثلًا المسار C:Test يمكنه أن يشير إلى D:FileTest ويتحول الرابط تلقائيًا إلى الملف الموجود على الـD.

هو يدعم أيضًا ميزة تغيير حجم القرص الصلب سواء كان بالزيادة او بالنقصان منذُ ويندوز فيستا، ولكن هناك بعض المشاكل في العملية، نظام الملفات NTFS لايدعم جدولة الملفات، هو يدعم نظام ويندوز افتراضيًا منذ NT. 3.1 ، يمكنه أن يدعم كلًا من لينُكس وماك وسولاريس عن طريق NTFS-3G.


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

Btrfs هو اختصار لـ”B-Tree File System” وهو مدعوم في نواة لينُكس منذ الإصدار 2.6.29 عام 2009، أقصى عدد من الملفات يتعرف عليه نظام الملفات هذا هو 18,446,744,073,709,551,616 ملف، أقصى طول لأسماء الملفات هو 255 محرفًا، أقصى حجم للملفات هو 16 مليار جيجابايت ولكنها فعليًا 8 مليار جيجابايت لمحدودية نواة لينُكس.

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

هناك إمكانية أيضًا لتحويل الأقراص التي تعمل بنظام الملفات Ext4 و Ext3 إلى Btrfs مباشرةً ودون الحاجة إلى عمل فرمتة، حيث ستظل البيانات والملفات موجودة دون فقدان أي ملف تمامًا، إذا كنتَ تقوم بعملية نسخ بيانات مثلًا أو تحديثها وانقطعت الكهرباء فجأة أو حصلت مشكلة معينة، فإن نظام الملفات Btrfs سيقوم أوتوماتيكيًا باسترجاع الملفات إلى حالتها السابقة ولكن هنا تحتاج إلى فصل القرص (unmount) ثم إقلاعه من جديد (mount) لكي تبدأ عملية فحص النظام، هناك جهود لجعل هذه العملية Online أي دون الحاجة لفصل القرص.

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

مقارنة بين بعض أنظمة الملفات أجراها موقع Phoronix الشهير من ناحية سرعة القراءة والكتابة
هناك المزيد

هناك الكثير من أنظمة الملفات الأخرى وكل واحد منها تم تصميمه لأداء وظيفة معينة أو التفوق على نظام ملفات آخر من ناحية السرعة أو الأمان أو المميزات..الخ، إن كنتَ مهتمًا، يمكنك البحث عن FAT32 أو ZFS أو ReiserFS أو VMSF3 وغيرها من أنظمة الملفات الأخرى، ننصح أيضًا بالإطلاع على بعض الأمور عن RAID.

المصادر
Wikipedia: Comparison_of_file_systems
Wikipedia: Ext4, Btrfs, Ntfs
Linux.org: Btrfs, Ext4