گرسنگی منابع
در الگوریتمهای زمانبندی برتری (Priority Scheduling) مهمترین مشکلی که وجود دارد، مشکل قحطی زدگی یا گرسنگی است. این مشکل زمانی رخ میدهد که پردازشی با اولویت پایین در صف آماده قرار گیرد و بهطور دائم پردازشهایی با اولویت بالاتر وارد صف شوند. بدین ترتیب پردازنده خیلی دیر (یا حتی هیچگاه) به پردازش با اولویت پائین میرسد. یک مثال از این مشکل، مربوط به کامپیوتر IBM7094 در دانشگاه MIT است. هنگامی که این کامپیوتر را در سال ۱۹۷۳ خاموش کردند، متوجه شدند که پردازش با اولویت پایینی در سال ۱۹۶۷ تحویل داده شدهاست و هنوز اجرا نشده است!
یکی از راهحلهای مواجهه با این مسئله، استفاده از تکنیک سالخوردگی است. تکنیک سالخوردگی به این صورت است که به تدریج بر اولویت پردازشهای در لیست انتظار افزوده می شود. به این ترتیب حتی کم اولویتترین پردازشها هم در زمانی بالاترین اولویت را بدست خواهند آورد و پردازنده را در اختیار خواهد گرفت.
این مشکل از جهتی شبیه به مشکل بنبست است که هنگامی رخ میدهد که دو پردازش متوقف شدهاند و هر دو منتظر منبعیاند که توسط دیگری اشغال شده است. در مشکل گرسنگی هم پردازش منتظر منبعی است که دائماً در اختیار پردازشهای دیگر قرار داده میشود.
منابع
- مفاهیم سیستمعامل، آبراهام سیلبر شاتس، ترجمه پریسیما آتاماژوری، چاپ ۹