نظام ملفات في مساحة المستخدم (فيوز)

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث
Filesystem in Userspace
FUSE structure.svg
لقطة شاشة
معلومات عامة
نوع
نظام التشغيل
موقع الويب
معلومات تقنية
لغة البرمجة
الإصدار الأخير
3.10.4[1]
المستودع
الرخصة

رخصة جنو العمومية للجانب المسؤول عن نواة لينكس، رخصة جنو العمومية الصغرى لمكتبة libfuse, بي إس دي المبسطة على فري بي إس دي, رخصة آي إس سي على أوبن بي اس دي;

إحتكارية على ماك أو اس

نظام الملفات في مساحة المستخدم(فيوز) (بالإنجليزية: Filesystem in Userspace (FUSE))‏ هو واجهة برمجية لأنظمة تشغيل الكمبيوتر يونكس والشبيهة بـيونكس والتي تتيح للمستخدمين بدون صلاحيات، إنشاء أنظمة الملفات الخاصة بهم دون تحرير كود النواة. يتم تحقيق ذلك عن طريق تشغيل كود نظام الملفات في مساحة المستخدم بينما توفر وحدة FUSE فقط "جسرًا" إلى واجهات النواة الفعلية.

يتوفر FUSE لأنظمة لينكس وفري بي ‌إس ‌دي وأوبن بي ‌إس ‌دي ونت بي إس دي (مثل puffs ) و أوبن سولاريس و Minix 3 و أندرويد وماك أو إس و [3] و ويندوز . [4]

يعد فيوز من البرمجيات الحرة تم طرحه في الأصل بموجب شروط رخصة جنو العمومية ورخصةجنو العمومية الصغرى .

تاريخ[عدل]

كان نظام فيوز في الأصل جزءًا من نظام الملفات الافتراضي AVFS(A Virtual Filesystem)، وهو نظام ملفات تأثر بشدة بمفهوم المترجم الخاص بـ جنو هيرد. [5] حل محل نظام الملفات لوفس ، وقدم واجهة ترجمة باستخدام lufis في مكتبة libfuse1.

تم إصدار فيوز في الأصل بموجب شروط رخصة جنو العمومية العامة ورخصة جنو العمومية الصغرى ، والتي أعيد تطبيقها لاحقًا كجزء من نظام فري بي ‌إس ‌دي الأساسي [6] وتم إصدارها بموجب شروط رخصة بي إس دي المبسطة. تم إعادة إصدار تنفيذ مرخصة تحت رخصة إي اس سي من قبل سيلفيسر غالون (Sylvestre Gallon) في مارس 2013 ، [7] وتم دمجها في أوبن بي إس دي في يونيو 2013. [8]

دمج فيوز في شجرة نواة Linux السائدة في الإصدار 2.6.14. [9]

اتبع تطوير جانب مساحة المستخدم من فيوز ، ومكتبة libfuse ، بشكل عام وتيرة تطوير نواة لينكس مع الحفاظ على توافق بـ"أفضل جهد" مع أحفاد بي إس دي. هذا ممكن لأن فيوز النواة يقوم بالتلبيغ عن "مستويات الميزات" أو الإصدارات الخاصة به. الاستثناء هو شعبة فيوز لنظام التشغيل ماك أو اس (أو اكس فيوز - OSXFUSE)، ، والذي يحتوي على العديد من الاختلافات لمشاركة المكتبات. [10] دعم الإصدار الثالث من مكتبة ليب فيوز libfuse3 ميزات غير متوافقة في الواجهة والآداء على غرار سابقه libfuse2 الذي في وضع الصيانة حاليا. [11]

نظرًا لأن بروتوكول مساحة مستخدمي النواة (kernel-space) لفيوز متعدد الإصدارات وعام، يمكن للمبرمج اختيار استخدام جزء مختلف من التعليمات البرمجية بدلاً من libfuse ولا يزال بإمكانه التواصل مع مرافق فيوز الخاصة بالنواة. من ناحية أخرى، libfuseوالعديدة من منقولاته البرمجية توفر واجهة محمولة عالية المستوى يمكن تنفيذها على نظام بدون خاصية فيوز.

التشغيل والاستخدام[عدل]

مخطط مخطط يوضح كيفية عمل فيوز: تتم إعادة توجيه الطلب من مساحة المستخدمين إلى قائمة ملفات ls -l /tmp/fuse بواسطة النواة (Kernel) عبر نظام ملفات إفتراضي (VFS) إلى فيوز (FUSE). ثم يشغل فيوز برنامج مناول المُسَجل ./hello ويمرر له الطلب ls -l /tmp/fuse..يقوم برنامج المناول بإرجاع استجابة إلى فيوز والذ يقوم بإعادة توجيهها بعد ذلك إلى برنامج مساحة المستخدم الذي قدم الطلب في الأصل.

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

فك ربط نظام ملفات يستند إلى فيوز باستخدام الأمر fusermount

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

من حيث المبدأ ، يمكن تصدير أي مورد متاح لتطبيق فيوز كنظام ملفات.

