sysfs

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

يوفر sysfs وظائف مشابهة لآلية sysctl الموجودة في أنظمة تشغيل BSD ، مع اختلاف أن sysfs يتم تنفيذه كنظام ملفات افتراضي بدلاً من كونه آلية نواة مصممة خصيصًا لهذا الغرض، وأنه في Linux، تتوفر معلمات تكوين sysctl في /proc/sys/ كجزء من procfs ، وليس sysfs الذي يتم تركيبه في /sys/ . [ 2 ]

تاريخ

خلال دورة التطوير 2.5، تم تقديم نموذج برنامج تشغيل لينكس لإصلاح أوجه القصور التالية في الإصدار 2.4:

صُمم نظام الملفات Sysfs لتصدير المعلومات الموجودة في شجرة الجهاز ، مما يمنع ازدحام نظام الملفات procfs. وقد كتبه باتريك موشيل. [ 3 ] [ 4 ] لاحقًا، كتب مانيش سوني رقعة تخزين sysfs لتقليل استهلاك الذاكرة في الأنظمة الكبيرة.

خلال السنة التالية من تطوير الإصدار 2.5، بدأت القدرات البنيوية لنموذج برنامج التشغيل ونظام ملفات برنامج التشغيل (driverfs) تثبت فائدتها للأنظمة الفرعية الأخرى. [ 5 ] [ 6 ] تم تطوير كائنات kobjects لتوفير آلية مركزية لإدارة الكائنات، وأُعيد تسمية نظام ملفات برنامج التشغيل (driverfs) إلى نظام ملفات النظام (sysfs) ليعكس استقلاليته عن الأنظمة الفرعية.

يتم تثبيت نظام الملفات Sysfs تحت نقطة التثبيت /sys . إذا لم يتم تثبيته تلقائيًا أثناء التهيئة، فيمكن تثبيته يدويًا باستخدام mountالأمر: mount -t sysfs sysfs /sys. [ 1 ]

الحافلات المدعومة

ACPI
يتم تصدير معلومات حول أجهزة ACPI .
PCI
يقوم بتصدير معلومات حول أجهزة PCI و PCI Express .
PCI Express
يقوم بتصدير معلومات حول أجهزة PCI Express .
USB
يقوم بتصدير معلومات حول أجهزة USB .
SCSI
يصدّر معلومات حول أجهزة التخزين الضخمة ، بما في ذلك واجهات USB و SATA و NVMe . [ 7 ]
حافلات S/390
نظراً لأن بنية S/390 تحتوي على أجهزة غير موجودة في أي مكان آخر، فقد تم إنشاء ناقلات خاصة:
  • css : يحتوي على قنوات فرعية (البرنامج التشغيلي الوحيد المتوفر حاليًا هو لقنوات الإدخال/الإخراج الفرعية).
  • ccw : يحتوي على الأجهزة المتصلة بالقناة (التي يتم تشغيلها بواسطة CCWs ).
  • مجموعة ccw : أجهزة اصطناعية، أنشأها المستخدم وتتكون من أجهزة ccw. تحل محل بعض وظائف chandev 2.4.
  • iucv : أجهزة اصطناعية مثل أجهزة netiucv التي تستخدم واجهة IUCV الخاصة بالآلة الافتراضية .

Sysfs ومساحة المستخدم

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

انظر أيضاً

مراجع

  1. 1 2 باتريك موشيل ومايك مورفي. "sysfs - نظام الملفات لتصدير كائنات النواة" . kernel.org .
  2. SUSE. "صفحة دليل sysctl" . FreeBSD. يُستخدم sysctl لتعديل معلمات النواة أثناء التشغيل. المعلمات المتاحة هي تلك المدرجة ضمن /proc/sys/. يتطلب دعم sysctl في Linux وجود نظام ملفات Procfs. يمكنك استخدام sysctl لقراءة وكتابة بيانات sysctl.
  3. تورفالدز، لينوس (18 أكتوبر 2002). "لينكس الإصدار 2.5.44 - وغير متصل بالإنترنت لمدة أسبوع" .
  4. تورفالدز، لينوس (4 نوفمبر 2002). "لينكس الإصدار 2.5.46" .
  5. موشيل، باتريك (17 أكتوبر 2001). " [ RFC ] نموذج سائق جديد للإصدار 2.5" .
  6. جانسن، تيم (1 نوفمبر 2001). "ردًا على: [ التصحيح ] 2.5 اقتراح: استبدال لـ /proc الحالي من الشياطين" .
  7. "دليل واجهات SCSI - وثائق نواة لينكس" . www.kernel.org . تم الاطلاع عليه بتاريخ 13 نوفمبر 2020 .