Es gibt zwei unterschiedliche Schedulern: die CPU (Prozess-/Thread ...) Scheduler und die I/O Scheduler (s).
CPU-Scheduler verwenden in der Regel einige hybride Algorithmen, weil sie regelmäßig sowohl Vorkaufsrecht als auch Prozesse treffen, die freiwillig einen Teil ihrer Zeitscheibe aufgeben. Sie müssen Arbeiten mit höherer Priorität schnell bedienen, während sie niemanden verhungern. (Eine Studie des aktuellen Linux-Scheduler ist meist interessant. Es gibt mehrere haben.)
CPU-Scheduler Prozesse entweder als „in erster Linie‚I/O-bound‘“ oder „in erster Linie‚CPU-bound‘“ identifizieren zu diesem Zeitpunkt, wissen, dass ihre Eigenschaften ändern können und tun. Wenn Ihr Prozess wiederholt Vollzeitscheiben verbraucht, wird er als an die CPU gebunden betrachtet.
E/A-Scheduler versuchen, die E/A-Anforderungswarteschlangen für maximale Effizienz zu bestellen und neu zu ordnen. Zum Beispiel, um den Lese-/Schreibkopf eines physikalischen Laufwerks effizient in einer einzigen Richtung zu bewegen. (Die zwei Komponenten der Plattenlaufwerkverzögerung sind "Suchzeit" und "Rotationslatenz", wobei "Suchzeit" bei weitem die schlechteste der beiden ist. Progegen, Solid-State-Laufwerke haben ein sehr unterschiedliches Timing.) I/O-Scheduler müssen auch die Kanäle (Plattenschnittstellenkarten, Verkabelung, usw.) beachten, die Zugriff auf jedes Gerät bieten: Sie können nicht einfach beobachten, was ein Laufwerk macht. Wie beim CPU-Scheduler müssen Anfragen effizient behandelt, aber niemals "ausgehungert" werden. Die I/O-Scheduler von Linux stehen auch für Ihre Studie zur Verfügung.
"Pure Round-Robin", als Terminierungsdisziplin, bedeutet einfach, dass alle Anfragen die gleiche Priorität haben und nacheinander in der Reihenfolge bearbeitet werden, in der sie ursprünglich eingereicht wurden. Sehr hübsche Vögel, obwohl sie sind, trifft man Pure Robins im wirklichen Leben selten.