التطبيقات[عدل]

أنظمة الملفات على القرص[عدل]

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

  • نظام ملفات الشريط الخطي : يسمح بالوصول إلى الملفات المخزنة على شريط مغناطيسي بطريقة مماثلة لتلك الموجودة على القرص أو وحدات الذاكرة الفلاشية.
  • إن تي إف إس-3ج(NTFS-3G) و كابتيف إن تي إف إس(Captive NTFS)، يسمحان بالوصول إلى أنظمة ملفات إن تي إف إس(NTFS).

طبقات أنظمة الملفات[عدل]

يمكن لأنظمة ملفات فيوز إنشاء عرض لنظام الملفات الضمني، وتحويل الملفات بطريقة ما.

أنظمة ملفات الأرشفة والنسخ الاحتياطي[عدل]

يمكن لأنظمة ملفات فيوز الكشف عن محتويات الأرشيفات أو مجموعات النسخ الاحتياطي دون الحاجة إلى استخراجها أولاً.

  • أرشيف ماونت
  • بورغ-Borg (برنامج النسخ الاحتياطي) : برنامج إزالة النسخ الاحتياطي المتكررة الذي يسمح بتثبيت أرشيفات النسخ الاحتياطي كنظم ملفات فيوز.
  • رستيك-Restic : برنامج نسخ احتياطي، مجاني، سريع، فعال، وآمن. يقةم باستعمال فيوز لتصفح جميع لقطات النسخ الاحتياطي كنظام ملفات عادي.
  • SPFS نظام ملفات لحماية الطيف، مصمم لربط مساحة ملفات خادم النسخ الاحتياطية في أي مكان على الخادم الخاص بك، واستخدام الميزات المضمنة من خادم النسخ الاحتياطية (التشفير ، وإزالة التكرار ، والضغط ، والترشيح ، إلخ) وهو مايعرف بنظام ملفات أكتب مرة اقرأ عدة مرات (WORM).

عملاء نظام الملفات الموزعة/البعيدة[عدل]

  • CernVM-FS : نظام توزيع برامج للقراءة فقط موزع ، يتم تنفيذه كنظام ملفات POSIX في مساحة المستخدم (FUSE) باستخدام نقل HTTP ، لتقديم البرامج بطريقة سريعة وموثوقة على نطاق عالمي.
  • CloudStore ( Kosmos سابقًا): من خلال الربط عبر فيوز، يمكن لأدوات لينكس الموجودة التفاعل مع CloudStore
  • ExpanDrive : نظام ملفات تجاري يطبق SFTP / FTP / S3 / Swift باستخدام فيوز.
  • FTPFS
  • GlusterFS : نظام ملفات مُوزَّع وعنقودي لديه القدرة على توسيع نطاقه إلى عدة بيتابايتات.
  • goofys : نظام ملفات فيوز يسمح بالوصول إلى تخزين Amazon S3 / Microsoft Azure مع التركيز على الأداء.
  • IPFS : نظام ملفات مُوزَّع، ند لند، يسعى إلى توصيل جميع أجهزة الحواسيب بنفس نظام الملفات.
  • JuiceFS : نظام ملفات بوزيكس مُوزَّع مبني على Redis و S3.
  • KBFS : نظام ملفات مُوزَّع مع تشفير ند لند ومساحة اسم عالمية تعتمد على خدمة Keybase.io التي تستخدم FUSE لإنشاء نقاط ربط ملفات آمنة ومشفرة.
  • لوستري(Lustre) نظام ملفات عنقودي يستعمل فيوز لكي يشتغل في مساحة المستخدم، بحيث يمكن أن ينقل إلى نظام فري بي إس دي. [12] ومع ذلك ، فإن منفذ ZFS -Linux الخاص بـ Luster سوف يقوم بتشغيل DMU (وحدة إدارة البيانات) الخاصة بـ ZFS في مساحة المستخدمين. [13]
  • MinFS : هو برنامج تعريف لفيوز لخادم آمازون إس3(Amazon S3)لتخزين الكائنات المتوافقة. يتيح لك تركيب حاوية بعيدة (من مخزن عناصر متوافق مع S3) ، كما لو كانت مجلدا محليًا. [14]
  • MooseFS : نظام ملفات مفتوح المصدر مُوزَّع، يتحمل الأخطاء، متاح على كل نظام تشغيل مع تطبيق فيوز لـ(لينكس، فري بي إس دي، نت بي إس دي، أوبن سولاريس، ماك أو اس)، قادر على تخزين بيتابايت من البيانات الموزعة على عدة خوادم مرئية كمَوْرِد واحد.
  • ObjectiveFS : نظام ملفات مُوزَّع مع الواجهة الخلفية(back end) لمخزن العناصر (Amazon S3 أو Google Cloud Storage أو مخزن كائنات متوافق مع S3) باستخدام فيوز.
  • s3fs : يمنح القدرة على تركيب دلو S3 كما لو أنه نظام ملفات محلي.
  • نظام ملفات القطاع : Sector هو نظام ملفات مُوزَّع مصمم لكمية كبيرة من أجهزة الكمبيوتر السلعية. يستخدم هذا القطاع فيوز لتوفير واجهة نظام ملفات محلية قابلة للتركيب.
  • SSHFS : يوفر الوصول إلى نظام ملفات بعيد من خلال بروتوكول النقل الآمن(SSH) .
  • الإرسال : عميل إف تي بي تجاري يضيف أيضًا القدرة على تحميل خوادم WebDAV و SFTP و FTP و Amazon S3 كأقراص في فايندر ، عبر MacFUSE.
  • WebDrive : نظام ملفات تجاري يطبق WebDAV و SFTP و FTP و FTPS و Amazon S3
  • WikipediaFS : عرض وتحرير مقالات ويكيبيديا كما لو كانت ملفات حقيقية.
  • Wuala : كان نظامًا للملفات الموزعة متعدد المنصات ، قائم على Java ونظام تشغيل متكامل ومتكامل. استخدام FUSE و MacFUSE و CBFS Connect على التوالي لتكامل نظام الملفات ، بالإضافة إلى تطبيق قائم على Java يمكن الوصول إليه من أي متصفح ويب يدعم Java (توقفت الخدمة في 2015).

