ScholarGate
دستیار

زمان‌بندی CPU

زمان‌بندی CPU تابعی از سیستم‌عامل است که تصمیم می‌گیرد کدام فرآیند یا ریسه آماده، در مرحله بعد روی پردازنده اجرا شود و اهدافی مانند پاسخ‌دهی، توان عملیاتی، انصاف و رعایت مهلت‌ها را متعادل می‌کند.

یافتن موضوع با PaperMindبه‌زودیFind papers & topics
Tools & resources
دریافت اسلایدها
Learn & explore
ویدیوبه‌زودی

Definition

زمان‌بندی CPU سیاست و مکانیزمی است که توسط آن یک سیستم‌عامل، از میان فرآیندها یا ریسه‌های قابل اجرا، یکی را برای تخصیص پردازنده و مدت زمان آن انتخاب می‌کند تا اهداف عملکردی و انصافی انتخاب شده را بهینه سازد.

Scope

این موضوع سیاست‌های زمان‌بندی و ارزیابی آن‌ها را پوشش می‌دهد: اولین-ورودی-اولین-خروجی، کوتاه‌ترین-کار-اول، گردشی، اولویت‌بندی، و صف‌های بازخورد چندسطحی؛ زمان‌بندی پیشگیرانه در مقابل غیرپیشگیرانه؛ معیارهای بهره‌برداری از CPU، توان عملیاتی، زمان برگشت، زمان انتظار و زمان پاسخ؛ و زمان‌بندی در چندپردازنده‌ها و برای سیستم‌های بی‌درنگ. این موضوع شامل نمایش وظایف در حال زمان‌بندی (مدیریت فرآیند و ریسه) و همگام‌سازی (همزمانی) نمی‌شود.

Core questions

  • کیفیت زمان‌بندی با چه معیارهایی اندازه‌گیری می‌شود؟
  • الگوریتم‌های زمان‌بندی رایج چگونه در انصاف و کارایی متفاوت هستند؟
  • زمان‌بند چه زمانی باید یک وظیفه در حال اجرا را پیشگیرانه متوقف کند؟
  • زمان‌بندی چگونه برای چندپردازنده‌ها و مهلت‌های بی‌درنگ تطبیق داده می‌شود؟

Key concepts

  • اولین-ورودی-اولین-خروجی
  • کوتاه‌ترین-کار-اول
  • گردشی و سهم زمانی
  • زمان‌بندی اولویت‌بندی
  • صف‌های بازخورد چندسطحی
  • پیشگیرانه در مقابل غیرپیشگیرانه
  • زمان برگشت، انتظار و پاسخ
  • گرسنگی و کهن‌سالگی
  • زمان‌بندی بی‌درنگ

Key theories

اهداف و بده‌بستان‌های زمان‌بندی
هیچ سیاست واحدی همه اهداف را بهینه نمی‌کند: کوتاه‌ترین-کار-اول میانگین زمان انتظار را به حداقل می‌رساند اما می‌تواند کارهای طولانی را گرسنه نگه دارد، گردشی زمان پاسخ را با هزینه‌ای در توان عملیاتی محدود می‌کند، و طرح‌های اولویت‌بندی خطر گرسنگی را دارند، بنابراین زمان‌بندها توان عملیاتی، انصاف و پاسخ‌دهی را برای بار کاری خود متعادل می‌کنند.

Mechanisms

زمان‌بند زمانی اجرا می‌شود که یک فرآیند مسدود می‌شود، واگذار می‌کند یا سهم زمانی آن منقضی می‌شود، و وظیفه بعدی را از صف آماده بر اساس سیاست خود انتخاب می‌کند. زمان‌بندی گردشی به هر وظیفه به نوبت یک برش زمانی می‌دهد؛ صف‌های اولویت‌بندی و بازخورد چندسطحی وظایف را بر اساس اهمیت و رفتار مشاهده شده مرتب می‌کنند و از کهن‌سالگی (aging) برای جلوگیری از گرسنگی (starvation) استفاده می‌کنند. زمان‌بندهای پیشگیرانه می‌توانند یک وظیفه در حال اجرا را قطع کنند تا به یک وظیفه با اولویت بالاتر سوئیچ کنند، که برای تعامل‌پذیری و مهلت‌های بی‌درنگ ضروری است.

Clinical relevance

زمان‌بندی مستقیماً تجربه کاربر و کارایی سیستم را شکل می‌دهد: تعیین می‌کند که آیا برنامه‌های تعاملی پاسخگو به نظر می‌رسند، آیا بارهای کاری دسته‌ای به سرعت تکمیل می‌شوند، و آیا وظایف بی‌درنگ مهلت‌های خود را رعایت می‌کنند. زمان‌بندها در سیستم‌های تولیدی مانند لینوکس این اهداف متضاد را در بسیاری از هسته‌ها و بارهای کاری متنوع متعادل می‌کنند.

History

مشکلات زمان‌بندی با چندبرنامگی و اشتراک زمانی در دهه ۱۹۶۰ پدیدار شد، زمانی که طرح‌های گردشی و اولویت‌بندی برای به اشتراک گذاشتن پردازنده‌ها توسعه یافتند. نظریه زمان‌بندی بی‌درنگ، از جمله تحلیل‌های نرخ-یکنواخت (rate-monotonic) و اولین-مهلت-اول (earliest-deadline-first)، در دهه ۱۹۷۰ رسمی شد، و زمان‌بندهای چند هسته‌ای مدرن این ایده‌ها را به بسیاری از پردازنده‌ها گسترش دادند.

Debates

انصاف در مقابل توان عملیاتی و اولویت
زمان‌بندها باید انصاف بین وظایف را با حداکثر کردن توان عملیاتی و رعایت اولویت‌ها تطبیق دهند؛ اولویت‌بندی تهاجمی وظایف مهم را بهبود می‌بخشد اما خطر گرسنگی دیگران را دارد، در حالی که انصاف سخت‌گیرانه می‌تواند سیستم را کمتر از حد استفاده کند، بنابراین زمان‌بندهای عملی این تعادل را تنظیم می‌کنند.

Key figures

  • Edsger W. Dijkstra
  • Abraham Silberschatz
  • Andrew S. Tanenbaum
  • C. L. Liu
  • James W. Layland

Related topics

Seminal works

  • silberschatz2018
  • tanenbaum2014os

Frequently asked questions

تفاوت بین زمان‌بندی پیشگیرانه و غیرپیشگیرانه چیست؟
زمان‌بندی غیرپیشگیرانه به یک وظیفه در حال اجرا اجازه می‌دهد تا پردازنده را تا زمانی که مسدود شود یا به پایان برسد، نگه دارد. زمان‌بندی پیشگیرانه می‌تواند به زور پردازنده را از وظیفه بگیرد — به عنوان مثال زمانی که برش زمانی آن منقضی می‌شود یا یک وظیفه با اولویت بالاتر آماده می‌شود — که پاسخ‌دهی را بهبود می‌بخشد و برای تضمین‌های بی‌درنگ ضروری است.
گرسنگی چیست و چگونه از آن جلوگیری می‌شود؟
گرسنگی زمانی رخ می‌دهد که یک وظیفه هرگز زمان‌بندی نمی‌شود زیرا وظایف با اولویت بالاتر به طور مداوم اولویت دارند. معمولاً با کهن‌سالگی (aging) از آن جلوگیری می‌شود، که به تدریج اولویت وظایف طولانی‌مدت در انتظار را افزایش می‌دهد تا در نهایت اجرا شوند.

Methods for this concept

Related concepts