موصى به, 2024

اختيار المحرر

الفرق بين جدولة وقائية غير وقائية في نظام التشغيل

إنها مسؤولية جدولة وحدة المعالجة المركزية (CPU) لتخصيص عملية إلى وحدة المعالجة المركزية (CPU) عندما تكون وحدة المعالجة المركزية في حالة الخمول. يحدد جدولة وحدة المعالجة المركزية عملية من قائمة انتظار جاهزة ويخصص العملية إلى وحدة المعالجة المركزية (CPU). تسمى الجدولة التي تحدث عند تبديل إحدى العمليات من حالة تشغيل إلى حالة جاهزة أو من حالة انتظار إلى حالة جاهزة باسم " جدولة استباقية" . على اليد ، فإن الجدولة التي تحدث عندما تنهي العملية أو تنتقل من التشغيل إلى الانتظار لحالة هذا النوع من جدولة وحدة المعالجة المركزية تسمى " غير وقائي للجدولة" . الفرق الأساسي بين الجدولة الاستباقية والغير وقائية يكمن في اسمها نفسه. هذا هو جدولة استباقية يمكن استباقها ؛ يمكن جدولة العمليات. في جدولة غير وقائية ، لا يمكن جدولة العمليات.

دعونا نناقش الاختلافات بين كل من الجدولة الاستباقية وغير الاستباقية في موجز بمساعدة الرسم البياني المقارنة المبين أدناه.

رسم بياني للمقارنة

أساس للمقارنةالجدولة الوقائيةغير الجدولة الوقائية
الأساسيةيتم تخصيص الموارد لعملية لفترة زمنية محدودة.وبمجرد تخصيص الموارد لعملية ما ، تحتفظ بها العملية حتى تكمل وقت رشها أو تنتقل إلى حالة الانتظار.
المقاطعةيمكن أن تنقطع العملية بينهما.لا يمكن مقاطعة العملية حتى يتم إنهاؤها أو تنتقل إلى حالة الانتظار.
جوعفي حالة وصول عملية ذات أولوية عالية بشكل متكرر في قائمة الانتظار الجاهزة ، فقد تتعطل العملية ذات الأولوية المنخفضة.إذا كانت العملية ذات وقت الرشقة الطويل تعمل على تشغيل وحدة المعالجة المركزية (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.

وفي الوقت نفسه ، P3 كان ينفذ ، عملية P1 يصل في الوقت المناسب 2. الآن الوقت المتبقي لـ P3 (3 ميلي ثانية) هو أقل من الوقت اللازم من قبل العمليات P1 (4 ميلي ثانية) و P2 (5 ميلي ثانية). لذلك يسمح P3 للمتابعة. بينما تستمر عملية P3 في الوصول إلى العملية P0 في الوقت 3 ، فإن الوقت المتبقي لـ P3 (2 ملي ثانية) يساوي الوقت المطلوب بواسطة P0 (2 ملي ثانية). لذلك يستمر P3 وبعد إنهاء P3 يتم تخصيص وحدة المعالجة المركزية إلى P0 حيث أن وقت الاندفاع أقل من غيرها. بعد إنهاء P0 ، يتم تخصيص وحدة المعالجة المركزية إلى P1 ومن ثم إلى P2.

تعريف الجدولة غير الوقائية

الجدولة غير الوقائية هي التي يمكن تطبيقها في الظروف التي تنتهي فيها العملية ، أو تبديل العملية من التشغيل إلى حالة الانتظار . في الجدولة غير الاستباقية ، بمجرد تخصيص الموارد (CPU) لعملية ، تحتفظ العملية CPU حتى يتم إنهاؤها أو تصل إلى حالة انتظار.

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

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

دعونا نحل مثال الجدولة أعلاه بطريقة غير وقائية. كما في البداية ، تصل العملية P2 في وقت 0 ، لذلك يتم تخصيص وحدة المعالجة المركزية (CPU) للعملية P2 التي تستغرق 6 مللي ثانية لتنفيذها. بين جميع العمليات أي P0 ، P1 ، P3 يصل إلى طابور جاهز. ولكن جميع الانتظار حتى اكتمال عملية P2 وقت انف الخاص CPU الخاص به. ثم العملية التي تصل بعد P2 P3 ثم يتم تخصيص وحدة المعالجة المركزية حتى الانتهاء من ذلك هو وقت الانفجار. وبالمثل ، يتم تنفيذ P1 ، ومعالجتها فيما بعد لمعالجة P0.

الاختلافات الرئيسية بين جدولة وقائية غير وقائية

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

استنتاج:

ليس أن الجدولة الوقائية أفضل من الجدولة غير الوقائية أو الآية المثالية. يعتمد كل ذلك على كيفية تقليل الجدولة لمتوسط ​​وقت انتظار العمليات وزيادة الاستفادة من وحدة المعالجة المركزية.

Top