خوارزمية جدولة جولة روبن مع مثال

⚡ ملخص ذكي

تعتبر جدولة Round-Robin أقدم وأبسط خوارزمية استباقية لوحدة المعالجة المركزية، حيث تعمل كل عملية جاهزة لفترة زمنية ثابتة في قائمة انتظار دورية، مما يضمن تنفيذًا عادلًا وخاليًا من الحرمان من أجل تعدد المهام.

  • 🔄 فريف: يتم تشغيل كل مهمة جاهزة بالتناوب لفترة زمنية محددة.
  • ⏱️ الكم الزمني: يقوم المعالج المركزي بتبديل العمليات بعد فترة زمنية ثابتة، وهي الفترة الزمنية المحددة.
  • 🇧🇷 عدالة: تحصل كل عملية على وقت متساوٍ من وحدة المعالجة المركزية، مما يجنب حدوث حالة الحرمان.
  • 🧮 استباقي: تنتقل العملية التي تم مقاطعتها إلى نهاية قائمة الانتظار.
  • ✅ المزايا: التوزيع العادل، وعدم وجود تأثير للقافلة، ووقت استجابة يمكن التنبؤ به.
  • ⚠️ السلبيات: يعتمد الأداء على وحدة الوقت ويضيف تكلفة إضافية لتبديل السياق.

خوارزمية جدولة جولة روبن

ما هي جدولة جولة روبن؟

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

في جدولة التناوب الدوري، تُنفَّذ كل مهمة جاهزة بالتناوب فقط في طابور دوري لفترة زمنية محدودة. كما توفر هذه الخوارزمية تنفيذًا للعمليات دون حدوث أي انقطاع.

خصائص جدولة جولة روبن

فيما يلي الخصائص المهمة لجدولة Round-Robin:

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

مثال على جدولة جولة روبن

ضع في اعتبارك العمليات الثلاث التالية:

قائمة انتظار العملية وقت الانفجار
P1 4
P2 3
P3 5

جدولة جولة روبن

الخطوة 1) يبدأ التنفيذ بالعملية P1، التي لها وقت انفجاري 4. هنا، يتم تنفيذ كل عملية لمدة ثانيتين. لا يزال P2 وP2 في قائمة الانتظار.

جدولة جولة روبن

الخطوة 2) عند الزمن = 2، تتم إضافة P1 إلى نهاية قائمة الانتظار ويبدأ P2 في التنفيذ.

جدولة جولة روبن

الخطوة 3) عند الزمن = 4، يتم مقاطعة العملية P2 وإضافتها إلى نهاية قائمة الانتظار. وتبدأ العملية P3 بالتنفيذ.

جدولة جولة روبن

الخطوة 4) عند الزمن = 6، يتم مقاطعة العملية P3 وإضافتها إلى نهاية قائمة الانتظار. وتبدأ العملية P1 بالتنفيذ.

جدولة جولة روبن

الخطوة 5) عند الزمن = 8، يكون زمن تنفيذ العملية P1 هو 4. لقد أكملت العملية التنفيذ. تبدأ العملية P2 التنفيذ.

جدولة جولة روبن

الخطوة 6) مدة تنفيذ العملية P2 هي 3. وقد نفذت بالفعل فترتين. عند الزمن 9، تنتهي العملية P2 من التنفيذ. ثم تبدأ العملية P3 بالتنفيذ حتى تنتهي.

جدولة جولة روبن

الخطوة 7) لنحسب متوسط ​​وقت الانتظار للمثال أعلاه.

Wait time
P1 = 0 + 4 = 4
P2 = 2 + 4 = 6
P3 = 4 + 3 = 7

مزايا جدولة التناوب الدوري

فيما يلي مزايا وفوائد طريقة جدولة التناوب الدوري:

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

مساوئ جدولة جولة روبن

فيما يلي عيوب/سلبيات استخدام جدولة التناوب الدوري:

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

أسوأ حالة الكمون

يستخدم هذا المصطلح للحد الأقصى من الوقت المستغرق لتنفيذ جميع المهام.

  • dt = يشير إلى وقت الكشف عند إضافة مهمة إلى القائمة
  • st = يشير إلى وقت الانتقال من مهمة إلى أخرى
  • et = يشير إلى وقت تنفيذ المهمة

الصيغة:

Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti  + eti) N} + tISR
tISR = sum of all execution times

الأسئلة الشائعة

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

تُنفّذ خوارزمية FCFS كل عملية حتى اكتمالها حسب ترتيب وصولها، وهي خوارزمية غير استباقية. أما خوارزمية Round Robin فهي استباقية: إذ تُخصّص لكل عملية فترة زمنية ثابتة وتُجري دورات متكررة على قائمة الانتظار، مما يُحسّن زمن الاستجابة ويمنع العمليات الطويلة من حجب العمليات الأخرى.

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

يمكن للذكاء الاصطناعي والتعلم الآلي التنبؤ بسلوك العمليات وأنماط أحمال العمل لضبط قرارات الجدولة في الوقت الفعلي. وبدلاً من سياسة ثابتة، يستطيع النظام تعديل الأولويات والفترات الزمنية ديناميكيًا، مما يحسن من استخدام وحدة المعالجة المركزية، والإنتاجية، ووقت الاستجابة.

نعم. تستطيع نماذج الذكاء الاصطناعي تحليل أوقات الذروة السابقة وحمل النظام لاقتراح فترة زمنية مثالية، وتعديلها حسب تغير الظروف. وهذا يوازن بين عبء تبديل السياق ووقت الاستجابة بشكل أفضل من قيمة ثابتة واحدة.

تلخيص هذه التدوينة بـ: