جدولة راوند روبن (Round-robin scheduling) تعتبر واحدة من أسهل خوارزميات جدولة العمليات (Process) في أنظمة التشغيل حيت تعطي حصص زمنية لكل عملية بطريقة متساوية واتجاه دائري، تتعامل مع جميع العمليات بدون أولوية لأي منها.[1][2] تتميز جدولة راوند روبن ببساطتها وسهولة تنفيذها، وأيضا خلوها من المجاعة(الموت جوعا) والتي تعني عدم حصول العملية على المصادر اللازمة لإنجازها نهائيا أو بعد فترة طويلة. من التطبيقات الأخرى التي تستخدام فيها جدولة راوند روبن هي شبكات الكمبيوتر حيث تستخدم لجدولة حزم البيانات المرسلة في شبكات الكمبيوتر.
سميت هذه الجدولة بـ راون روبن نسبة لمبدأ مشهور في مجالات أخرى، حيث يتشارك كل فرد في شيءمعين بالدور.
جدولة العمليات
لا يحبذ استخدام جدولة راوند روبن للأعمال في الحالات التي تكون فيها حجم الأعمال والمهام متفاوتة. فأي عملية تنتج أعمال كبيرة ستكون مفضلة عن غيرها من العمليات (لانها تأخذ وقت أطول من غيرها لإنجاز مهامها). يمكن حل هذه المشكلة باستخدام مشاركة الوقت (Time-sharing), مثال بإعطاء كل عمل وقت محدد ومقاطعته إذا لم ينته بحيث يحصل على وقت محدد مرة أخرى في الدورة القادمة.
مثال: الوقت المحدد يكون 100 مللي ثانية. لو كان Job1 يحتاج إلى 250 مللي ثانية ليكتمل، ستقوم جدولة راوند روبن بإعطائه 100 مللي ثانية ثم مقاطعته وإعطاء 100 مللي ثانية للعمليات التالية حتى يحصل الجميع على حصته من الوقت (100 مللي ثانية لكل عملية) بعد ذلك يحصل Job1 على حصة أخرى ويتكرر الأمر مرة أخرى حتى تنهتي العملية.
Job1: يحتاج إلى 250 مللي ثانية للانتهاء. حصص الوقت مقسمة إلى 100 مللي ثانية:
- أول دورة 100 مللي ثانية.
- ثاني دورة 100 مللي ثانية.
- ثالث دورة 100 مللي ثانية لكن Job1 سوف يقوم بإنهاء العملية بعد 50 مللي ثانية.
- الوقت الإجمالي المستغرق في المعالج لاتمام العملية(Job1) هو 250 مللي ثانية.
مراجع
- Silberschatz, Abraham; Galvin, Peter B.; Gagne, Greg (2010). "Process Scheduling". Operating System Concepts (الطبعة 8th). جون وايلي وأولاده (Asia). صفحة 194. .
5.3.4 Round Robin Scheduling
- Stallings, William (2015). Operating Systems: Internals and Design Principles. Pearson. صفحة 409. .