برنامه ریزی فرآیندها/کار برای پایان کار به موقع انجام می شود. برنامه ریزی CPU فرآیندی است که به یک فرآیند اجازه می دهد تا از CPU استفاده کند در حالی که فرآیند دیگر به دلیل عدم دسترسی به منابع مانند I / O و غیره به تأخیر می افتد (در حالت آماده به کار). هدف از برنامه ریزی CPU کارآمدتر ، سریعتر و عادلانه تر است.
آموزش در مورد الگوریتم های برنامه ریزی CPU در سیستم عامل
هر زمان که CPU بیکار شود ، سیستم عامل باید یکی از فرآیندهای موجود در خط آماده برای راه اندازی را انتخاب کند. فرایند انتخاب توسط یک برنامه ریز موقت (CPU) انجام می شود. برنامه ریزی بین فرآیندهای حافظه آماده برای راه اندازی و اختصاص CPU را به یکی از آنها انتخاب می کند.
فهرست مطالب
فرآیند چیست؟
در محاسبات ، یک فرآیند نمونه ای از یک برنامه رایانه ای است که توسط یک یا بسیاری از موضوعات اجرا می شود. این شامل کد برنامه و فعالیت آن است. بسته به سیستم عامل (OS) ، یک فرآیند ممکن است از چندین موضوع اجرا تشکیل شود که همزمان دستورالعمل ها را اجرا می کنند.
چگونه از حافظه فرآیند برای عملکرد کارآمد استفاده می شود؟
حافظه فرآیند برای عملکرد کارآمد به چهار بخش تقسیم می شود:
- دسته متن از کد برنامه یکپارچه تشکیل شده است که هنگام راه اندازی برنامه از ذخیره ثابت خوانده می شود.
- کلاس داده از متغیرهای جهانی و استاتیک تشکیل شده است که قبل از عمل اصلی توزیع و اجرا می شود. برای تخصیص حافظه انعطاف پذیر یا پویا استفاده می شود و با تماس به New ، Delete ، Malloc ، Free و غیره اداره می شود.
- پشته برای متغیرهای محلی استفاده می شود. فضای موجود در پشته هنگام اعلام برای متغیرهای محلی محفوظ است.
برای دانستن بیشتر ، می توانید به مقاله مفصل ما در مورد حالت های یک فرآیند در سیستم عامل مراجعه کنید.
برنامه ریزی فرآیند چیست؟
برنامه ریزی فرآیند فرآیند مدیر فرآیند است که از حذف یک فرآیند فعال از CPU و انتخاب فرآیند دیگر بر اساس یک استراتژی خاص استفاده می کند.
برنامه ریزی فرآیند بخشی جدایی ناپذیر از برنامه های چند برنامه نویسی است. چنین سیستم عامل هایی اجازه می دهد تا بیش از یک فرآیند در یک زمان در حافظه قابل استفاده بارگذاری شود و فرآیند CPU مشترک بارگذاری شده از زمان تکرار استفاده می کند.
سه نوع برنامه ریز فرآیند وجود دارد:
- برنامه ریزی بلند مدت یا شغلی
- برنامه ریز کوتاه مدت یا CPU
- برنامه ریز میان مدت
چرا ما نیاز به برنامه ریزی فرایندها داریم؟
- برنامه ریزی در بسیاری از محیط های مختلف رایانه ای مهم است. یکی از مهمترین زمینه ها برنامه ریزی است که کدام برنامه ها روی CPU کار می کنند. این کار توسط سیستم عامل (OS) رایانه انجام می شود و روش های مختلفی وجود دارد که می توانیم برای پیکربندی برنامه ها انتخاب کنیم.
- برنامه ریزی فرآیند به سیستم عامل اجازه می دهد تا زمان پردازنده را برای هر فرآیند اختصاص دهد. یکی دیگر از دلایل مهم استفاده از یک سیستم برنامه ریزی فرآیند این است که CPU را همیشه مشغول نگه می دارد. این به شما امکان می دهد زمان پاسخ کمتری را برای برنامه ها بدست آورید.
- با توجه به اینکه ممکن است صدها برنامه وجود داشته باشد که نیاز به کار داشته باشند ، سیستم عامل باید برنامه را راه اندازی کند ، آن را متوقف کند ، به برنامه دیگری تغییر دهد و غیره. نحوه پیکربندی سیستم عامل سیستم برای اجرای دیگری در CPU "تغییر زمینه" است. اگر سیستم عامل برنامه های سوئیچینگ زمینه را در داخل و خارج از CPU های ارائه شده نگه دارد ، می تواند به کاربر ایده ای دشوار بدهد که او بتواند برنامه هایی را که می خواهد اجرا کند ، همه یکباره اجرا کند.
- بنابراین اکنون که می دانیم می توانیم 1 برنامه را در یک CPU معین اجرا کنیم ، و می دانیم که می توانیم سیستم عامل را تغییر دهیم و یک مورد دیگر را با استفاده از سوئیچ زمینه حذف کنیم ، چگونه می توانیم برنامه هایی را که نیاز داریم انتخاب کنیم. اجرا ، و با چه برنامه ای؟
- اینجاست که برنامه ریزی وارد می شود!ابتدا، معیارها را تعیین می کنید و چیزی مانند "مدت زمان تا پایان" را بیان می کنید. ما این معیار را به عنوان "فاصله زمانی بین ورود یک تابع به سیستم تا تکمیل آن" تعریف خواهیم کرد. دوم، شما در مورد معیارهایی تصمیم می گیرید که معیارها را کاهش می دهد. ما می خواهیم وظایفمان هر چه زودتر تمام شود.
نیاز به الگوریتم زمانبندی CPU چیست؟
زمانبندی CPU فرآیندی است که در آن تصمیم میگیرید در زمانی که فرآیند دیگری به حالت تعلیق درآمده است، از کدام فرآیند استفاده شود. عملکرد اصلی زمانبندی CPU این است که اطمینان حاصل شود که هر زمان که CPU بیکار می ماند، سیستم عامل حداقل یکی از فرآیندهای موجود در خط آماده برای استفاده را انتخاب کرده است.
در Multiprogramming، اگر زمانبند طولانیمدت چندین فرآیند اتصال I/O را انتخاب کند، در بیشتر مواقع، CPU بیکار میماند. عملکرد یک برنامه موثر بهبود استفاده از منابع است.
اگر اکثر سیستم عامل ها وضعیت خود را از عملکرد به انتظار تغییر دهند، ممکن است همیشه احتمال خرابی در سیستم وجود داشته باشد. بنابراین برای به حداقل رساندن این مازاد، سیستم عامل نیاز به برنامه ریزی وظایف دارد تا از CPU استفاده کامل کند و از احتمال بن بست جلوگیری کند.
اهداف الگوریتم زمانبندی فرآیند:
- استفاده از CPU در حداکثر سطحCPU را تا حد امکان مشغول نگه دارید.
- تخصیص CPU باید منصفانه باشد.
- خروجی باید حداکثر باشد. یعنی تعداد فرآیندهایی که در واحد زمان اجرای خود را کامل می کنند باید حداکثر شود.
- حداقل زمان چرخش، یعنی زمان صرف شده توسط یک فرآیند برای اتمام اجرا باید حداقل باشد.
- باید حداقل زمان انتظار وجود داشته باشد و فرآیند نباید در صف آماده گرسنگی بماند.
- حداقل زمان پاسخگوییبه این معنی که زمانی که یک فرآیند اولین پاسخ را ایجاد می کند باید تا حد امکان کمتر باشد.
در هر الگوریتم زمانبندی CPU چه اصطلاحات مختلفی باید رعایت شود؟
- زمان رسیدن: زمانی که فرآیند در صف آماده می رسد.
- زمان تکمیل: زمانی که فرآیند اجرای خود را کامل می کند.
- Burst Time: زمان مورد نیاز یک فرآیند برای اجرای CPU.
- Turn Around Time: تفاوت زمان بین زمان تکمیل و زمان رسیدن.
زمان گردش = زمان تکمیل - زمان رسیدن
- زمان انتظار (W. T): تفاوت زمان بین زمان چرخش و زمان انفجار.
زمان انتظار = زمان چرخش - زمان انفجار
هنگام طراحی الگوریتم زمانبندی CPU چه نکاتی را باید رعایت کرد؟
الگوریتم های مختلف CPU Scheduling ساختارهای متفاوتی دارند و انتخاب یک الگوریتم خاص به عوامل مختلفی بستگی دارد. شرایط بسیاری برای مقایسه الگوریتم های زمان بندی CPU مطرح شده است.
معیارها شامل موارد زیر است:
- استفاده از CPU: هدف اصلی هر الگوریتم CPU این است که CPU را تا حد امکان مشغول نگه دارد. از نظر تئوری، استفاده از CPU می تواند از 0 تا 100 باشد، اما در یک سیستم بلادرنگ، بسته به بار سیستم، از 40 تا 90 درصد متغیر است.
- Throughput: میانگین عملکرد CPU تعداد فرآیندهای انجام شده و تکمیل شده در طول هر واحد است. به این می گویند توان عملیاتی. خروجی ممکن است بسته به طول یا مدت فرآیندها متفاوت باشد.
- Turn round Time: برای یک فرآیند خاص، شرایط مهم این است که چقدر طول می کشد تا آن فرآیند انجام شود. زمان سپری شده از زمان تحویل فرآیند تا زمان تکمیل به عنوان زمان تبدیل شناخته می شود. زمان تبدیل مدت زمان صرف شده برای دسترسی به حافظه، انتظار در صف، استفاده از CPU و انتظار برای I/O است.
- زمان انتظار: الگوریتم برنامه ریزی بر زمان لازم برای تکمیل فرآیند پس از شروع کار تأثیر نمی گذارد. این فقط بر زمان انتظار روند یعنی زمان صرف شده در فرآیند انتظار در صف آماده تأثیر می گذارد.
- زمان پاسخ: در یک سیستم مشترک ، چرخش زمان بهترین گزینه نیست. این فرایند ممکن است چیزی را در اوایل تولید کند و در حالی که نتایج قبلی برای کاربر منتشر می شود ، به محاسبه نتایج جدید ادامه دهد. بنابراین روش دیگر زمان لازم در ارسال فرآیند درخواست تا زمان صدور پاسخ اول است. این اندازه گیری زمان پاسخ نامیده می شود.
انواع مختلف الگوریتم های برنامه ریزی CPU چیست؟
عمدتا دو نوع روش برنامه ریزی وجود دارد:
-
: برنامه ریزی پیشگیرانه هنگامی که یک فرآیند از حالت در حال اجرا به حالت آماده یا از حالت انتظار به حالت آماده تبدیل می شود ، استفاده می شود.: برنامه ریزی غیر پیشگیرانه در هنگام خاتمه فرآیند استفاده می شود ، یا هنگامی که یک فرآیند از حالت در حال اجرا به حالت انتظار تبدیل می شود.
انواع مختلف الگوریتم برنامه ریزی CPU
بگذارید اکنون در مورد این الگوریتم های برنامه ریزی CPU در سیستم عامل ها یک به یک اطلاعات کسب کنیم:
1. ابتدا بیاید خدمت کنید:
FCF ها ساده ترین الگوریتم های برنامه ریزی سیستم عامل هستند. برای اولین بار در اولین خدمت الگوریتم برنامه ریزی بیان می کند که فرایندی که ابتدا از پردازنده درخواست می کند ، ابتدا CPU اختصاص داده می شود و با استفاده از صف FIFO اجرا می شود.
ویژگی های FCFS:
- FCFS از الگوریتم های برنامه ریزی CPU غیر پیشگیرانه و پیشگیرانه پشتیبانی می کند.
- کارها همیشه بر روی یک مفهوم اول و خدمات اول اجرا می شوند.
- FCFS به راحتی قابل اجرا و استفاده است.
- این الگوریتم از نظر عملکرد بسیار کارآمد نیست و زمان انتظار بسیار زیاد است.
مزایای FCFS:
- آسان برای پیاده سازی
- اول بیا ، ابتدا روش خدمت
مضرات FCFS:
- FCFS از اثر کاروان رنج می برد.
- میانگین زمان انتظار بسیار بالاتر از سایر الگوریتم ها است.
- FCFS بسیار ساده و آسان است و از این رو کارآمد نیست.
برای کسب اطلاعات در مورد نحوه اجرای این الگوریتم برنامه ریزی CPU ، لطفاً به مقاله مفصل ما در First Come مراجعه کنید ، ابتدا برنامه ریزی را انجام دهید.
2. کوتاهترین کار اول (SJF):
کوتاهترین کار اول (SJF) یک فرآیند برنامه ریزی است که روند انتظار را با کمترین زمان اجرای برای اجرای بعدی انتخاب می کند. این روش برنامه ریزی ممکن است پیشگیرانه باشد یا نباشد. به طور قابل توجهی میانگین زمان انتظار برای سایر فرآیندهای انتظار را کاهش می دهد. شکل کامل SJF در ابتدا کوتاهترین کار است.
ویژگی های SJF:
- کوتاهترین کار در ابتدا این مزیت را دارد که حداقل زمان انتظار متوسط را در بین تمام الگوریتم های برنامه ریزی سیستم عامل داشته باشد.
- این با هر کار به عنوان یک واحد زمان برای تکمیل همراه است.
- در صورت ادامه فرآیندهای کوتاه تر ممکن است باعث گرسنگی شود. این مشکل را می توان با استفاده از مفهوم پیری حل کرد.
مزایای کوتاهترین کار اول:
- از آنجا که SJF میانگین زمان انتظار را کاهش می دهد ، بهتر از اولین الگوریتم برنامه ریزی برای اولین بار است.
- SJF به طور کلی برای برنامه ریزی طولانی مدت استفاده می شود
مضرات SJF:
- یکی از Demerit SJF گرسنگی است.
- بسیاری اوقات پیش بینی طول درخواست CPU آینده پیچیده می شود
برای کسب اطلاعات در مورد نحوه اجرای این الگوریتم برنامه ریزی CPU ، لطفاً ابتدا به مقاله مفصل ما در کوتاهترین کار مراجعه کنید.
3. طولانی ترین کار اول (LJF):
فرآیند زمانبندی Longest Job First (LJF) دقیقاً مخالف کوتاهترین کار اول (SJF) است، همانطور که از نام آن پیداست، این الگوریتم بر این واقعیت استوار است که فرآیند با بیشترین زمان پشت سر هم ابتدا پردازش میشود. Longest Job First ماهیت غیر پیشگیرانه دارد.
ویژگی های LJF:
- در بین تمام فرآیندهایی که در صف انتظار هستند، CPU همیشه به فرآیندی که بیشترین زمان پشت سر هم را دارد اختصاص مییابد.
- اگر دو فرآیند دارای زمان پشت سر هم یکسان باشند، تساوی با استفاده از FCFS شکسته میشود، یعنی فرآیندی که ابتدا وارد شد، ابتدا پردازش میشود.
- LJF CPU Scheduling می تواند از نوع پیشگیرانه و غیر پیشگیرانه باشد.
مزایای LJF:
- تا زمانی که طولانی ترین کار یا فرآیند به طور کامل اجرا نشود، هیچ کار دیگری نمی تواند برنامه ریزی کند.
- تقریباً همه کارها یا فرآیندها در یک زمان به پایان می رسند.
معایب LJF:
- به طور کلی، الگوریتم LJF میانگین زمان انتظار و متوسط زمان چرخش را برای مجموعه ای از فرآیندها ارائه می دهد.
- این ممکن است منجر به اثر کاروان شود.
برای آشنایی با نحوه پیادهسازی این الگوریتم زمانبندی CPU، لطفاً به مقاله مفصل ما در مورد اولین زمانبندی طولانیترین کار مراجعه کنید.
4. برنامه ریزی اولویت:
الگوریتم زمانبندی اولویت پیشگیرانه CPU یک روش پیشگیرانه از الگوریتم زمانبندی CPU است که بر اساس اولویت یک فرآیند کار می کند. در این الگوریتم، ویرایشگر توابع را به همان اندازه مهم تنظیم می کند، به این معنی که ابتدا باید مهمترین فرآیند انجام شود. در مورد هر تضاد، یعنی جایی که بیش از یک پردازنده با ارزش برابر وجود دارد، مهم ترین الگوریتم برنامه ریزی CPU بر اساس الگوریتم FCFS (First Come First Serve) کار می کند.
ویژگی های برنامه ریزی اولویت:
- وظایف را بر اساس اولویت برنامه ریزی می کند.
- وقتی کار با اولویت بالاتر می رسد در حالی که یک کار با اولویت کمتر اجرا می شود، کار با اولویت بالاتر جای کار با اولویت کمتر را می گیرد و
- دومی تا پایان اجرا به حالت تعلیق درآمده است.
- کمتر تعداد تخصیص داده شده، بالاتر سطح اولویت یک فرآیند است.
مزایای برنامه ریزی اولویت:
- میانگین زمان انتظار کمتر از FCFS است
- پیچیدگی کمتر
معایب برنامه ریزی اولویت بندی:
- یکی از رایج ترین معایب الگوریتم زمان بندی CPU اولویت پیشگیرانه، مسئله گرسنگی است. این مشکلی است که در آن یک فرآیند باید مدت زمان بیشتری منتظر بماند تا به CPU برنامه ریزی شود. این وضعیت مشکل گرسنگی نامیده می شود.
برای آشنایی با نحوه اجرای این الگوریتم زمانبندی CPU، لطفاً به مقاله مفصل ما در مورد الگوریتم زمانبندی پیشگیرانه اولویتی مراجعه کنید.
5. دوره گرد:
Round Robin یک الگوریتم زمانبندی CPU است که در آن به هر فرآیند به صورت دوره ای یک شکاف زمانی ثابت اختصاص داده می شود. این نسخه پیشگیرانه الگوریتم زمانبندی CPU First come First Serve است. الگوریتم CPU Round Robin به طور کلی بر تکنیک Time Sharing تمرکز دارد.
ویژگی های دور رابین:
- این ساده، آسان برای استفاده و بدون گرسنگی است زیرا همه فرآیندها تخصیص متعادل CPU را دریافت می کنند.
- یکی از پرکاربردترین روش ها در زمان بندی CPU به عنوان هسته.
- این امر پیشگیرانه در نظر گرفته می شود زیرا فرآیندها برای مدت زمان بسیار محدودی به CPU داده می شوند.
مزایای استفاده از دور رابین:
- Round Robin به نظر منصفانه است زیرا هر فرآیند سهم مساوی از CPU را دریافت می کند.
- فرآیند ایجاد شده جدید به انتهای صف آماده اضافه می شود.
برای آشنایی با نحوه پیادهسازی این الگوریتم زمانبندی CPU، لطفاً به مقاله مفصل ما در مورد الگوریتم Round Robin Scheduling مراجعه کنید.
6. ابتدا کوتاهترین زمان باقی مانده:
کوتاهترین زمان باقیمانده اولین نسخه پیشگیرانه کوتاهترین شغل است که قبلاً در مورد آن بحث کرده ایم که پردازنده به کار نزدیک به اتمام اختصاص یافته است. در SRTF فرآیند با کمترین زمان باقیمانده تا زمان انتخاب برای اجرای آن انتخاب می شود.
ویژگی های کوتاهترین زمان باقی مانده اول:
- الگوریتم SRTF پردازش مشاغل را سریعتر از الگوریتم SJF انجام می دهد ، با توجه به اینکه هزینه های سربار شمارش نشده است.
- سوئیچ زمینه در SRTF بارها بیشتر از SJF انجام می شود و زمان ارزشمند CPU را برای پردازش مصرف می کند. این به زمان پردازش آن می افزاید و از مزیت پردازش سریع آن کم می شود.
مزایای SRTF:
- در SRTF فرآیندهای کوتاه بسیار سریع انجام می شود.
- این سیستم همچنین به سربار بسیار کمی نیاز دارد زیرا فقط با اتمام یک فرآیند یا یک فرآیند جدید تصمیم می گیرد.
مضرات SRTF:
- مانند کوتاهترین کار اول ، همچنین پتانسیل گرسنگی فرآیند را دارد.
- در صورت اضافه شدن فرایندهای کوتاه به طور مداوم ، فرآیندهای طولانی ممکن است به طور نامحدود نگه داشته شوند.
برای کسب اطلاعات در مورد نحوه اجرای این الگوریتم برنامه ریزی CPU ، لطفاً به مقاله مفصل ما در کوتاهترین زمان باقی مانده اول مراجعه کنید.
7. طولانی ترین زمان باقی مانده اول:
طولانی ترین زمان باقیمانده ، نسخه پیشگیرانه طولانی ترین الگوریتم برنامه ریزی اول است. این الگوریتم برنامه ریزی توسط سیستم عامل برای برنامه ریزی فرآیندهای ورودی برای استفاده به روش منظم استفاده می شود. این الگوریتم ابتدا آن فرآیندها را برنامه ریزی می کند که طولانی ترین زمان پردازش را برای تکمیل دارند.
ویژگی های طولانی ترین زمان باقی مانده اول:
- در بین تمام فرایندهایی که در یک صف انتظار منتظر هستند ، CPU همیشه با بیشترین زمان پشت سر هم به این روند اختصاص می یابد.
- اگر دو فرآیند دارای زمان پشت سر هم یکسان باشند، تساوی با استفاده از FCFS شکسته میشود، یعنی فرآیندی که ابتدا وارد شد، ابتدا پردازش میشود.
- LJF CPU Scheduling می تواند از نوع پیشگیرانه و غیر پیشگیرانه باشد.
مزایای LRTF:
- هیچ فرآیند دیگری نمی تواند تا زمانی که طولانی ترین کار به طور کامل انجام شود ، اجرا شود.
- تقریباً همه کارها یا فرآیندها در یک زمان به پایان می رسند.
مضرات LRTF:
- این الگوریتم زمان انتظار بسیار متوسط و میانگین زمان چرخش را برای مجموعه مشخصی از فرآیندها می دهد.
- این ممکن است به اثر کاروان منجر شود.
برای کسب اطلاعات در مورد نحوه اجرای این الگوریتم برنامه ریزی CPU ، لطفاً به مقاله مفصل ما در طولانی ترین زمان باقی مانده مراجعه کنید.
8. بالاترین نسبت پاسخ بعدی:
بالاترین نسبت پاسخ بعدی یک الگوریتم برنامه ریزی CPU غیر پیشگیرانه است و به عنوان یکی از بهینه ترین الگوریتم های برنامه ریزی در نظر گرفته می شود. این نام خود بیان می کند که ما باید نسبت پاسخ کلیه فرآیندهای موجود را پیدا کنیم و یکی را با بالاترین نسبت پاسخ انتخاب کنیم. یک فرآیند که پس از انتخاب ، تا زمان اتمام اجرا می شود.
ویژگی های بالاترین نسبت پاسخ بعدی:
- معیارهای HRRN نسبت پاسخ است و حالت غیرقانونی است.
- HRRN به عنوان اصلاح کوتاهترین کار برای کاهش مشکل گرسنگی در نظر گرفته می شود.
- در مقایسه با SJF ، در طول الگوریتم برنامه ریزی HRRN ، CPU به فرآیند بعدی اختصاص می یابد که دارای بالاترین نسبت پاسخ است و به روند کمتری که زمان پشت سر هم دارد ، نیست.
نسبت پاسخ = (W + S)/s
در اینجا ، W زمان انتظار روند تاکنون است و S زمان پشت سر هم روند است.
مزایای HRRN:
- الگوریتم برنامه ریزی HRRN به طور کلی عملکرد بهتری نسبت به کوتاهترین برنامه ریزی اول می دهد.
- کاهش زمان انتظار برای مشاغل طولانی تر وجود دارد و همچنین مشاغل کوتاه تر را تشویق می کند.
مضرات HRRN:
- اجرای برنامه ریزی HRRN امکان پذیر نیست زیرا نمی توان از زمان پشت سر هم هر کار را از قبل دانست.
- در این برنامه ریزی ، ممکن است یک بار اضافه بر CPU رخ دهد.
برای کسب اطلاعات در مورد نحوه اجرای این الگوریتم برنامه ریزی CPU ، لطفاً به مقاله مفصل ما در مورد بالاترین نسبت پاسخ بعدی مراجعه کنید.
9. برنامه ریزی چند صف:
فرآیندهای موجود در صف آماده را می توان به کلاسهای مختلفی تقسیم کرد که در آن هر کلاس نیازهای برنامه ریزی خاص خود را دارد. به عنوان مثال ، یک بخش مشترک یک فرآیند پیش زمینه (تعاملی) و یک فرآیند پس زمینه (دسته ای) است. این دو کلاس نیازهای برنامه ریزی متفاوتی دارند. برای این نوع شرایط از برنامه ریزی صف چند سطحی استفاده می شود.
توضیحات فرآیندها در نمودار فوق به شرح زیر است:
- فرآیندهای سیستم: CPU خود فرآیند خود را برای اجرا دارد ، که به طور کلی به عنوان فرآیند سیستم گفته می شود.
- فرآیندهای تعاملی: یک فرآیند تعاملی نوعی فرآیند است که در آن باید همان نوع تعامل وجود داشته باشد.
- فرآیندهای دسته ای: پردازش دسته ای به طور کلی یک تکنیک در سیستم عامل است که قبل از شروع پردازش برنامه ها و داده ها را به صورت دسته ای جمع می کند.
مزایای برنامه ریزی صف چند سطحی:
- شایستگی اصلی صف چند سطحی این است که برنامه ریزی کمتری دارد.
مضرات برنامه ریزی صف چند سطحی:
- مشکل گرسنگی
- از نظر طبیعت انعطاف پذیر است
برای اطلاع از نحوه اجرای این الگوریتم برنامه ریزی CPU ، لطفاً به مقاله مفصل ما در مورد برنامه ریزی صف چند سطحی مراجعه کنید.
10. برنامه ریزی صف بازخورد چند سطحی ::
برنامه ریزی CPU بازخورد چند سطحی (MLFQ) برنامه ریزی CPU مانند برنامه ریزی صف چند سطحی است اما در این فرآیند می تواند بین صف ها حرکت کند. و بنابراین ، بسیار کارآمدتر از برنامه ریزی صف چند سطحی.
ویژگی های برنامه ریزی صف بازخورد چند سطحی:
- در یک الگوریتم برنامه ریزی صف چند سطحی ، فرآیندها به طور دائم به صف ورود به سیستم اختصاص می یابند و فرآیندها مجاز به حرکت بین صف نیستند.
- از آنجا که فرآیندها به طور دائم به صف اختصاص می یابند ، این تنظیم از مزیت برنامه ریزی کم سربار برخوردار است ،
- اما از طرف دیگر ضرر انعطاف پذیر بودن.
مزایای برنامه ریزی صف بازخورد چند سطحی:
- انعطاف پذیرتر است
- این اجازه می دهد تا فرآیندهای مختلف بین صف های مختلف حرکت کنند
مضرات برنامه ریزی صف بازخورد چند سطحی:
- همچنین سرپرستان CPU را تولید می کند
- این پیچیده ترین الگوریتم است.
برای اطلاع از نحوه اجرای این الگوریتم برنامه ریزی CPU ، لطفاً به مقاله مفصل ما در مورد برنامه ریزی صف بازخورد چند سطحی مراجعه کنید.