Table of Contents
الگوریتم های برنامه ریزی فرآیند، روش هایی هستند که توسط سیستم عامل ها برای مدیریت اجرای چندین وظیفه استفاده می شوند.آنها تعیین می کنند که کدام فرآیند در هر زمان معین اجرا می شود و هدف بهینه سازی عملکرد و استفاده از نمونه های دنیای واقعی می تواند به روشن کردن چگونگی عملکرد این الگوریتم ها در سناریوهای عملی کمک کند.
اولین بار، First-Served (FCFS)
این برنامه های الگوریتمی به ترتیب که می رسند، ساده و آسان است اما می تواند به مدت طولانی برای کارهای کوتاه تر منجر شود.
به عنوان مثال، در یک خط پرداخت فروشگاه مواد غذایی، مشتریان به ترتیبی که می رسند، صرف نظر از تعداد اقلامی که دارند، خدمت می کنند، این می تواند باعث تاخیر برای مشتریان با اقلام کمتری شود اگر کسی با بسیاری از موارد به خط اول ملحق شود.
Round Robin (RR)
این الگوریتم هر فرآیند را به یک برش زمانی ثابت یا فرآیندهای کوانتومی اختصاص می دهد.
تصور کنید گروهی از افراد یک کامپیوتر را به اشتراک می گذارند، هر کدام برای یک دوره زمانی مشخص می شوند، اگر فرد در زمان خود به پایان نرسد، به پشت خط برای چرخش دیگری می روند.این رویکرد مانع از هر فرایندی از یکپارچه سازی CPU می شود.
کوتاه ترین شغل بعدی (SJN)
این الگوریتم فرایند را با کوتاه ترین زمان اجرای مورد انتظار انتخاب می کند.این زمان انتظار را به حداقل می رساند اما نیاز به دانش قبلی از مدت زمان فرآیند دارد.
یک مرکز خدمات مشتری را در نظر بگیرید که در آن سوالات سریع در مورد مسائل طولانی اولویت بندی می شوند، این امر باعث می شود که راه حل سریع تری برای کارهای ساده ایجاد شود اما می تواند زمان بیشتری را برای موارد پیچیده صبر کند.
اولویت بندی
فرآیندها اولویت های تعیین شده هستند و برنامه نویس بالاترین فرآیند اولویت را برای اجرا انتخاب می کند.این می تواند پیشگیرانه یا غیر پیشگیرانه باشد.
در یک بیمارستان، موارد اضطراری قبل از بررسی های روتین درمان می شوند. وظایف اولویت بالا به سرعت مورد توجه قرار می گیرند، اما وظایف اولویت پایین تر ممکن است تاخیر را تجربه کنند.
- منصفانه بودن
- کارایی کارایی
- مسئولیت پذیری
- پیچیدگی