دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 71 کیلو بایت |
تعداد صفحات فایل | 10 |
صف کاربردهای زیادی در علم کامپیوتر دارد یکی از کاربردهای مهم صف در شبیه سازی است . صف ، در پیاده سازی جنبه های مختلف سیستم عامل است . محیط چند برنامه ای ، برای کنترل برنامه ها از چندین صف استفاده می کند . علاوه بر این ، صف در پیاده سازی بسیاری از الگوریتم ها مفیداست . به عنوان مثال ، الگوریتم های زمان بندی به وفور از صف استفاده می کنند .
درمحیط چند برنامه ای ، یک پردازنده ، همزمان به چند برنامه خدمات ارائه می کند . در این بخش ، اهمیت صف را برای مدیریت برنامه ها در چنین محیطی بررسی خواهیم کرد.
یک محیط چند برنامه ای را در نظر بگیرید که کارهایی که پردازنده باید انجام بدهد به سه دسته تقسیم می شوند :
1.وقفه هایی که باید پاسخ داده شوند دستگاه و پایانه های زیادی به پردازنده وصل هستند و ممکن است در هر لحظه ای برای دریافت خدمات ، وقفه هایی را صادر کنند . این کارها را فرآیندهای سیستم می نامیم .
2.کاربران محاوره ای که باید خدمات بگیرند معمولاً این ها برنامه های دانشجویان مختلفی هستند که در حالت اجرا قرار دارند .
3.کارهای دسته ای که باید خدمات بگیرند این برنامه ها مربوط به کاربران غیر محاوره ای است که اجرای آن ها معمولاً طول می کشد . هنگام تحویل این برنامه ها به سیستم ، تمام ورودی های آن ها نیز به سیستم وارد می شوند . برنامه های شبیه سازی ، و کارهای چاپ اسناد از این نوع اند .
در این جا مسئله این است که تمام کارها طوری زمان بندی شوند که کارایی مطلوب حاصل شود . یک روش پیاده سازی زمان بندی پیچیده ، دسته بندی کارها بر حسب ویژگی های آن ها است ، به طوری که برای هر دسته از کارها یک صف جداگانه در نظر گرفته شود . لذا ، در مثال مورد نظر ما ، سه صف خواهیم داشت که در بالا مشاهده می شود. این روش را زمان بندی صف چند سطحی می نامند . هرفرآیند ( یا کار ) در صف مخصوص به خود قرار می گیرد. در این حالت ، پردازنده براساس نوع اولویت صف ، به فرایند های آن صف پاسخ می دهد . در یک راهبرد ساده ، فرآیند های موجود در صفی با اولویت بیشتر (مثلا صف فرآیندهای سیستم ) خدمات می گیرند تا صف خالی شود . سپس پردازنده به صف فرآیند های محاوره ای با اولویت متوسط می رود و در نهایت به صف کارهای دسته ای می پردازد .
البته ، اگر فرآیندی درحال اجرا باشد و فرآیند دیگری با اولویت بیشتر به همان صف وارد شود ، فرآیند درحال اجرا توسط فرآیند با اولویت بیشتر قبضه می شود ، یعنی آن را از حالت اجرا خارج می کند و خودش اجرا می شود .
راهبرد صف چند سطحی یک نظام کلی است ولی عیب هایی دارد . عیب عمده اش این است که اگر فرآیند های صف با اولویت بالا زیاد باشند ، فرآیند های موجود در صف هایی با ا ولویت پایین تر ، باید مدت زیادی منتظر بمانند .
. یک روش حل این مسئله این است که...