Genauso behandelt jedes Betriebssystem mehrere Lese- / Schreibanforderungen von mehreren Quellen ... Scheduler.
Das zugrunde liegende Betriebssystem von Android ist Linux. Das gehört wirklich zum Superuser.
I / O-ZEITPLANER
F. "Welchen Zwecken dient ein I / O-Scheduler?" A. Minimieren Sie die Festplatte
Latenz suchen. Priorisieren Sie E / A-Anforderungen von Prozessen. Festplatte zuweisen
Bandbreite für laufende Prozesse. Stellen Sie sicher, dass bestimmte Anforderungen erfüllt werden
vor Ablauf einer Frist zugestellt werden.
Also in der einfachsten oder einfachsten Form: Der Kernel kontrolliert den Festplattenzugriff
mit I / O Scheduler.
F. "Welche Ziele versucht jeder E / A-Scheduler auszugleichen?" A. Fairness (let
Jeder Prozess hat seinen Anteil am Zugriff auf die Festplatte
Anfragen, die sich in der Nähe der aktuellen Position des Plattenkopfes befinden, werden zuerst bedient, weil
Suche dort ist am schnellsten) Echtzeit (Garantie, dass eine Anfrage ist
in einer bestimmten Zeit gewartet)
F. "Beschreibung, Vor- und Nachteile der einzelnen E / A-Planer?" EIN.
1) Nein
Fügt alle eingehenden E / A-Anforderungen in eine First In First Out-Warteschlange ein
und implementiert das Zusammenführen von Anforderungen. Am besten mit Speichergeräten, die
ist nicht abhängig von mechanischer Bewegung, um auf Daten zuzugreifen (ja, wie unsere
Flash-Laufwerke). Vorteil hierbei ist, dass Flash-Laufwerke nicht benötigt werden
Neuordnung mehrerer E / A-Anforderungen im Gegensatz zu normalen Festplatten.
Vorteile: Bedient E / A-Anforderungen mit der geringsten Anzahl von CPU-Zyklen.
(Batteriefreundlich?) Am besten für Flash-Laufwerke, da nicht gesucht wird
Strafe. Guter Durchsatz auf Datenbanksystemen. Nachteile: Reduzierung in
Die Anzahl der verwendeten CPU-Zyklen ist proportional zum Leistungsabfall.
2) Frist
Ziel ist es, die E / A-Latenz oder das Verhungern einer Anforderung zu minimieren. Das Gleiche
Dies wird durch Round-Robin-Richtlinien erreicht, die für mehrere E / A-Vorgänge fair sind
Anfragen. Fünf Warteschlangen werden aggressiv verwendet, um eingehende Nachrichten neu anzuordnen
Anfragen.
Vorteile: Fast ein Echtzeitplaner. Hervorragend bei der Reduzierung der Latenz
von einem bestimmten einzelnen I / O. Bester Scheduler für Datenbankzugriff und
Abfragen. Bandbreitenbedarf eines Prozesses - wie viel Prozent der CPU
es braucht, ist leicht zu berechnen. Wie noop ein guter Scheduler für Solid
Zustand / Flash-Laufwerke. Nachteile: Wenn das System überlastet ist, setzen Sie von
Prozesse, die eine Frist versäumen können, sind weitgehend unvorhersehbar.
3) CFQ
Der vollständig faire Warteschlangenplaner verwaltet eine skalierbare E / A pro Prozess
Warteschlange und versucht, die verfügbare E / A-Bandbreite gleichmäßig zu verteilen
unter allen E / A-Anforderungen. Jede pro-Prozess-Warteschlange enthält synchron
Anfragen von Prozessen. Die für jede Warteschlange zugewiesene Zeitscheibe hängt davon ab
auf die Priorität des "Eltern" -Prozesses. V2 von CFQ hat einige Korrekturen
das löst Prozess 'i / o Hunger und einige kleine rückwärts sucht in
die Hoffnung auf eine Verbesserung der Reaktionsfähigkeit.
Vorteile: Wird für eine ausgewogene E / A-Leistung in Betracht gezogen. Am einfachsten
Stimmen. Hervorragend auf Multiprozessorsystemen. Bestes Datenbanksystem
Leistung nach Fristablauf. Nachteile: Einige Benutzer melden Medien
Das Scannen dauert mit CFQ am längsten. Das könnte daran liegen
die Eigenschaft, dass da die Bandbreite gleichmäßig auf alle verteilt wird
I / O-Vorgänge während des Startvorgangs, das Scannen von Datenträgern wird nicht speziell behandelt
Priorität. Jitter (Worst-Case-Delay) kann manchmal hoch sein,
wegen der Anzahl der Aufgaben, die für die Festplatte konkurrieren.
4) BFQ
Anstelle der Zuordnung von Zeitscheiben nach CFQ weist BFQ Budgets zu. Festplatte ist
einem aktiven Prozess gewährt werden, bis das Budget erreicht ist (Anzahl der Sektoren)
läuft ab. BFQ weist nicht gelesenen Aufgaben hohe Budgets zu. Budget zugewiesen
Ein Prozess ändert sich im Laufe der Zeit in Abhängigkeit von seinem Verhalten.
Vorteile: Wird als sehr gut für die USB-Datenübertragungsrate eingestuft.
Gilt als der beste Planer für HD-Videoaufnahmen und -Videos
Streaming. (wegen weniger Jitter im Vergleich zu CFQ und anderen)
Wird als genauer I / O-Scheduler angesehen. Erreicht etwa 30% mehr
Durchsatz als CFQ bei den meisten Workloads. Nachteile: Nicht das Beste
Scheduler für das Benchmarking. Höheres Budget, das einem Prozess zugewiesen werden kann
Interaktivität und erhöhte Latenz beeinflussen.
5) SIO
Der einfache I / O-Scheduler zielt darauf ab, den Overhead so gering wie möglich zu halten, um einen niedrigen Wert zu erreichen
Latenzzeit für E / A-Anforderungen. Keine Priority Queues Konzepte, sondern nur
Grundlegende Verschmelzung. Sio ist eine Mischung aus Noop & amp; Frist. Keine Nachbestellung oder
Sortieren von Anfragen.
Vorteile: Einfach und zuverlässig. Minimierter Mangel an Anfragen.
Nachteile: Langsame Zufallslesegeschwindigkeiten bei Flash-Laufwerken im Vergleich zu
andere Scheduler. Sequential-Read-Geschwindigkeiten bei Flash-Laufwerken ebenfalls nicht so
gut.
6) V (R)
Im Gegensatz zu anderen Schedulern sind dies synchrone und asynchrone Anforderungen nicht
stattdessen wird eine Frist zur Fairness gesetzt. Das
Die nächste zu bedienende Anfrage basiert auf der Entfernung zur letzten Anfrage.
Vorteile: Am besten für das Benchmarking geeignet, da es auf dem Höhepunkt ist
'form' VR schneidet am besten ab. Nachteile: Leistungsschwankungen
führt zu unterdurchschnittlichen Leistungen. Am wenigsten zuverlässig / am meisten
instabil.