Can you summarize the following document?
        
  CFS 是首支以公平佇列(fair queuing)的排程器可應用於一般用途作業系統(general-purpose operating system).  CFS排程器參考了康恩·科裡瓦斯(Con Kolivas)所開發的樓梯排程演算法(staircase scheduler)與RSDL(The Rotating Staircase Deadline Schedule)的經驗,選取花費CPU執行時間最少的行程來進行排程。CFS主要由sched_entity 內含的 vruntime所決定,不再跟蹤process的sleep time,並揚棄active/expire的概念, runqueue裡面所有的程序都平等對待,CFS使用“虛擬執行時”(virtual running time)來表示某個任務的時間量。  CFS改使用紅黑樹演算法,將執行時間越少的工作(即 sched_entity)排列在紅黑樹的左邊,時間複雜度是O(log N),節點(即rb_node)的安插工作則由dequeue_entity()和enqueue_entity()來完成。當前執行的task通過呼叫 put_prev_task 返回紅黑樹,下一個待執行的task則由pick_next_task來呼叫。蒙內表示, CFS在百分之八十時間都在確實模擬處理器的處理時間。

  因為在Linux 2.6.23 將CFS 合併到mainline。放棄了RSDL,引起康恩·科裡瓦斯的不滿,一度宣佈脫離Linux開發團隊。數年後, Con Kolivas 捲土重來, 重新開發腦殘排程器來對決 CFS, Jens Axboe 寫了一個名為 Latt.c 的程式進行比對,Jens 發現BFS 確實稍稍優於 CFS,而且CFS 的 sleeper fairness 在某些情況下會出現排程延遲。Ingo不得不暫時關閉該特性,很快的在一週內提出新的 Gentle Fairness,徹底解決該問題。
完全公平排程器(英語:Completely Fair Scheduler,縮寫為CFS),Linux核心的一部分,負責行程排程。參考了康恩·科裡瓦斯(Con Kolivas)提出的排程器原始碼後,由匈牙利程式設計師英格·蒙內(Ingo Molnar)所提出。在Linux kernel 2.6.23之後採用,取代先前的O(1)排程器,成為系統預設的排程器。它負責將CPU資源,分配給正在執行中的行程,目標在於最大化程式互動效能的同時,最小化整體CPU的運用。使用紅黑樹來實作,演算法效率為O(log(n))。