حرف V

نظام الملفات الوهمي

Virtual File System (VFS)

آخر تحديث: 2026-10-12
مستوى الشرح اختر المستوى التقني المناسب لك

الشرح المبسط

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

الشرح التقني المتقدم

يعتبر نظام الملفات الوهمي (Virtual File System) أو ما يعرف اختصاراً باسم VFS، طبقة تجريد (Abstraction Layer) حيوية داخل نواة لينكس (Linux Kernel). وظيفته الأساسية هي توفير واجهة برمجية موحدة تتيح لبرامج مساحة المستخدم (User Space) التفاعل مع أنظمة ملفات (File Systems) متنوعة بنفس الطريقة، بغض النظر عن الاختلافات البرمجية وهيكلية البيانات الخاصة بكل نظام تخزين.

كيف يعمل VFS خلف الكواليس؟

عندما يطلب أحد التطبيقات قراءة ملف أو كتابته عبر استدعاءات النظام (System Calls) مثل read() أو write()، لا يتعامل التطبيق مباشرة مع نظام الملفات الفعلي مثل إكست 4 (ext4) أو إن تي إف إس (NTFS). بدلاً من ذلك، يستلم VFS هذا الطلب ويقوم بتوجيهه برمجياً إلى نظام الملفات المعني. هذا التصميم يمنح لينكس مرونة هائلة لتركيب (Mount) أي نظام ملفات محلي أو شبكي بسلاسة تامة.

المكونات الأساسية (VFS Objects)

يعتمد نظام VFS في إدارته للبيانات على أربعة كائنات رئيسية، وتعتبر هذه الكائنات الهيكل الأساسي الذي تبنى عليه واجهة التخزين:

  • كائن الكتلة الفائقة (Superblock): يخزن معلومات شاملة حول نظام الملفات المركب ككل، مثل حجم الكتل وأنواع العمليات المدعومة.
  • كائن الفهرس (Inode): يمثل ملفاً أو دليلاً (Directory) معيناً على القرص، ويحتوي على البيانات الوصفية (Metadata) مثل الصلاحيات، الحجم، ومالك الملف.
  • كائن إدخال الدليل (Dentry): يربط بين الفهارس وأسماء الملفات لتسهيل التنقل في أي مسار (Path) وتسريع عملية البحث بفضل الذاكرة المخبئه (Cache).
  • كائن الملف (File): يمثل ملفاً مفتوحاً حالياً بواسطة عملية (Process) معينة، ويتتبع موضع مؤشر القراءة والكتابة الحالي.

أوامر فحص أنظمة الملفات

للتحقق من جميع أنظمة الملفات التي تدعمها نواة النظام (Kernel) حالياً وتستطيع طبقة VFS التعامل معها، يمكنك قراءة محتوى الملف المخصص لذلك:

cat /proc/filesystems

أما لمعرفة أنظمة الملفات المركبة (Mounted) في الوقت الفعلي مع عرض نوع كل نظام تحت عمود Type، يمكنك تنفيذ الأمر التالي:

df -T

ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)

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