دعونا نناقش الاختلافات بين كل من الجدولة الاستباقية وغير الاستباقية في موجز بمساعدة الرسم البياني المقارنة المبين أدناه.
رسم بياني للمقارنة
أساس للمقارنة | الجدولة الوقائية | غير الجدولة الوقائية |
---|---|---|
الأساسية | يتم تخصيص الموارد لعملية لفترة زمنية محدودة. | وبمجرد تخصيص الموارد لعملية ما ، تحتفظ بها العملية حتى تكمل وقت رشها أو تنتقل إلى حالة الانتظار. |
المقاطعة | يمكن أن تنقطع العملية بينهما. | لا يمكن مقاطعة العملية حتى يتم إنهاؤها أو تنتقل إلى حالة الانتظار. |
جوع | في حالة وصول عملية ذات أولوية عالية بشكل متكرر في قائمة الانتظار الجاهزة ، فقد تتعطل العملية ذات الأولوية المنخفضة. | إذا كانت العملية ذات وقت الرشقة الطويل تعمل على تشغيل وحدة المعالجة المركزية (CPU) ، فإن عملية أخرى ذات وقت انفصال أقل في وحدة المعالجة المركزية قد تتضور جوعًا. |
تكاليف غير مباشرة | تحتوي الجدولة الوقائية على نفقات عامة لجدولة العمليات. | لا تحتوي الجدولة غير الوقائية على نفقات عامة. |
المرونة | الجدولة الوقائية مرنة. | الجدولة غير الوقائية هي جامدة. |
كلفة | الجدولة الوقائية مرتبطة بالتكلفة. | الجدولة غير الوقائية ليست ترابطية التكاليف. |
تعريف الجدولة الوقائية
الجدولة الاستباقية هي واحدة يمكن القيام بها في الظروف عندما تنتقل العملية من حالة التشغيل إلى حالة الاستعداد أو من حالة الانتظار إلى حالة الاستعداد . هنا ، يتم تخصيص الموارد (دورات CPU) للعملية لفترة محدودة من الوقت ثم يتم أخذها ، ويتم وضع العملية مرة أخرى في قائمة الانتظار الجاهزة مرة أخرى إذا كان لا يزال لديها وقت انفصال CPU. تبقى العملية في قائمة انتظار جاهزة حتى تحصل على الفرصة التالية للتنفيذ.
في حالة وصول عملية ذات أولوية عالية في قائمة انتظار جاهزة ، لا يلزم الانتظار حتى تكتمل العملية الحالية وقت الرشقة. بدلاً من ذلك ، تتم مقاطعة العملية الحالية في منتصف التنفيذ ويتم وضعها في قائمة انتظار جاهزة حتى تستخدم العملية ذات الأولوية القصوى دورات CPU. بهذه الطريقة ، يحصل كل عملية في قائمة الانتظار جاهزة بعض الوقت لتشغيل CPU. يجعل جدولة وقائية مرنة ولكن ، ويزيد من النفقات العامة لتحويل العملية من تشغيل الدولة إلى حالة جاهزة وآية vise - verse.
الخوارزميات التي تعمل على الجدولة الوقائية هي Round Robin. أقصر الوظائف الأولى (SJF) وأولوية الجدولة قد تكون أو لا تأتي في إطار جدولة وقائية.
دعونا نأخذ مثالاً للجدولة الوقائية ، انظر في الصورة أدناه. لدينا أربع عمليات P0 ، P1 ، P2 ، P3. من بينها ، P2 يصل في الوقت 0. لذلك يتم تخصيص وحدة المعالجة المركزية لعملية P2 حيث لا توجد عملية أخرى في قائمة الانتظار. في هذه الأثناء ، كان P2 ينفذ ، P3 يصل في الوقت 1 ، والآن الوقت المتبقي لعملية P2 (5 ميلي ثانية) التي هي أكبر من الوقت اللازم من قبل P3 (4 مللي ثانية ثانية). لذلك يتم تخصيص وحدة المعالجة المركزية للمعالج P3.
تعريف الجدولة غير الوقائية
الجدولة غير الوقائية هي التي يمكن تطبيقها في الظروف التي تنتهي فيها العملية ، أو تبديل العملية من التشغيل إلى حالة الانتظار . في الجدولة غير الاستباقية ، بمجرد تخصيص الموارد (CPU) لعملية ، تحتفظ العملية CPU حتى يتم إنهاؤها أو تصل إلى حالة انتظار.
بعكس الجدولة الوقائية ، لا تقاطع الجدولة غير الوقائية عملية تشغيل وحدة المعالجة المركزية (CPU) في منتصف التنفيذ. بدلاً من ذلك ، تنتظر العملية لإكمال وقت الاندفاع CPU الخاص به ومن ثم يمكن تخصيص وحدة المعالجة المركزية إلى عملية أخرى.
في الجدولة غير الاستباقية ، إذا تم تنفيذ عملية ذات وقت انفصال وحدة المعالجة المركزية الطويلة ، فستضطر العملية الأخرى إلى الانتظار لفترة طويلة مما يزيد من متوسط وقت الانتظار للعمليات في قائمة الانتظار الجاهزة. ومع ذلك ، لا تحتوي الجدولة غير الوقائية على أي نفقات لتحويل العمليات من طابور جاهز إلى وحدة المعالجة المركزية (CPU) ، ولكنها تجعل الجدولة جامدة حيث أن العملية قيد التنفيذ لا يتم استباقها حتى لعملية ذات أولوية أعلى.
الاختلافات الرئيسية بين جدولة وقائية غير وقائية
- الفرق الأساسي بين الجدولة الاستباقية والغير وقائية هو أنه في الجدولة الوقائية يتم تخصيص وحدة المعالجة المركزية للعمليات لفترة زمنية محدودة . بينما في جدولة غير وقائية ، يتم تخصيص وحدة المعالجة المركزية للعملية حتى تنتهي أو تنتقل إلى حالة الانتظار .
- تتم مقاطعة عملية التنفيذ في الجدولة الوقائية في منتصف التنفيذ في حين أن عملية التنفيذ في جدولة غير وقائية لا تنقطع في منتصف التنفيذ.
- الجدولة الاستباقية لها النفقات العامة لتحويل العملية من حالة الاستعداد إلى حالة التشغيل ، والآية المثالية ، والحفاظ على قائمة الانتظار الجاهزة. على الجانب الآخر ، لا تحتوي الجدولة غير الاستباقية على نقل التبديل من تشغيل الحالة إلى حالة الاستعداد.
- في الجدولة الوقائية ، إذا كانت عملية ذات أولوية عالية تصل بشكل متكرر في قائمة الانتظار الجاهزة ، فيجب أن تنتظر العملية ذات الأولوية المنخفضة لمدة طويلة ، وقد تضطر إلى التجويع. من ناحية أخرى ، في الجدولة غير الاستباقية ، إذا تم تخصيص وحدة المعالجة المركزية للعملية مع وقت انفجار أكبر ، فقد تضطر إلى تجويع العمليات ذات وقت الرشقة الصغيرة.
- الجدولة الوقائية مرنة للغاية لأن العمليات الحيوية مسموح لها بالوصول إلى وحدة المعالجة المركزية عند وصولها إلى قائمة الانتظار الجاهزة ، بغض النظر عن العملية التي يتم تنفيذها حاليًا. الجدولة غير الاستباقية صلبة كما لو أن عملية حرجة تدخل قائمة انتظار جاهزة لا تشغل العملية التي تشغل وحدة المعالجة المركزية.
- الجدولة الوقائية هي علاقة ارتباطية التكاليف حيث يجب عليها الحفاظ على سلامة البيانات المشتركة التي ليست هي الحالة مع الجدولة غير الوقائية.
استنتاج:
ليس أن الجدولة الوقائية أفضل من الجدولة غير الوقائية أو الآية المثالية. يعتمد كل ذلك على كيفية تقليل الجدولة لمتوسط وقت انتظار العمليات وزيادة الاستفادة من وحدة المعالجة المركزية.