مرجع
آخر الزيارات

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

427 كلمة•0 مشاهدة•🗒️ منذ يوم
باختصار: المجدولات Schedulers:.

المجدولات Schedulers:

إضافةً إلى ذلك، جدولة المعالج هي عدد كبير من الإجرائيات التي لا تتسع لها  الذاكرة الرئيسية، يتم نقل هذه الإجرائيات إلى الذاكرة الثانوية (القرص) لتخزن ضمن لائحة المهام job pool, يقوم مجدول المهام job scheduler أو يدعى  long-term scheduler المجدول طويل الأمد، باختيار الإجرائيات من هذه اللائحة لنقلها إلى الذاكرة الرئيسية ليتم تنفيذها، بينما يقوم المجدول قصير الأمد short-term scheduler أو يدعى مجدول وحدة المعالجة المركزية CPU scheduler, باختيار إحدى الإجرائيات الجاهزة للتنفيذ وحجز وحدة المعالجة المركزية لها. الفرق الرئيسي بين هذين المجدولين يكمن في تواتر عملها (عدد مرات التكرار خلال ثانية واحدة), المجدول قصير الأمد short-term يجب أن يختار إجرائية جديدة لوحدة المعالجة المركزية بتردد عالي، لأن زمن بقاء الإجرائية قيد التنفيذ قد لا يتجاوز عدة ميلي ثانية قبل أن تقوم بطلب جهاز دخل/خرج، غالباً فإن المجدول قصير الأمد يقوم بانتقاء إجرائية كل 100 ميلي ثانية، وبسبب الوقت القصير بين عمليات الانتقاء، فإن المجدول قصير الأمد يجب أن يكون سريعاُ في عمله، فمثلاً إذا تطلبت عملية انتقاء الإجرائية 10 ميلي ثانية بالنسبة للمجدول قصير الأمد، وكان زمن تنفيذ الإجرائية هو 100 ميلي ثانية، عندها فإن 9% من زمن وحدة المعالجة المركزية يضيع على جدولة الإجرائيات. أما بالنسبة للمجدول طويل الأمد long-term, يتم التنفيذ بتردد أبطأ، ربما قد يصل إلى دقائق. يتحكم المجدول طويل الأمد بدرجة degree تعدد البرمجة multi-programming (وهو عدد الإجرائيات الموجودة في الذاكرة), إذا كانت درجة تعدد البرمجة مستقرة فهذا يعني أن المعدل الوسطي لإنشاء إجرائيات جديدة يساوي المعدل الوسطي للإجرائيات التي تغادر الذاكرة (تنتهي terminated), وبالتالي فإن المجدول طويل الأمد يمكننا أن لا نستدعيه إلا عندما تغادر إحدى الإجرائيات. وبسبب الفواصل الزمنية الطويلة بين عمليات استدعائه، يمكن للمجدول طويل الأمد أن يأخذ وقته الكافي ليقرر أي إجرائية سيقوم بانتقائها.

من جهة ثانية، يمكن تصنيف أغلب الإجرائيات بشكل عام إلى: I/O-bound process إجرائيات نمط دخل/خرج، وهي إجرائيات تقضي أغلب وقتها في تنفيذ عمليات دخل/خرج، أكثر مما تقضيه في تنفيذ العمليات الحسابية. التنصيف الثاني هو CPU-bound process إجرائيات نمط معالجة، وكما هو متوقع، فإن هذه الإجرائيات تقضي أغلب وقتها في تنفيذ العمليات الحسابية أكثر مما تقضيه في تنفيذ عمليات دخل/خرج.  من المهم أن يقوم المجدول طويل الأمد باختيار مزيج mix متناسق من الإجرائيات، يضم إجرائيات نمط دخل/خرج وإجرائيات نمط معالجة. لأنه إذا كانت كل الإجرائيات نمط دخل/خرج I\O-bound سنجد أن رتل الجاهزية ready queue سيكون أغلب الوقت فارغ، وعملياً المجدول قصير الأمد لن يجد شيئاً ليفعله، إذا كانت كل الإجرائيات من نمط معالجة CPU-bound, عندها فإن أرتال اجهزة الدخل خرج ستكون على وجه التقريب فارغة، وعملياً أجهزة الدخل/خرج غير مستعملة، وفي كلا الحالتين يعتبر النظام غير متوازن، حتى نحصل على أفضل أداء للنظام يجب على المجدول طويل الأمد أن يقوم باختيار مزيج combination من الإجرائيات نمط المعالجة والإجرائيات نمط دخل/خرج.

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.