Fair-Share-Scheduling

Fair-Share-Scheduling

Fair-Share-Scheduling ist ein Scheduling-Verfahren für Betriebssysteme, in denen die CPU-Nutzung gleichmäßig zwischen den System-Benutzern oder Gruppen verteilt wird, im Gegensatz zur gleichen Verteilung zwischen Prozessen.

Wenn beispielsweise vier Benutzer (A,B,C,D) gleichzeitig jeweils einen Prozess ausführen, teilt der Prozess-Scheduler die verfügbaren CPU-Zyklen so, dass jeder Benutzer 25 % aller Zyklen bekommt (100 % / 4 = 25 %). Wenn der Benutzer B einen zweiten Prozess startet, wird jeder Benutzer immer noch 25 % aller Zyklen bekommen, aber jeder Prozesse von B wird nun nur noch 12.5 % benutzen. Wenn allerdings ein neuer Benutzer einen Prozess im System startet, wird der Scheduler die verfügbaren CPU-Zyklen neu aufteilen, so dass jeder Benutzer 20 % aller Zyklen bekommt (100 % / 5 = 20 %).

Eine weitere Abstraktionsebene ermöglicht es, Benutzer in Gruppen einzuteilen und den Fair-Share-Algorithmus auch auf Gruppen anzuwenden. In diesem Fall werden die verfügbaren CPU-Zyklen erst durch die Anzahl der Gruppen, dann durch die Anzahl der Benutzer innerhalb der Gruppe und dann durch die Anzahl der Prozesse pro Benutzer geteilt. Zum Beispiel wenn es drei Gruppen gibt (1,2,3), die jeweils drei, zwei und vier Benutzer besitzen, werden die verfügbaren CPU-Zyklen wie folgt aufgeteilt:

  • 100 % / 3 Gruppen = 33.3 % pro Gruppe
  • Gruppe 1: (33.3 % / 3 Benutzer) = 11.1 % pro Benutzer
  • Gruppe 2: (33.3 % / 2 Benutzer) = 16.7 % pro Benutzer
  • Gruppe 3: (33.3 % / 4 Benutzer) = 8.3 % pro Benutzer

Eine übliche Methode der logischen Implementierung des Fair-Share-Scheduling-Verfahrens ist, das Round-Robin-Scheduling-Verfahren auf jeder Abstraktionsebene (Prozesse, Benutzer, Gruppen usw.) rekursiv anzuwenden. Das Zeit-Quantum, welches der Round-Robin benötigt, ist hier unwichtig, da jede gleiche Aufteilung der Zeit dieselben Ergebnisse liefern würde.


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Fair-share scheduling — is a scheduling strategy for computer operating systems in which the CPU usage is equally distributed among system users or groups, as opposed to equal distribution among processes. For example, if four users (A,B,C,D) are concurrently executing… …   Wikipedia

  • Scheduling (Informatik) — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

  • Fair queuing — is a scheduling algorithm used in computer and telecommunications networks to allow multiple packet flows to fairly share the link capacity. The advantage over conventional first in first out (FIFO) queuing is that a high data rate flow,… …   Wikipedia

  • Completely Fair Scheduler — The Completely Fair Scheduler is the name of a task scheduler which was merged into the 2.6.23 release of the Linux kernel. It handles CPU resource allocation for executing processes, and aims to maximize overall CPU utilization while also… …   Wikipedia

  • Lottery scheduling — is a probabilistic scheduling algorithm for processes in an operating system. Processes are each assigned some number of lottery tickets, and the scheduler draws a random ticket to select the next process. The distribution of tickets need not be… …   Wikipedia

  • Lotterie-Scheduling — ist ein Wahrscheinlichkeits Scheduling Verfahren für Prozesse in einem Betriebssystem. Prozesse bekommen alle eine bestimmte Anzahl von Losen zugewiesen und der Prozess Scheduler zieht ein Zufallslos, um den nächsten Prozess auszuwählen. Die… …   Deutsch Wikipedia

  • Scheduling (computing) — This article is about processes assignment in operating systems. For other uses, see Scheduling (disambiguation). Scheduling is a key concept in computer multitasking, multiprocessing operating system and real time operating system designs.… …   Wikipedia

  • Round-robin scheduling — Round robin (RR) is one of the simplest scheduling algorithms for processes in an operating system, which assigns time slices to each process in equal portions and in order, handling all processes without priority. Round robin scheduling is both… …   Wikipedia

  • I/O scheduling — For process scheduling, see scheduling (computing). For process management, see process management (computing). Input/output (I/O) scheduling is a term used to describe the method computer operating systems decide the order that block I/O… …   Wikipedia

  • Prozessverwaltung — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”