کوتاه‌ترین زمان باقی‌مانده

کوتاه‌ترین زمان باقیمانده  یا نخست کوتاه‌ترین زمان باقیمانده  یک روش برای زمان‌بندی فرایندها در سیستم‌عامل است. این الگوریتم نسخه غیر انحصاری الگوریتم نخست کوتاه‌ترین کار است. دراین الگوریتم، پروسه‌ای برای اجرا انتخاب می‌شود که به کمترین زمان برای کامل شدن احتیاج داشته باشد. از آنجا که طبق تعریف، پروسه‌ای که اکنون در حال اجراست، به کمترین زمان برای کامل شدن نیاز دارد (از بین پروسه‌های موجود در صف)، و همچنین با توجه به این موضوع که با ادامه یافتن اجرای پروسه این زمان کمتر هم می‌شود، پروسه جاری تا وقتی که اجرایش کامل نشده به‌طور مدام اجرا می‌شود، مگر اینکه پروسه کوتاه‌تری وارد سیستم شود. مزیت این روش این است که پروسه‌های کوتاه به سرعت سرویس می‌گیرند. همچنین سربار سیستم هم در این روش اندک است. چرا که سیستم تنها وقتی نیاز به تصمیم گیری دارد که اجرای پروسه جاری کامل شد یا اینکه پروسه دیگری وارد سیستم شد. وقتی که پروسه جدیدی وارد سیستم می‌شود، تنها کاری که سیستم باید انجام دهد این است که زمان باقی‌مانده پروسه جاری را با زمان اجرای پروسه جدید مقایسه کند. دیگر پروسه‌ها به سادگی نادیده گرفته می‌شوند چرا که ما می‌دانیم زمان اجرای آن‌ها زیاد است.

همانند الگوریتم نخست کوتاه‌ترین کار، پدیده گرسنگی در این الگوریتم هم وجود دارد. اگر به‌طور مداوم پروسه‌های کوتاه وارد سیستم شوند، پروسه‌های بزرگتر می‌توانند تا ابد در صف منتظر بمانند و هیچگاه اجرا نشوند. همچنین از این الگوریتم هم به ندرت استفاده می‌شود. چرا که طول اجرای پروسه باید محاسبه شود که در عمل این کار امکان‌پذیر نیست. تنها زمانی از این الگوریتم استفاده می‌شود که طول اجرای پروسه‌ها از قبل مشخص باشد.

منابع 

الگوریتم‌های زمان‌بندی