نظام الملفات الافتراضي

نظام الملفات الافتراضي ( VFS ) أو مُبدِّل نظام الملفات الافتراضي هو طبقة تجريدية فوق نظام ملفات أكثر واقعية . يهدف نظام الملفات الافتراضي إلى تمكين تطبيقات العميل من الوصول إلى أنواع مختلفة من أنظمة الملفات الواقعية بطريقة موحدة. على سبيل المثال، يُمكن استخدام نظام الملفات الافتراضي للوصول إلى أجهزة التخزين المحلية والشبكية بسلاسة دون أن يلاحظ تطبيق العميل أي فرق. كما يُمكن استخدامه لسد الفجوات بين أنظمة ملفات Windows و Mac OS / macOS الكلاسيكية و Unix ، بحيث تتمكن التطبيقات من الوصول إلى الملفات على أنظمة الملفات المحلية من هذه الأنواع دون الحاجة إلى معرفة نوع نظام الملفات الذي تصل إليه.

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

التطبيقات

موقع طبقة نظام الملفات الافتراضي (VFS) ضمن أجزاء مختلفة من مكدس التخزين الخاص بنواة لينكس . [ 1 ]

قدمت شركة صن مايكروسيستمز إحدى أولى آليات نظام الملفات الافتراضي على أنظمة شبيهة بنظام يونكس في نظام التشغيل SunOS 2.0 عام 1985. [ 2 ] وقد سمحت هذه الآلية لأنظمة يونكس بالوصول إلى أنظمة ملفات UFS المحلية وأنظمة ملفات NFS البعيدة بشفافية تامة. ولهذا السبب، غالبًا ما قام موردو أنظمة يونكس الذين حصلوا على ترخيص استخدام كود NFS من صن بنسخ تصميم نظام الملفات الافتراضي الخاص بصن. كما أمكن دمج أنظمة ملفات أخرى معه: فقد طُوّر نظام ملفات FAT الخاص بنظام MS-DOS في صن، وكان متوافقًا مع نظام الملفات الافتراضي في SunOS، على الرغم من أنه لم يُطرح كمنتج إلا في الإصدار 4.1 من SunOS. وشكّل تطبيق SunOS أساس آلية نظام الملفات الافتراضي في الإصدار الرابع من نظام التشغيل System V.

قام جون هايدمان بتطوير نظام ملفات افتراضي مُكدس (VFS) ضمن نظام التشغيل SunOS 4.0 لنظام الملفات التجريبي Ficus . وقد أتاح هذا التصميم إعادة استخدام الشيفرة البرمجية بين أنواع أنظمة الملفات المختلفة ذات الدلالات المتشابهة ( على سبيل المثال ، يمكن لنظام ملفات مُشفّر إعادة استخدام جميع شيفرة التسمية وإدارة التخزين الخاصة بنظام ملفات غير مُشفّر). وقد قام هايدمان بتكييف هذا العمل لاستخدامه في نظام 4.4BSD كجزء من بحثه لأطروحته ؛ وتُشكّل النسخ المُشتقة من هذه الشيفرة أساس تطبيقات أنظمة الملفات في مشتقات BSD الحديثة، بما في ذلك macOS .

تشمل أنظمة الملفات الافتراضية الأخرى في يونكس مفتاح نظام الملفات في الإصدار الثالث من النظام الخامس ، ونظام الملفات العام في ألتريكس ، ونظام الملفات الافتراضي في لينكس . أما في نظامي التشغيل OS/2 ومايكروسوفت ويندوز ، فتُسمى آلية نظام الملفات الافتراضي بنظام الملفات القابل للتثبيت .

تتيح آلية نظام الملفات في مساحة المستخدم (FUSE) إمكانية توصيل كود مساحة المستخدم بآلية نظام الملفات الافتراضي في أنظمة Linux و NetBSD و FreeBSD و OpenSolaris و macOS.

في نظام التشغيل مايكروسوفت ويندوز، يمكن أيضًا إنشاء أنظمة ملفات افتراضية عبر امتدادات مساحة اسم Shell الخاصة بمساحة المستخدم ؛ إلا أنها لا تدعم واجهات برمجة التطبيقات (API) للوصول إلى نظام الملفات على أدنى مستوى في ويندوز، لذا لن تتمكن جميع التطبيقات من الوصول إلى أنظمة الملفات المُنفذة كامتدادات لمساحة الاسم. يوفر كل من KIO و GVfs / GIO آليات مماثلة في بيئتي سطح المكتب KDE و GNOME (على التوالي)، مع قيود مماثلة، على الرغم من إمكانية استخدام تقنيات FUSE لدمجها بسلاسة في النظام.

أنظمة الملفات الافتراضية ذات الملف الواحد

يشير مصطلح "نظام الملفات الافتراضي" أحيانًا إلى ملف أو مجموعة ملفات (ليس بالضرورة داخل نظام ملفات فعلي) تعمل كحاوية قابلة للإدارة، توفر وظائف نظام ملفات فعلي باستخدام برمجيات. ومن أمثلة هذه الحاويات: CBFS Connect من Callback Technologies، أو نظام ملفات افتراضي أحادي الملف في محاكي مثل PCTask أو ما يُسمى WinUAE ، أو VirtualBox من Oracle ، أو Virtual PC من Microsoft ، أو VMware .

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

تنفيذ أنظمة الملفات الافتراضية ذات الملف الواحد

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

برنامج PCTask

كان برنامج محاكاة أميغا PCTask يحاكي جهاز كمبيوتر يعمل بمعالج Intel PC 8088 بتردد 4.77 ميجاهرتز (ولاحقًا بمعالج 80486 SX بتردد 25  ميجاهرتز). كان بإمكان مستخدمي PCTask إنشاء ملفات كبيرة الحجم على نظام ملفات أميغا، وكان يتم الوصول إلى هذه الملفات افتراضيًا من خلال المحاكي كما لو كانت قرصًا صلبًا حقيقيًا لجهاز كمبيوتر. وكان بالإمكان تهيئة الملف بنظام الملفات FAT16 لتخزين ملفات MS-DOS أو Windows العادية. [1] [2]

WinUAE

يُتيح برنامج WinUAE لنظام التشغيل ويندوز التعامل مع الملفات الكبيرة المفردة على نظام ويندوز كما لو كانت ملفات نظام أميغا. ويُطلق على هذا الملف في WinUAE اسم " ملف صلب" . [ 3]

يمكن لـ UAE أيضًا التعامل مع دليل على نظام الملفات المضيف ( Windows ، Linux ، macOS ، AmigaOS ) كنظام ملفات Amiga. [4]

انظر أيضاً

  • 9P (بروتوكول) بروتوكول نظام ملفات موزع يرتبط مباشرة بطبقة VFS في Plan 9، مما يجعل الوصول إلى نظام الملفات شفافًا للشبكة.  
  • نظام الملفات الاصطناعي واجهة هرمية لكائنات غير ملفية تظهر كما لو كانت ملفات عادية في شجرة نظام الملفات القائم على القرص 

ملحوظات

  1. ^ المحاكاة على جهاز أميغا:مقارنة بين PCX و PCTask، محاكيات أجهزة الكمبيوتر الشخصية لأجهزة أميغا.
  2. ^ انظر أيضًاهذه المقالةالتي تشرح كيفية عمل برنامج PCTask.
  3. ^ مساعدة حول WinUAE(انظر قسم الملفات الصلبة).
  4. ^ مساعدة حول WinUAE(انظر قسم إضافة مجلد)

مراجع

  1. ^ فيرنر فيشر. جورج شونبيرجر (2015/06/01). "مخطط مكدس تخزين Linux" . توماس كرين. AG. تم الاسترجاع 2015/06/08 .
  2. كلايمان، ستيف ر. (يونيو 1986). "Vnodes: بنية لأنواع متعددة من أنظمة الملفات في صن يونكس" (ملف PDF) . مجلة USENIX الصيفية . 86 : 238-247 . مؤرشف من الأصل (ملف PDF) بتاريخ 29 يونيو 2014. تم الاطلاع عليه بتاريخ 31 ديسمبر 2016 .