زمانبندی Scheduler یکی از موضوعات مهم در سیستم های عامل می باشد. در سورس کد پروژه الگوریتم زمانبندی LPT در سی شارپ #C به چگونگی اختصاص منابع به پردازنده ها با الگوریتم ال پی تی یا Longest Processing Time پرداخته شده است. الگوریتم زمانبندی LPT به معنای طولانی ترین زمان برای پردازش است که یک الگوریتم زمانبندی ایستای انحصاری، بوده و در هر زمان که پردازنده ای آزاد می شود، از بین کار های باقی مانده طولانی ترین کار را برای اجرا انتخاب می نماید.
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
توضیح الگوریتم 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 نوشته شده است و دارای گزارش کار 6 صفحه ای در Word است و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
محصولات مرتبط
اطلاعات تکمیلی محصول
نام محصول: | الگوریتم زمانبندی LPT در سی شارپ #C |
---|---|
نوع محصول: | سورس کد |
حجم فایل: | 63 کیلوبایت |
فرمت فایل: | sln در قالب ویژوال استودیو |
قابل اجرا در: | Microsoft Visual Studio 2013 و بالاتر |
موضوعات پیشنهادی دیگر
حجم فایل: | 63 کیلوبایت |
---|---|
فرمت فایل | sln در قالب ویژوال استودیو |
نسخه: | نهایی (همراه با گزارش کار 6 صفحه ای) |
هماهنگی با: | Microsoft Visual Studio 2013 و بالاتر |
تاکنون 316 نفر این محصول را تهیه کرده اند و 2 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
حجم فایل: | 63 کیلوبایت |
---|---|
فرمت فایل | sln در قالب ویژوال استودیو |
نسخه: | نهایی (همراه با گزارش کار 6 صفحه ای) |
هماهنگی با: | Microsoft Visual Studio 2013 و بالاتر |
2 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
ستاره
گزارش کار محصول برای توضیح و ارائه خیلی خوب بود.
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.