جدولة راوند روبن (Round-robin scheduling) تعد أحد من أسهل خوارزميات جدولة العمليات (Process) في أنظمة التشغيل حيت تعطي حصص زمنية لكل عملية بوسيلة متساوية واتجاه دائري، تتعامل مع جميع العمليات بدون أولوية لاي منها. تعرف جدولة راوند روبن ببساطتها وسهولة تنفيذها، وأيضا خلوها من المجاعة(starvation) والتي تعني عدم حصول العملية على المصادر اللازمة لإنجازها نهائيا أو بعد مدة طويلة. من التطبيقات الأخرى التي تستعمل فيها جدولة راوند روبن هي شبكات الكمبيوتر حيث تستخدم لجدولة حزم البيانات المرسلة في شبكات الكمبيوتر.

سميت هذه الجدولة بـ راون روبن نسبة لمبدأ مشهور في مجالات أخرى، حيث يتشارك كل فرد في شيءمعين بالدور.

جدولة العمليات

لا يحبذ استعمال جدولة راوند روبن للأعمال في الحالات التي تكون فيها حجم الأعمال والمهام متفاوتة. فأي عملية تنتج أعمال كبيرة ستكون مفضلة عن غيرها من العمليات (لانها تأخذ وقت أطول من غيرها لإنجاز مهامها). يمكن حل هذه المشكلة باستخدام مشاركة الوقت (Time-sharing), مثال بإعطاء كل عمل وقت محدد ومقاطعته إذا لم ينتهي بحيث يحصل على وقت محدد مرة أخرى في الدورة القادمة.

مثال: الوقت المحدد يكون 100 مللي ثانية. لو كان Job1 يحتاج إلى 250 مللي ثانية ليكتمل، ستقوم جدولة راوند روبن بإعطائه 100 مللي ثانية ثم مقاطعته وإعطاء 100 مللي ثانية للعمليات التالية حتى يحصل الجميع على حصته من الوقت (100 مللي ثانية لكل عملية) بعد ذلك يحصل Job1 على حصة أخرى ويتكرر الأمر مرة أخرى حتى تنهتي العملية.

Job1: يحتاج إلى 250 مللي ثانية للانتهاء. حصص الوقت مقسمة إلى 100 مللي ثانية:

  1. أول دورة 100 مللي ثانية.
  2. ثاني دورة 100 مللي ثانية.
  3. ثالث دورة 100 مللي ثانية لكن Job1 سوف يقوم بإنهاء العملية بعد 50 مللي ثانية.
  4. الوقت الإجمالي المستغرق في المعالج لاتمام العملية Job1 هو 250 مللي ثانية.

المراجع

areq.net

التصانيف

مصطلحات حوسبة  خوارزميات   العلوم التطبيقية   علم الحاسوب