الفصل 2.4 - نظام الملفات الافتراضي (VFS)
أهداف التعلم
في نهاية هذا الفصل، ستكون قادرًا على:
- فهم دور VFS
- شرح كيفية توحيد VFS لأنظمة الملفات المختلفة
- فهم inodes وهياكل البيانات
- تحديد الأنواع المختلفة لأنظمة الملفات
ما هو VFS؟
VFS (نظام الملفات الافتراضي) هو طبقة تجريد في نواة لينكس توفر واجهة موحدة للوصول إلى أنواع مختلفة من أنظمة الملفات، سواء كانت محلية (ext4، xfs) أو شبكية (NFS، CIFS).
أدوار VFS
1. واجهة موحدة
يوفر VFS واجهة واحدة لـ:
- فتح، قراءة، كتابة، إغلاق الملفات
- إنشاء، حذف، إعادة تسمية الملفات
- إدارة الدلائل
- إدارة الأذونات
2. التجريد
لا تحتاج التطبيقات إلى معرفة:
- نوع نظام الملفات
- الموقع (محلي أو شبكي)
- تفاصيل التنفيذ
3. الأداء
يحافظ VFS على ذاكرات مؤقتة:
- Inode cache: بيانات وصفية للملفات
- Dentry cache: أسماء الملفات والمسارات
- Buffer cache: بيانات الملفات
Inodes
inode (عقدة الفهرس) هو هيكل بيانات يخزن البيانات الوصفية لملف:
المعلومات المخزنة:
- نوع الملف (ملف، دليل، رابط، إلخ)
- الأذونات (المالك، المجموعة، الآخرون)
- حجم الملف
- الطوابع الزمنية (إنشاء، تعديل، وصول)
- مؤشرات إلى كتل البيانات
- عدد الروابط
أنواع أنظمة الملفات
أنظمة الملفات المحلية
ext4 (نظام الملفات الممتد الرابع):
- معيار على معظم التوزيعات
- مسجل (مقاوم للأعطال)
- دعم الملفات حتى 16TB
xfs:
- أداء عالي للملفات الكبيرة
- مستخدم في الشركات
- جيد لقواعد البيانات
btrfs:
- ميزات متقدمة (لقطات، ضغط)
- نسخ عند الكتابة
- في تطوير نشط
أنظمة الملفات الشبكية
NFS (نظام الملفات الشبكي):
- مشاركة الملفات عبر الشبكة
- معيار Unix/Linux
CIFS/SMB:
- متوافق مع Windows
- مشاركة الملفات بين الأنظمة
أنظمة الملفات الخاصة
tmpfs:
- في الذاكرة (RAM)
- سريع ولكن مؤقت
/tmp,/dev/shm
procfs:
- واجهة إلى النواة
/proc
sysfs:
- معلومات النظام
/sys
هيكل الدلائل
يحافظ VFS على تسلسل هرمي موحد:
/
├── bin/ # ثنائيات أساسية
├── etc/ # التكوين
├── home/ # المستخدمون
├── proc/ # واجهة النواة (procfs)
├── sys/ # واجهة النظام (sysfs)
├── tmp/ # مؤقت (tmpfs)
├── var/ # بيانات متغيرة
└── ...
الأوامر المفيدة
# عرض أنظمة الملفات المثبتة
mount
df -h
# عرض inodes
ls -li
stat fichier
# عرض استخدام inodes
df -i
# عرض أنواع أنظمة الملفات
mount | grep -E '^/dev'
ملخص
في هذا الفصل، تعلمت:
VFS: واجهة موحدة لجميع أنظمة الملفات
Inodes: بيانات وصفية للملفات
Caches: Inode، Dentry، Buffer للأداء
Types FS: محلية (ext4، xfs)، شبكية (NFS)، خاصة (tmpfs، procfs)
Hiérarchie: هيكل موحد مع / كجذر
الخطوات التالية
الفصل 2.5: إدارة العمليات
الفصل 2.6: عملية Init و systemd
تم إنشاء الفصل في: ديسمبر 2024