نظام إدارة ومراقبة العمليات في لينكس
تفاصيل العمل

هندسة النظام ينقسم المشروع إلى ثلاثة مكونات أساسية: الممثلون (برامج C): محاكاة منخفضة المستوى لسلوكيات محددة في نظام التشغيل، بما في ذلك مهام معتمدة على وحدة المعالجة المركزية، العمليات النائمة، الزومبي، الأيتام، والتنفيذ متعدد الخيوط. المدير (سكريبت Bash): واجهة سطر الأوامر التي تتيح للمستخدمين التفاعل مع النواة باستخدام أدوات مثل ps، kill، و renice لمراقبة والتحكم في "الممثلين". المراقب (واجهة Java GUI): تطبيق JavaFX يوفر تعقبًا بصريًا في الوقت الفعلي لخصائص العمليات واتجاهات استخدام وحدة المعالجة المركزية. محاكاة العمليات ("الممثلون") يُفصّل التقرير عدة برامج C مصممة لعرض سلوكيات محددة للنواة: استهلاك CPU (cpu_hog.c): عملية حلقة لا نهائية تتطلب 100% من نواة وحدة المعالجة المركزية، تُستخدم لتوضيح جدولة وحدة المعالجة المركزية وتأثيرات renice. العملية البطيئة (slow_process.c): توضح معالجة الإشارات عن طريق الاستماع إلى SIGTERM لتنفيذ إيقاف تشغيل سلس. عملية الزومبي (zombie_process.c): توضح دورة حياة العملية عن طريق إنشاء عملية فرعية تنتهي بينما يظل الأصل نشطًا دون تحصيلها. عملية اليتيم (orphan_process.c): تعرض تبني Init، حيث يتم تبني العملية الفرعية بواسطة PID 1 بعد انتهاء عملية الأصل. العملية متعددة الخيوط (threaded_process.c): تبرز الفرق بين العمليات والخيوط عن طريق إنشاء عدة تدفقات تنفيذ ضمن PID واحد باستخدام مكتبة pthread. الإدارة والمراقبة مدير Bash: ينفذ التنفيذ غير المتزامن باستخدام العلامة &، والتواصل بين العمليات عبر الأنابيب، وإدارة الأولويات من خلال قيم nice. مراقب Java: يستخدم ProcessBuilder لتنفيذ نداءات النظام، ويحلل مخرجات ps إلى كائنات Java (محاكاة لوحدة التحكم في العملية)، ويستخدم خيوطًا خلفية لتحديث واجهة المستخدم دون تجميدها. النتائج التعليمية الرئيسية يجسر المشروع الفجوة بين مفاهيم الكتب النظرية وسلوك النظام في العالم الحقيقي من خلال التركيز على مجدول لينكس (CFS)، وحالات العمليات، وأدوات إدارة النظام.

مهارات العمل
شارك
بطاقة العمل
تاريخ النشر
منذ 4 أيام
المشاهدات
12
المستقل
John Gamal
John Gamal
مهندس ذكاء اصطناعي
طلب عمل مماثل
مهارات العمل
شارك
مركز المساعدة