تفاوت کلیدی - زمانبندی در مقابل توزیعکننده
Scheduler و Dispatcher با زمانبندی فرآیند یک سیستم عامل مرتبط هستند. تفاوت کلیدی بین زمانبندی و توزیعکننده در این است که زمانبندیکننده فرآیندی را از بین چندین فرآیند برای اجرا انتخاب میکند در حالی که توزیعکننده، CPU را برای فرآیند انتخابشده توسط زمانبند اختصاص میدهد.
در یک سیستم کامپیوتری، چندین فرآیند در حال اجرا هستند. زمانبندی فرآیندی است که سیستم عامل برای تصمیم گیری در مورد اینکه کدام فرآیند باید به CPU برای اجرای چندین فرآیند اختصاص داده شود.
Scheduler چیست؟
در یک سیستم عامل سه نوع زمانبندی وجود دارد.آنها زمانبندی بلند مدت، زمانبندی کوتاه مدت و زمانبندی میان مدت هستند. زمانبندی بلند مدت به عنوان زمانبندی کار نیز شناخته می شود. در سیستم کامپیوتری، تعدادی فرآیند منتظر اجرا هستند. این فرآیندها در حافظه ثانویه یا صف کار قرار می گیرند تا بعدا اجرا شوند. هدف برنامهریزی بلندمدت انتخاب یک فرآیند از صف کار و آوردن آن فرآیند به صف آماده در حافظه اصلی است.
زمانبندی کوتاه مدت به عنوان زمانبندی CPU نیز شناخته می شود. وظیفه زمانبندی کوتاه مدت انتخاب فرآیندی در صف آماده است که باید به CPU اختصاص داده شود. زمانبند کوتاهمدت باید فرآیندی را از صف آماده انتخاب کند در حالی که فرآیند قبلی به حالت انتظار میرود. باید سریع باشد در غیر این صورت زمان CPU تلف می شود.
شکل 01: زمانبندی فرآیند
فرایند اجرا ممکن است به عملیات I/O نیاز داشته باشد. بنابراین، فرآیند به حالت انتظار می رود. گفته می شود این روند به حالت تعلیق درآمده است. برای حداکثر استفاده از CPU، فرآیند دیگری باید اجرا شود. فرآیند تعلیق شده به حافظه ثانویه منتقل می شود. پس از مدتی، فرآیند انتقال یافته می تواند به حافظه اصلی بازگردد و از جایی که پایان یافته است، اجرا را ادامه دهد. انتقال فرآیند تعلیق شده به حافظه ثانویه را Swapping out می گویند. برگرداندن فرآیند به حافظه اصلی به عنوان جابهجایی در شناخته میشود. این تعویض داخل و خارج توسط زمانبندی متوسط انجام میشود.
Dispatcher چیست؟
وقتی زمانبندی کوتاهمدت از صف آماده انتخاب میکند، توزیعکننده وظیفه تخصیص فرآیند انتخابشده به CPU را انجام میدهد. یک فرآیند در حال اجرا به حالت انتظار برای عملیات IO و غیره می رود. سپس CPU به یک فرآیند دیگر اختصاص داده می شود.این سوئیچینگ CPU از یک فرآیند به فرآیند دیگر به عنوان سوئیچینگ زمینه نامیده می شود. یک دیسپاچر وظایف مختلفی از جمله سوئیچینگ زمینه، تنظیم رجیسترهای کاربر و نگاشت حافظه را انجام می دهد. اینها برای اجرای فرآیند و انتقال کنترل CPU به آن فرآیند ضروری هستند. هنگام ارسال، فرآیند از حالت آماده به حالت در حال اجرا تغییر می کند.
گاهی اوقات، توزیع کننده به عنوان بخشی از زمانبندی کوتاه مدت در نظر گرفته می شود، بنابراین کل واحد به عنوان زمانبندی کوتاه مدت نامیده می شود. در این سناریو، وظیفه زمانبندی کوتاه مدت این است که یک فرآیند را از صف آماده انتخاب کند و همچنین CPU را برای آن فرآیند تخصیص دهد.
رابطه بین زمانبند و توزیع کننده چیست؟
Dispatcher فرآیند انتخاب شده توسط زمانبندی کوتاه مدت را به CPU اختصاص می دهد
تفاوت بین زمانبند و توزیع کننده چیست؟
زمانبندی در مقابل توزیع |
|
برنامه زمانبندی نرم افزار سیستمی خاصی است که با انتخاب فرآیند برای اجرا، زمانبندی فرآیند را مدیریت می کند. | Dispatcher ماژولی است که کنترل CPU را به فرآیند انتخاب شده توسط زمانبندی کوتاه مدت می دهد. |
انواع | |
سه نوع زمانبندی وجود دارد که به نام; شناخته میشوند.
|
هیچ دسته بندی برای توزیع کننده وجود ندارد. |
وظایف اصلی | |
زمانبند طولانیمدت فرآیند را از صف کار انتخاب میکند و آن را به صف آماده میآورد. زمانبندی کوتاه مدت فرآیندی را در صف آماده انتخاب می کند. زمانبندی متوسط، مبادله را انجام میدهد، مبادله را خارج از فرآیند انجام میدهد. |
Dispatcher CPU را به فرآیند انتخاب شده توسط زمانبندی کوتاهمدت اختصاص میدهد. |
خلاصه - زمانبندی در مقابل توزیع کننده
Scheduler و Dispatcher در زمانبندی فرآیند یک سیستم عامل استفاده میشوند. تفاوت بین زمانبندی و توزیعکننده در این است که زمانبند یک فرآیند را از بین چندین فرآیند برای اجرا انتخاب میکند در حالی که توزیعکننده، CPU را برای فرآیند انتخابشده توسط زمانبند اختصاص میدهد.