الفصل 2.1 - نظرة عامة على البنية
أهداف التعلم
في نهاية هذا الفصل، ستكون قادرًا على:
- فهم الفصل بين مساحة المستخدم ومساحة النواة
- تحديد مسؤوليات كل مكون نظام
- تصور تدفقات الاتصال
- فهم مفاهيم العمليات والذاكرة
البنية الطبقية
يتبع لينكس بنية طبقية محددة جيدًا:
مساحة المستخدم مقابل مساحة النواة
مساحة المستخدم
الدور: تشغيل التطبيقات والبرامج الخاصة بالمستخدم
الخصائص:
- تحتوي على جميع التطبيقات التي تستخدمها
- وصول محدود إلى العتاد (عبر استدعاءات النظام)
- عزل بين العمليات
- إدارة أذونات المستخدم
المكونات:
- تطبيقات المستخدم (المتصفح، المحرر، إلخ)
- الصدفة وسطر الأوامر
- مكتبات النظام (libc، إلخ)
- الخدمات وdaemon
مساحة النواة
الدور: إدارة موارد النظام والعتاد
الخصائص:
- وصول مباشر إلى العتاد
- إدارة العمليات والذاكرة
- نظام الملفات
- الشبكة والأجهزة
- الحماية والأمان
المكونات:
- نواة لينكس
- برامج تشغيل العتاد
- إدارة الذاكرة
- نظام الملفات الافتراضي (VFS)
تدفقات الاتصال
1. المستخدم → الصدفة → التطبيق
2. العملية → النواة → العتاد
3. systemd → الخدمات → النواة
بنية النواة
نواة لينكس منظمة في عدة أنظمة فرعية:
الأنظمة الفرعية الرئيسية:
-
إدارة العمليات
- الجدولة
- الإنشاء والإنهاء
- الاتصال بين العمليات
-
إدارة الذاكرة
- التخصيص الديناميكي
- الذاكرة الافتراضية
- Swap
-
نظام الملفات
- VFS (نظام الملفات الافتراضي)
- دعم أنظمة ملفات متعددة
- التخزين المؤقت والذاكرات الوسيطة
-
إدارة الشبكة
- Stack TCP/IP
- واجهات الشبكة
- جدار الحماية
-
إدارة الأجهزة
- برامج التشغيل
- التوصيل والتشغيل
- إدارة الطاقة
عملية Init وsystemd
عملية init (PID 1) هي أول عملية يتم تشغيلها عند بدء التشغيل:
أدوار systemd:
- أول عملية (PID 1)
- والد جميع العمليات
- إدارة الخدمات
- مراقبة العمليات
- إدارة مستويات التشغيل
ملخص
في هذا الفصل، تعلمت:
البنية الطبقية: التطبيق → النظام → العتاد
مساحة المستخدم: التطبيقات والبرامج الخاصة بالمستخدم
مساحة النواة: إدارة النظام والعتاد
الاتصال: تدفقات عبر استدعاءات النظام (syscalls)
النواة: منظمة في أنظمة فرعية متخصصة
systemd: أول عملية، إدارة الخدمات
الخطوات التالية
الآن بعد أن فهمت البنية العامة:
الفصل 2.2: نواة لينكس - قلب النظام
الفصل 2.3: إدارة الذاكرة وSwap
تم إنشاء الفصل في: ديسمبر 2024