نقص الموارد

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

عندما يكون تجويع الموارد مستحيلاً في خوارزمية متزامنة ، تُسمى الخوارزمية خالية من تجويع الموارد ، أو خالية من حالات الإغلاق [ 2 أو يُقال إنها ذات تجاوز محدود . [ 3 ] تُعد هذه الخاصية مثالاً على خاصية الحيوية ، وهي أحد الشرطين الأساسيين لأي خوارزمية استبعاد متبادل؛ والآخر هو الصحة . ويعني مصطلح "التجاوز المحدود" أن أي عملية (جزء متزامن) من الخوارزمية يتم تجاوزها عددًا محدودًا من المرات على الأكثر قبل السماح لها بالوصول إلى المورد المشترك . [ 3 ]

الجدولة

عادةً ما ينتج نقص الموارد عن خوارزمية جدولة مبسطة للغاية. على سبيل المثال، إذا كان نظام تعدد المهام (سيئ التصميم) ينتقل باستمرار بين المهمتين الأوليين بينما لا تُنفَّذ المهمة الثالثة أبدًا، فإن هذه المهمة تُحرم من وقت وحدة المعالجة المركزية . من المفترض أن تقوم خوارزمية الجدولة، وهي جزء من نواة النظام ، بتخصيص الموارد بشكل عادل؛ أي أن الخوارزمية يجب أن تُخصِّص الموارد بحيث لا تفتقر أي عملية إلى الموارد اللازمة بشكل دائم.

تعتمد العديد من برامج جدولة أنظمة التشغيل على مفهوم أولوية العمليات. تُنفَّذ العملية ذات الأولوية العالية (أ) قبل العملية ذات الأولوية المنخفضة (ب). إذا تعطلت العملية ذات الأولوية العالية (أ) ولم تُعطِ أي استجابة، فلن تُجدول العملية ذات الأولوية المنخفضة (ب) (في بعض الأنظمة) أبدًا، أي ستُعاني من نقص الموارد. وإذا وُجدت عملية ذات أولوية أعلى (س) تعتمد على نتيجة من العملية (ب)، فقد لا تُنهي العملية (س) عملها أبدًا، على الرغم من كونها أهم عملية في النظام. تُسمى هذه الحالة بانعكاس الأولوية . تحتوي خوارزميات الجدولة الحديثة عادةً على تعليمات برمجية تضمن حصول جميع العمليات على الحد الأدنى من كل مورد مهم (غالبًا وقت وحدة المعالجة المركزية) لمنع أي عملية من التعرض لنقص الموارد.

في شبكات الحاسوب، وخاصة الشبكات اللاسلكية، قد تعاني خوارزميات الجدولة من نقص الموارد المتاحة. ومن الأمثلة على ذلك جدولة الإنتاجية القصوى .

يحدث التجويع عادةً بسبب حالة الجمود، حيث يؤدي إلى توقف العملية. وتحدث حالة الجمود بين عمليتين أو أكثر عندما لا تقوم أيٌّ منها بأي شيء أثناء انتظارها لمورد يشغله برنامج آخر في نفس المجموعة. من ناحية أخرى، تكون العملية في حالة تجويع عندما تنتظر موردًا يُمنح باستمرار لعمليات أخرى. يُعدّ عدم حدوث التجويع ضمانًا أقوى من عدم حدوث الجمود: فخوارزمية الاستبعاد المتبادل التي يجب أن تختار السماح لإحدى عمليتين بالدخول إلى قسم حرج ، وتختار إحداهما عشوائيًا، تكون خالية من الجمود، ولكنها ليست خالية من التجويع. [ 3 ]

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

انظر أيضاً

مراجع

  1. تانينباوم، أندرو (2001). أنظمة التشغيل الحديثة . برنتيس هول. ص 184-185 . ISBN  0-13-092641-8.
  2. هيرليهي، موريس ؛ شافيت، نير (2012). فن برمجة المعالجات المتعددة . إلسيفير. ص 24. ISBN  9780123977953.
  3. 1 2 3 راينال، ميشيل (2012). البرمجة المتزامنة: الخوارزميات والمبادئ والأسس . سبرينغر ساينس آند بيزنس ميديا. الصفحات 10-11 . ISBN  978-3642320279.
  4. غالڤين، بيتر (2010). مفاهيم أنظمة التشغيل . طبعة وايلي الهند. ص 193. ISBN  978-81-265-2051-0.