صف‌بندی کاملاً منصفانه

Completely fair queueing
📅 5 تیر 1405 📄 139 کلمه 🔗 منبع اصلی

چکیده

صف‌بندی کاملاً منصفانه (CFQ) یک برنامه‌ریز I/O برای هسته لینوکس است که در سال ۲۰۰۳ توسط ینس اکسبوئه نوشته شد. این برنامه‌ریز، درخواست‌های همگام را در صف‌های جداگانه برای هر فرآیند قرار می‌دهد و زمان دسترسی به دیسک را برای هر صف تخصیص می‌دهد. CFQ با بهبود پاسخگویی و حذف مشکلات گرسنگی، به مرور زمان تکامل یافت و در نهایت در نسخه‌های مختلف هسته لینوکس ادغام شد.

توضیحات

صف‌بندی کاملاً منصفانه (CFQ) یک برنامه‌ریز I/O برای هسته لینوکس است که درخواست‌های همگام فرآیندها را در صف‌های جداگانه قرار می‌دهد و زمان دسترسی به دیسک را برای هر صف تخصیص می‌دهد. طول این زمان و تعداد درخواست‌های مجاز، به اولویت I/O فرآیند بستگی دارد. درخواست‌های ناهمزمان در صف‌های کمتری گروه‌بندی می‌شوند.

CFQ بدون استفاده از برنامه‌ریزی پیش‌بینانه، با اجازه دادن به صف‌ها برای غیرفعال شدن در انتهای I/O همگام، عملکرد کلی سیستم را بهبود می‌بخشد.

تاریخچه

این برنامه‌ریز در فوریه ۲۰۰۳ توسط ینس اکسبوئه پیاده‌سازی شد و در نسخه‌های مختلف هسته لینوکس ادغام گردید:

  • هسته ۲.۶.۶: به عنوان برنامه‌ریز اختیاری اضافه شد.
  • هسته ۲.۶.۹: به عنوان پیش‌فرض در Red Hat Enterprise Linux 4 استفاده شد.
  • هسته ۲.۶.۱۰: نسخه CFQv2 با بهبود پاسخگویی معرفی شد.
  • هسته ۲.۶.۱۳: نسخه CFQv3 با قابلیت تنظیم اولویت I/O عرضه شد.
  • هسته ۲.۶.۱۸: CFQ به عنوان برنامه‌ریز پیش‌فرض انتخاب شد.
  • هسته ۵.۰: CFQ با BFQ جایگزین شد.

جمع‌بندی

CFQ به عنوان یک برنامه‌ریز I/O کارآمد، نقش مهمی در بهبود عملکرد سیستم‌های لینوکس ایفا کرد. با گذشت زمان و با معرفی نسخه‌های جدیدتر، CFQ به Budge Fair Queueing (BFQ) تکامل یافت. این برنامه‌ریز با قابلیت‌هایی مانند اولویت‌بندی I/O و بهبود پاسخگویی، به یکی از اجزای کلیدی مدیریت منابع در هسته لینوکس تبدیل شد.