در این بخش سورس کد پروژه الگوریتم زمانبندی LPT در سی شارپ #C بطور کامل توضیح داده شده است. زمانبندی Scheduler یکی از موضوعات مهم در سیستم های عامل می باشد . زمانبندی نمایش چگونگی اختصاص منابع به پردازنده ها می باشد و مشخص کننده اینکه کدام فرایند به کدام پردازنده اختصاص داده شود. هنگامی که تعداد وظایف برای سیستم بیشتر باشد سیستم عامل تصمیم می گیرد که کدام وظیفه اول اجرا گردد.

الگوریتم زمانبندی LPT که مخفف Longest Processing Time به معنای طولانی ترین زمان برای پردازش است که یک الگوریتم زمانبندی ایستا غیر قابل پس گرفتن، بوده و در هر زمان که پردازنده ‌ای آزاد می شود، از بین کار های باقی مانده طولانی ‌ترین کار را برای اجرا انتخاب می نمائید.

توضیح الگوریتم LPT

برای درک بهتر الگوریتم زمانبندی LPT به مثال زیر توجه کنید:

طول زمانبندی را در کار های 6 ، 2 ، 13 ، 2 ، 7 ، 1 ، 4 ، 8  در حالت دو پردازنده محاسبه کنید:

ابتدا کارها را به ترتیب نزولی مرتب می کنیم:

1 ، 2 ، 2 ، 4 ، 6 ، 7 ، 8 ، 13

سپس کارها را به ترتیب به پردازنده ها داده و هر پردازنده ای که کارش را انجام داد کار بعدی را اجرا خواهد کرد.

نتیجه به این صورت زیر خواهد شد:

1  2  6  13 <<< M1

2  4  7  8  <<< M2

بنابراین طول زمانبندی برابر 22 خواهد شد.

بررسی کد الگوریتم زمانبندی LPT در سی شارپ #C

برای مثال برای دکمه “افزودن” و “پاک کردن لیست” به ترتیب کد های زیر اجرا می شوند:

طبق تعریف ابتدا کار مرتب سازی شده و سپس کار ها را به ترتیب به پردازنده ها داده می شود که تکه ای از آن در زیر آمده است:

تصویر خروجی برنامه

الگوریتم زمانبندی LPT در سی شارپ

درباره محصول

سورس کد الگوریتم زمانبندی LPT در سی شارپ #C با استفاده از Microsoft Visual Studio 2013 نوشته شده است و دارای گزارش کار 7 صفحه ای در Word است و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.

1 دیدگاه برای الگوریتم زمانبندی LPT در سی شارپ #C

  1. امین جلیل زاده

    نظرات و پیشنهادات خود را با ما در میان بگذارید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *