Кіріспе

Completely Fair Queuing (CFQ) — 2003 жылы Йенс Аксое жазған Linux ядросы үшін I/O жоспарлаушысы.

Сипаттама

CFQ процестерден келіп түсетін синхронды сұрауларды бірнеше процеске арналған кезектерге орналастырады, содан кейін әрбір кезекке дискіге қол жеткізу үшін уақыт тілімдерін бөледі. Уақыт тілімінің ұзақтығы және кезекке жіберілуге рұқсат етілген сұраулар саны берілген процестің I/O басымдығына байланысты. Барлық процестерге арналған асинхронды сұраулар басымдық деңгейі бойынша азырақ кезектерге біріктіріледі. CFQ нақты алдын ала I/O жоспарламаса да, жүйе үшін жалпы жиынтық өнімділікті жақсарту арқылы соған ұқсас нәтижеге қол жеткізеді, процестің кезегі синхронды I/O аяқталғаннан кейін бос тұруға мүмкіндік береді, осылайша сол процестен келетін келесі I/O операцияларын "күтеді". Оны процеске I/O уақыт тілімдерін берудің табиғи жалғасы деп санауға болады.

Интеграцияға дейін

2003 жылдың ақпан айында Андреа Арканджели Стохастикалық әділ кезекке қою I/O кестелеушісі туралы идеясын Йенс Аксбоға ұсынды, ол оны іске асырды. Йенс Аксбо өзінің алғашқы нұсқасын жетілдірді, жаңа нұсқаны Толық әділ кезекке қою кестелеушісі деп атады және оны 2.5.60 даму сериясының ядросына қосу үшін түзету жасады.

2.6.6 өзегі (2004 жылғы 10 мамыр)

CFQ I/O жоспарлаушысы алғаш рет негізгі ядроға опциялық I/O жоспарлаушысы ретінде енгізілді. Ядроға жүктелу кезінде 'elevator' параметрін пайдаланып жоспарлаушыны өзгерту мүмкіндігі болды.

2.6.9 өзегі (19 қазан 2004 жыл)

Red Hat Enterprise Linux 4, тіпті 2.6.9 негізіндегі ядроны қолданса да, бұл I/O жоспарлаушыны әдепкі ретінде пайдаланды.

2.6.10 өзегі (24 желтоқсан 2004)

CFQv2 деп аталатын CFQ жоспарлаушының екінші нұсқасы 2.6.10 ядросына қосылды, жақсартулардың арасында жауап беру жылдамдығының артуы және бұрынғы нұсқада кездесетін кейбір тапшылық мәселелерінің жойылғаны бар. Енді жоспарлаушыны /sys/block/<block device>/queue/scheduler айнымалысын өзгерту арқылы жүйе жұмыс істеп тұрғанда sysfs файлдық жүйесінде ауыстыруға болады.

2.6.13 өзегі (2005 жылғы 27 маусым)

CFQ жоспарлаушысы CFQv3 деп аталатын жаңа уақыт тілімдеу дизайнына көшірілді. Басқа нәрселермен қатар, ол ioprio get(2) және ioprio set(2) функцияларын іске асырады, бұл пайдаланушыға әрбір процеске I/O басымдықтарын орнатуға мүмкіндік береді, әдетте ionice(1) командасын қолдану арқылы (дегенмен nice(1) командасы да I/O басымдықтарын белгілі бір деңгейде өзгертеді).

2.6.18 ядросы (2006 жылғы 20 қыркүйек)

CFQ алдын ала болжау жоспарлаушысының орнына стандартты жоспарлаушы ретінде белгіленді.

5.0 ядросы (2019-03-03)

CFQ жойылды. CFQ Бюджеттік әділ кезекке тұру (BFQ) жүйесіне дамыды.