اذهب إلى المحتوى
  • 0

كيف يمكن إنهاء اللإجرائيات في أنظمة التشغيل؟

Abdul Malik Essa

السؤال

Recommended Posts

  • 1

بشكل عام ضمن أنظمة التشغيل، نصادف أحيانا ثلاث حالات للإنهاء:
- الحالة الطبيعية: عندما تنتهي الاجرائية من تنفيذ آخر تعليمة لها تطلب من نظام التشغيل أن يقوم بحذفها عن طريق استدعاء نظام يدعى exit بالتالي في هذه النقطة بعد استدعاء النظام exit فإنه يتم تحرير deallocate كل الموارد التي كانت تحجزها هذه الإجرائية لتعود إلى نظام التشغيل ويتم تحرير flush كل الملفات المفتوحة وإغلاقها.
- الحالة الخاصة: قد تطلب الإجرائية أن يتم إنهائها قبل تنفيذ كل التعليمات وذلك عن طريق استدعاء النظام exit (هو تابع يرد قيمة وقد يختلف اسمه من نظام لآخر) الذي يرد قيمة صحيحة integer هذا العدد الصحيح int يمرر passed إلى الإجرائية الأب parent في حال كان الأب قد استدعى wait ويرد الإجرائية  exit إحدى القيمتين:
•يرد zero في حال إن إنهاء الإجرائية تم بشكل صحيح.
•يرد non-zero (رقم عشوائي صحيح) فيحال تم حدوث مشاكل قبل الإنهاء.
- الحالة القسرية: في حال أرادت الإجرائية الأب أن تقوم بإنهاء الإجرائيات الأبناء تستخدم استدعاء النظام يدعى abort
وهذه بعض الاسباب للقيام بذلك: 1. الإجرائية البنت child تخطت الاستخدام المسموح به لبعض الموارد التي خصصت لها. 2.  المهمة task التي اعطت للإجرائية البنت لم تعد مهمة (لاحاجة لها بعد الآن no required ). 3. الإجرائية الأب انتهت (تنفذ exit) ولكن نظام التشغيل لايسمح بإنهاء الأب قبل البنت وبالتالي سوف تنهي الإجرائية البنت لتستطيع أن تنهي نفسها.
ملاحظة: إذا انتهى الأب فإن نظام التشغيل قد وقد لا يسمح بوجود الابن بدون أبيه (يختلف الأمر من نظام تشغيل لآخر).

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

يمكنك إرسال إشارة إلى الإجرائية تعلمها برغبتك في انهاء عملها، وهي بدورها تقوم بالاعمال اللازمة والانهاء، أو أن تقوم بإنهائها قسرا عن طريق نظام التشغيل

في لينكس تستخدم الأمر kill لإرسال الاشارات الى الاجرائيات ومنها اشارات انهاء العمل:

  • SIGTERM اشارة للطلب من الاجرائية الخروج، سيتم تلقي الاشارة من الاجرائية والمباشرة بعمليات الانهاء
kill -15 PID
  • SIGKILL اشارة انهاء الاجرائية قسرا حيث يقوم نظام التشغيل بايقاف عمل الاجرائية فورا
kill -9 PID

حيث PID هو معرف الاجرائية يمكن الحصول عليه من خرج تنفيذ التعليمة التالية

ps

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال Abdul Malik Essa:

يعطيكم العافية..

كيف يتم إنهاء الاجرائيات في ال OS ؟

عذراً ولكن لا أفهم قصدك بإنهاء الإجرائيات, هل ممكن التوضيح بشكل أكبر؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...