در این بخش سورس کد پروژه الگوریتم زمانبندی 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
برای مثال برای دکمه “افزودن” و “پاک کردن لیست” به ترتیب کد های زیر اجرا می شوند:
private void BtnAdd_Click(object sender, EventArgs e) { LstJobList.Items.Add(TxtJob.Text); } private void button2_Click(object sender, EventArgs e) { LstJobList.Items.Clear(); } طبق تعریف ابتدا کار مرتب سازی شده و سپس کار ها را به ترتیب به پردازنده ها داده می شود که تکه ای از آن در زیر آمده است: public LPT(AlgorithmType AlgType) { Alg = AlgType; } public void SetJobsInList(ListBox lstjobs) { ClearArray(ref ListJob); for (int i = 0; i < CountJob; i++) { ListJob[i] = int.Parse(lstjobs.Items[i].ToString()); } } private void ClearArray(ref int[] A) { for (int i = 0; i < COUNTJOBINARRAY; i++) A[i] = -1; } private void ClearArray(ref int[,] A) { for (int i = 0; i < COUNTJOBINARRAY; i++) for (int j = 0; j < COUNTJOBINARRAY; j++) A[i, j] = -1; } private int FindMinSumIndex(int[,] TempWorkList) { int MinIndex = 0, MinValue = TempWorkList[0, COUNTJOBINARRAY - 1]; for (int i = 1; i < CountM; i++) { if (TempWorkList[i, COUNTJOBINARRAY - 1] < MinValue) { MinValue = TempWorkList[i, COUNTJOBINARRAY - 1]; MinIndex = i; } } return MinIndex; }
تصویر خروجی برنامه
ویدیو معرفی محصول
درباره الگوریتم زمانبندی lpt
سورس کد الگوریتم زمانبندی LPT در سی شارپ #C با استفاده از Microsoft Visual Studio 2013 نوشته شده است و دارای گزارش کار 7 صفحه ای در Word است و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
مباحث مرتبط با الگوریتم زمانبندی LPT در سی شارپ و سی پلاس پلاس
مباحث پیشنهادی در زمینه الگوریتم های تخصیص حافظه
تاریخ انتشار: | 14 آذر 1399 |
---|---|
تاریخ بروزرسانی: | 4 اردیبهشت 1400 |
حجم فایل: | 63 کیلوبایت |
فرمت فایل | sln در قالب ویژوال استودیو |
نسخه: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Microsoft Visual Studio 2013 و بالاتر |
تاکنون 312 نفر این محصول را تهیه کرده اند و 2 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
تاریخ انتشار: | 14 آذر 1399 |
---|---|
تاریخ بروزرسانی: | 4 اردیبهشت 1400 |
حجم فایل: | 63 کیلوبایت |
فرمت فایل | sln در قالب ویژوال استودیو |
نسخه: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Microsoft Visual Studio 2013 و بالاتر |
2 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
ستاره
گزارش کار محصول برای توضیح و ارائه خیلی خوب بود.
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.