أنظة ملفات أخرى[عدل]

  • GVfs : نظام الملفات الافتراضي لسطح مكتب جنوم
  • rvault : متجر آمن وموثق للأسرار والمستندات الصغيرة باستخدام تشفير المغلفات مع مصادقة كلمة المرور لمرة واحدة (OTP). يستخدم FUSE لفضح الخزنة كنظام ملفات.
  • EmojiFS : نظام ملفات FUSE يسمح لك بمعالجة الرموز التعبيرية المخصصة على Slacks و Discords المختلفة.

انظر أيضًا[عدل]

روابط خارجية[عدل]

مراجع[عدل]

  1. ^ "Release libfuse 3.10.4". الوسيط |CitationClass= تم تجاهله (مساعدة)
  2. ^ "Release libfuse 3.10.4". الوسيط |CitationClass= تم تجاهله (مساعدة)
  3. ^ "Home - FUSE for OS X". مؤرشف من الأصل في 30 مارس 2021. الوسيط |CitationClass= تم تجاهله (مساعدة)
  4. ^ Zissimopoulos, Bill (2021-02-14), billziss-gh/winfsp, مؤرشف من الأصل في 18 مارس 2021, اطلع عليه بتاريخ 16 فبراير 2021 الوسيط |CitationClass= تم تجاهله (مساعدة); الوسيط |separator= تم تجاهله (مساعدة)CS1 maint: ref=harv (link)
  5. ^ "Some technical advantages of the Hurd". May 15, 2011. مؤرشف من الأصل في 15 يناير 2021. اطلع عليه بتاريخ 28 مارس 2016. الوسيط |CitationClass= تم تجاهله (مساعدة)
  6. ^ "WhatsNew/FreeBSD10 - FreeBSD Wiki". مؤرشف من الأصل في 13 مارس 2021. الوسيط |CitationClass= تم تجاهله (مساعدة)
  7. ^ "openbsd dev - tech - Fuse (and sshfs) support for OpenBSD". مؤرشف من الأصل في 26 أكتوبر 2020. الوسيط |CitationClass= تم تجاهله (مساعدة)
  8. ^ "'CVS: cvs.openbsd.org: src' - MARC". مؤرشف من الأصل في 19 أكتوبر 2018. الوسيط |CitationClass= تم تجاهله (مساعدة)
  9. ^ "file-systems.fuse.devel - FUSE merged to 2.6.14! - msg#00021 - Recent Discussion OSDir.com". مؤرشف من الأصل في 20 أبريل 2016. الوسيط |CitationClass= تم تجاهله (مساعدة)
  10. ^ "libfuse/libfuse, the reference implementation of the Linux FUSE (Filesystem in Userspace) interface". libfuse. 9 January 2020. مؤرشف من الأصل في 29 مارس 2021. اطلع عليه بتاريخ 09 يناير 2020. الوسيط |CitationClass= تم تجاهله (مساعدة)
  11. ^ "libfuse3 ChangeLog". GitHub. مؤرشف من الأصل في 16 أكتوبر 2020. اطلع عليه بتاريخ 09 يناير 2020. الوسيط |CitationClass= تم تجاهله (مساعدة)
  12. ^ "Lustre FreeBSD". مؤرشف من الأصل في 12 مارس 2008. اطلع عليه بتاريخ 02 مارس 2008. الوسيط |CitationClass= تم تجاهله (مساعدة)
  13. ^ "Architecture ZFS for Lustre". Sun Microsystems. مؤرشف من الأصل في 22 يناير 2009. اطلع عليه بتاريخ 02 مارس 2008. الوسيط |CitationClass= تم تجاهله (مساعدة)
  14. ^ "minio/minfs". GitHub. مؤرشف من الأصل في 26 سبتمبر 2020. اطلع عليه بتاريخ 12 أبريل 2018. الوسيط |CitationClass= تم تجاهله (مساعدة)