Betriebssystem 5 – Eingabe-Ausgabe-System

Diese Blogreihe konzentriert sich auf die Sortierung der Kerninhalte des Betriebssystemkurses der Universität Shenzhen und auf die Bibliographie „Computer-Betriebssystem“ (wenn Sie Fragen haben, diskutieren Sie diese bitte im Kommentarbereich oder kontaktieren Sie mich direkt per). private Nachricht).


 

Zusammenfassung

In diesem Blog werden hauptsächlich die relevanten Kenntnisse des Eingabe- und Ausgabesystems in Kapitel 6 des Betriebssystems vorgestellt.

Inhaltsverzeichnis

1. I/O-System (Eingabe-Ausgabe).

1. Übersicht

2. E/A-Geräte und Gerätecontroller

3. E/A-Pfad

4. I/O-Steuerungsmethode

2. Pufferverwaltung

3. Ausrüstungszuteilung

4. I/O-Software auf Benutzerebene – Spooling-System

5. Festplattenspeicherverwaltung

1. Übersicht

1.1 Struktur und Daten

1.2 Festplattenzugriffszeit

2. Festplattenplanungsalgorithmus

2.1 Wer zuerst kommt, mahlt zuerst (FCFS)

2.2 Kürzeste Suchzeit zuerst (SSTF)

2.3 Scan-Planungsalgorithmus (SCAN)

2.4 Zyklischer Scan-Planungsalgorithmus (CSCAN)

2.5 Beispiel eines Festplattenplanungsalgorithmus

3. Zusätzliches Wissen


1. I/O-System (Eingabe-Ausgabe).

Die Hauptobjekte der Systemverwaltung des Eingabe-/Ausgabesystems (Eingabe/Ausgabe) sind E/A-Geräte und entsprechende Gerätecontroller. Die Hauptfunktion besteht darin, die von Benutzern gestellten E/A-Anforderungen zu vervollständigen, die E/A-Rate zu erhöhen und zu verbessern die Nutzung von Geräten .

1. Übersicht

Die I/O-Software umfasst eine Vielzahl von Aspekten. Sie ist nach unten eng mit der Hardware verbunden und interagiert nach oben direkt mit dem Dateisystem, dem virtuellen Speichersystem und den Benutzern. Die heutige Mainstream-Lösung ist ein hierarchisches I/O-System, das untergeordnete Elemente verwendet. Dienste auf Ebene zur Vervollständigung der Eingabe . Unterfunktionen, die Funktionen exportieren und Dienste für höhere Schichten bereitstellen .

Darunter ist die hierarchische Ansicht jedes Moduls des E/A-Systems wie folgt:

2. E/A-Geräte und Gerätecontroller

E/A-Geräte bestehen im Allgemeinen aus mechanischen Teilen, die E/A-Vorgänge ausführen, und elektronischen Komponenten, die Steuer-E/A ausführen. Ersteres ist ein E/A-Gerät und letzteres ist ein Gerätecontroller oder Adapter . Die Controller in Mikrocomputern und Minicomputern werden oft in Form von Leiterplatten hergestellt, daher werden sie oft als Steuerkarten, Schnittstellenkarten oder Netzwerkkarten bezeichnet, die in den Erweiterungssteckplatz des Computers eingesetzt werden können. In einigen großen und mittelgroßen Computersystemen sind auch I/O-Kanäle oder I/O-Prozessoren konfiguriert.

Es gibt viele Klassifizierungen von E/A-Geräten, wie zum Beispiel:

  • Nach Nutzungsmerkmalen klassifiziert: ①Speichergerät (externer Speicher: große Kapazität, langsame Geschwindigkeit) ②E/A-Gerät (Eingabe-/Ausgabe-/interaktives Gerät, Tastatur-Maus-Scanner/Anzeige)
  • Nach Übertragungsrate klassifiziert: ① Geräte mit niedriger Geschwindigkeit, ② Geräte mit mittlerer Geschwindigkeit, ③ Geräte mit hoher Geschwindigkeit 

Normalerweise kommunizieren Geräte nicht direkt mit der CPU, sondern über einen Gerätecontroller.

Die Hauptfunktion des Gerätecontrollers besteht darin, ein oder mehrere E/A-Geräte zu steuern und den Datenaustausch zwischen den E/A-Geräten und dem Computer (CPU) zu ermöglichen . Der Gerätecontroller besteht aus Folgendem:

3. E/A-Pfad

Obwohl der Gerätecontroller zwischen der CPU und dem E/A-Gerät hinzugefügt wird, kann der Eingriff der CPU in die E/A erheblich reduziert werden. Wenn der Host jedoch mit vielen Peripheriegeräten konfiguriert ist, ist die Belastung der CPU immer noch hoch. Aus diesem Grund wird zwischen der CPU und dem Gerätecontroller ein I/O-Kanal (I/O-Kanal) hinzugefügt. Sein Hauptzweck besteht darin, unabhängige E/A-Operationen einzurichten.

Der E/A-Kanal ist ein spezieller Prozessor, der E/A-Anweisungen ausführen kann und den E/A-Vorgang durch die Ausführung des Kanalprogramms (E/A) steuert .

1. Der Befehlstyp ist einzeln und hauptsächlich auf Befehle im Zusammenhang mit E/A-Vorgängen beschränkt

2. Ohne eigenen Speicher wird das Kanalprogramm im Host-Speicher abgelegt

Daher liegt ein „Engpass“-Problem im E/A-Kanal vor. Der hohe Preis des Kanals führt zu einer geringen Anzahl, was den E/A-Betrieb einschränkt und den Systemdurchsatz verringert . Wie in der Abbildung unten gezeigt, ist es zum Starten von Gerät 4 erforderlich, Kanal 1 und Controller 2 zu starten. Wenn dieser bereits von anderen Geräten belegt ist, kann der Start fehlschlagen. 

Die Hauptlösung ist ein Mehrkanal-I/O-System wie folgt:

Lösen Sie nicht nur das Problem des „Engpasses“, sondern verbessern Sie auch die Zuverlässigkeit des Systems.

4. I/O-Steuerungsmethode

Für die Steuerungsmethode von E/A-Geräten reicht der Entwicklungsprozess hauptsächlich von Abfrageprogrammen über Interrupts bis hin zu DMA-Controllern und Kanälen . Der Hauptzweck der Entwicklung besteht darin, den Eingriff des Hosts in die E/A-Steuerung zu reduzieren, damit er mehr Datenverarbeitungsaufgaben erledigen kann .

  • Abrufprogrammierbarer E/A-Modus: Bei der Ein- und Ausgabe wird das Besetztstatusbit auf 1 gesetzt und der Test wird in einem kontinuierlichen Zyklus abgeschlossen, was zu einer großen CPU-Verschwendung führt.
  • Programmierbarer E/A-Modus mit Interrupts: CPU und E/A-Geräte arbeiten parallel, und die CPU verbringt jedes Mal nach der Dateneingabe eine kleine Zeit damit, zu unterbrechen.
  • Direkter Speicherzugriffsmodus: Der unterbrochene E/A-Modus erfolgt in Einheiten von Bytes (Bytes), was für Blockgeräte äußerst ineffizient ist. Daher wird der DMA-Controller eingeführt und die Zusammensetzung ist wie folgt:

  • I/O-Kanal-Steuerungsmethode: Reduzieren Sie den Lese- und Schreibeingriff an einem Datenblock auf den Lese- und Schreibeingriff an einer Gruppe von Datenblöcken.  

Die Kernimplementierung der E/A-Kanalsteuerungsmethode besteht darin, die Steuerung von E/A-Geräten über das Kanalprogramm abzuschließen. Das Kanalprogramm enthält im Allgemeinen die folgenden Informationen:

(1) Operation: Lesen, Schreiben (2) P: Kanalendbit: P=1 bedeutet, dass dieser Befehl der letzte Befehl des Kanalprogramms ist. (3) R: Aufzeichnungsendbit: R=1 bedeutet, dass dies der letzte Befehl ist einen bestimmten Datensatz verarbeiten. Eine Anweisung (4) Anzahl: Gibt die Anzahl der Bytes an, die von dieser Anweisung gelesen und geschrieben werden sollen. (5) Speicheradresse: Gibt die erste Adresse an, an die Zeichen in den Speicher gesendet werden

Das obige Beispiel enthält drei Datensätze, 1-3 Anweisungen sind ein Datensatz, 4 ist eins und 5-6 ist eins (siehe R).

2. Pufferverwaltung

In modernen Betriebssystemen verwenden fast alle E/A-Geräte beim Datenaustausch mit der CPU einen Puffer. Dabei handelt es sich im Wesentlichen um einen Speicherbereich, der im Allgemeinen aus Hardwareregistern oder Speicher (häufiger) besteht. 

Die Hauptgründe für die Einführung der Pufferung sind folgende:

  • Beseitigen Sie die Geschwindigkeitsinkongruenz zwischen CPU und E/A-Geräten: Produzenten können Daten an Puffer ausgeben, ohne darauf warten zu müssen, dass Verbraucher bereit sind
  • Reduzieren Sie die Interrupt-Frequenz der CPU und lockern Sie die Beschränkung der CPU-Interrupt-Reaktionszeit. Im folgenden Beispiel kann für (a) einmal alle 100us unterbrechen und reagieren, (b) die Interrupt-Frequenz auf 1/8 reduziert werden und ( c) kann die Reaktionszeit auf 1/8 reduzieren

  • Erhöhte Parallelität zwischen CPU und E/A-Geräten

1. Einzelpuffer: 

Eine E/A-Anforderung, ein Puffer

Laufzyklus: Max(C, T) + M

2. Doppelpuffer: 

Wenn der Verbraucher die Pufferdaten nicht übernimmt, kann der Produzent die neuen Daten nicht eingeben, sodass ein doppelter Puffer eingeführt wird.

Betriebszyklus: Max(C+M, T)

C + M <T: Der Host ist schnell, der Host wartet und die Festplatte gibt kontinuierlich Eingaben ein

3. Ausrüstungszuteilung

Um die Zuweisung exklusiver Geräte zu realisieren, muss das System die entsprechende Datenstruktur konfigurieren – Device Control Table (DCT) .

Der Vergleich zwischen Controller-Steuertabelle, Kanal-Steuertabelle und Systemausrüstungstabelle ist wie folgt:

Der Gerätezuordnungsprozess für ein Einkanalsystem ist wie folgt:

4. I/O-Software auf Benutzerebene – Spooling-System

In I/O-Software auf Benutzerebene ist ein Spooling-System erforderlich, das vollständig außerhalb des Kernels läuft. Durch das Spooling-System (Technologie) kann ein physisches E/A-Gerät in mehrere logische E/A-Geräte virtualisiert werden, die von mehreren Benutzern gemeinsam genutzt werden können

Der Kern der SPOOLing-Technologie besteht aus zwei Prozessen im System, die für I/O verantwortlich sind, die Funktion von I/O-Peripheriegeräten simulieren und (falsche) Offline-Eingabe/Ausgabe realisieren.

Seine Systemzusammensetzung ist wie folgt:

1. Eingangs- und Ausgangsbrunnen:

Auf der Festplatte wurden zwei große Speicherplätze geöffnet:

  • Der Eingabeschacht ist eine Festplatte zur Simulation der Offline-Eingabe, die zum Speichern der von E/A-Geräten eingegebenen Daten verwendet wird
  • Der Ausgabebrunnen ist eine Festplatte zur Simulation der Offline-Ausgabe, die zum Speichern der Ausgabedaten des Benutzerprozesses verwendet wird 

2. Eingabepuffer und Ausgabepuffer: 

Um den Widerspruch zwischen der Geschwindigkeitsinkongruenz zwischen CPU und Festplatte zu mildern, werden zwei Puffer im Speicher geöffnet: 

  • Der Eingabepuffer wird verwendet, um die vom Eingabegerät gesendeten Daten vorübergehend zu speichern, bevor sie an den Eingabebereich gesendet werden
  • Der Ausgabepuffer wird verwendet, um die von der Ausgabe gesendeten Daten vorübergehend zu speichern, bevor sie an das Ausgabegerät gesendet werden

3. Eingabeprozess SPi und Ausgabeprozess SPo: 

  • Der Eingabeprozess SPi simuliert die periphere Steuerungsmaschine während der Offline-Eingabe und sendet die vom Benutzer eingegebenen Daten vom Eingabegerät über den Eingabepuffer an den Eingabebrunnen
  • Der Ausgabeprozess SPo simuliert die periphere Steuerungsmaschine während der Offline-Ausgabe und sendet die vom Benutzer benötigten Ausgabedaten vom Ausgabebrunnen über den Ausgabepuffer an das Ausgabegerät

Die Systemfunktionen sind wie folgt:

  • Erhöhen Sie die E/A-Geschwindigkeit
  • Verwandeln Sie exklusive Geräte in gemeinsam genutzte Geräte
  • Realisierte virtuelle Gerätefunktion 

5. Festplattenspeicherverwaltung

Der Festplattenspeicher ist das wichtigste Speichergerät in einem Computersystem, in dem eine große Anzahl von Dateien gespeichert ist und das Lesen und Schreiben von Dateien den Zugriff auf die Festplatte erfordert.

1. Übersicht

1.1 Struktur und Daten

Die Festplattenstruktur ist wie folgt:

1. Die Zusammensetzung der Festplatte:

  • Eine Festplatte besteht aus mehreren Platten
  • Jede Festplatte ist in zwei Festplatten unterteilt
  • Jede Scheibe ist in mehrere Spuren (konzentrische Kreise) unterteilt.
  • Jede Spur ist in mehrere Sektoren unterteilt

2: Plattenadressierung: Kopf – Zylinder – Sektor

  • Kopf Kopf: die Vorder- oder Rückseite der ersten Scheibe
  • Zylinderzylinder: welche Spur
  • Sektor: die Partitionsnummer auf der Spur 

Die Datenstruktur des Sektors (Sektor) ist wie folgt und umfasst hauptsächlich (1) Identifikationsfeld (ID-Feld), (2) Datenfeld (Datenfeld).

Es gibt zwei Arten von Datenträgern:

  • Festplatten mit festem Kopf verfügen über einen Lese-/Schreibkopf pro Spur , die alle in einem starren Arm montiert sind. Paralleles Lesen/Schreiben mit Magnetkopf, schnelle E/A-Geschwindigkeit, wird für Festplatten mit großer Kapazität verwendet
  • Bewegliche Kopfscheibe, jede Scheibe ist mit nur einem Kopf ausgestattet , der Kopf kann sich bewegen, um zu suchen. Die E/A-Geschwindigkeit ist langsam, die Struktur ist einfach und wird häufig in kleinen und mittleren Festplattengeräten verwendet 

1.2 Festplattenzugriffszeit

Zum Lesen oder Schreiben muss sich der Magnetkopf zur angegebenen Spur bewegen und darauf warten, dass sich der angegebene Sektor unter dem Magnetkopf dreht, und dann Daten lesen oder schreiben, sodass die Zugriffszeit auf die Festplatte in drei Teile unterteilt werden kann:

1. Suchzeit Ts: die Zeit, die der Kopf benötigt, um sich zur angegebenen Spur zu bewegen

Die Summe der Startzeit s des Magnetarms und der Zeit, die der Kopf benötigt, um n Spuren zu bewegen             

Ts=m×n+s

Tipps: m ist eine Konstante, die mit der Geschwindigkeit des Festplattenlaufwerks zusammenhängt. Für allgemeine Festplatten ist m = 0,2; für Hochgeschwindigkeitsplatten ist m ≤ 0,1. Die Startzeit s des Magnetarms beträgt etwa 2 ms . Allgemeine Suchzeit 5–30 ms

2. Rotationsverzögerungszeit Tτ: die Zeit, die der Sektor benötigt, um sich unter den Magnetkopf zu bewegen

Bei einer Festplatte mit 5400 U/min, also 5400 U/min, dauert jede Umdrehung 11,1 ms und die durchschnittliche Rotationsverzögerungszeit Tτ beträgt 5,55 ms

3. Übertragungszeit Tt: Daten werden von der Festplatte gelesen oder auf sie geschrieben

Sie hängt von der Anzahl der gelesenen/geschriebenen Bytes bei jedem Mal b und der Rotationsgeschwindigkeit ab, r ist die Anzahl der Umdrehungen pro Sekunde der Platte; N ist die Anzahl der Bytes auf einer Spur 

Wenn Sie die Anzahl der Sektoren kennen, ist Tt = 1/r*Anzahl der Sektoren 

4. Gesamtzugriffszeit Ta:

Wenn die Anzahl der gleichzeitig gelesenen/geschriebenen Bytes der Anzahl der Bytes auf einer halben Spur entspricht, beträgt die Gesamtzeit:

Tipps: Der Anteil der Übertragungszeit ist gering 

 Beispiel

Wenn die Festplattengeschwindigkeit 7200 U/min beträgt, beträgt die durchschnittliche Suchzeit 8 ms und jede Festplatte

Betriebssystem – Festplattenplanungsthema_Wenn die Festplattengeschwindigkeit 6000 U/min beträgt, enthält jede Spur 1000 Sektoren_real_metrix's Blog-CSDN-Blog

2. Festplattenplanungsalgorithmus

1. Methoden zur Verbesserung der Festplatten-E/A-Geschwindigkeit:

Verbessern Sie die Leistung der Festplattenhardware. Verwenden Sie einen guten Planungsalgorithmus, um den Hochgeschwindigkeitspuffer der Festplatte festzulegen

2. Festplattenplanung:

Da es sich bei Festplatten um gemeinsam genutzte Geräte handelt, auf die mehrere Prozesse zugreifen können, sind Festplattenplanungsalgorithmen erforderlich

Das Ziel des Festplattenplanungsalgorithmus besteht darin, die durchschnittliche Suchzeit zu reduzieren

2.1 Wer zuerst kommt, mahlt zuerst (FCFS)

Kern: Planung entsprechend der Reihenfolge, in der der Prozess den Zugriff auf die Festplatte anfordert

  • Vorteile: einfach, jede Anfrage kann der Reihe nach bearbeitet werden
  • Nachteile: Die durchschnittliche Suchentfernung ist groß

2.2 Kürzeste Suchzeit zuerst (SSTF)

Kern: Basierend auf dem Prinzip, dass die Zugangsspur der aktuellen Spur am nächsten liegt (eigentlich prioritätsbasierte Planung)

Tipps: Der aktuelle Titel ist 100 

  • Vorteil: Die durchschnittliche Suchzeit ist kürzer
  • Nachteile: Bei einigen Prozessen kommt es zu einem „Aushungern“ und der Magnetkopf bleibt möglicherweise längere Zeit auf der gleichen Spur (Magnetarm bleibt hängen).

2.3 Scan-Planungsalgorithmus (SCAN)

Kern: Nach den beiden Prinzipien der Bewegungsrichtung des Magnetkopfes und dem kürzesten Abstand zwischen der Zugriffsspur und der aktuellen Spur

Die Bewegungsrichtung des Magnetkopfes ist ... nach außen, dann nach innen, dann nach außen, ... und wiederholt sich immer wieder. Beispiel: Der aktuelle Kopf wird bei Spur 80 angehalten und die Anforderung für Spur 89 wurde gerade abgeschlossen, was darauf hinweist dass die Bewegungsrichtung des Magnetkopfes nach innen zeigt.

Tipps: Der aktuelle Track ist 100 und die Richtung ist nach außen 

  • Vorteile: Es tritt kein Prozess-„Hunger“-Phänomen auf und die durchschnittliche Zugriffssuchzeit ist kürzer
  • Nachteile: Die Spur nahe am Kopf, aber in der entgegengesetzten Richtung der Kopfbewegung, hat eine lange Wartezeit und der Kopf kann längere Zeit auf derselben Spur bleiben (Magnetarm bleibt hängen). 

2.4 Zyklischer Scan-Planungsalgorithmus (CSCAN)

Kern: Nachdem Sie die äußerste Spur erreicht haben, kehren Sie zur kleinsten Spur zurück und starten Sie den SCAN-Algorithmus

Tipps: Der aktuelle Track ist 100 und die Richtung ist nach außen  

  • Vorteile: Es kommt zu keinem „Verhungern“ des Prozesses, die durchschnittliche Zugriffssuchzeit ist kürzer und die längste Wartezeit ist kürzer (die Hälfte) als bei SCAN
  • Nachteil: Der Kopf kann längere Zeit auf der gleichen Spur bleiben (Magnetarm bleibt hängen)

2.5 Beispiel eines Festplattenplanungsalgorithmus

Es gibt ein Festplattenverwaltungssystem, die Spuren werden in aufsteigender Reihenfolge von innen nach außen nummeriert, vorausgesetzt, die aktuelle Anforderungssequenz, die auf den Zugriff auf die Festplatte wartet, ist: 15, 10, 30, 150, 190, 80, 95, 40, 140, 20. Der aktuelle Kopf wird bei Gleis 90 gestoppt und der Zugriff auf Gleis 93 wurde gerade erst abgeschlossen. Bitte verwenden Sie die Algorithmen FCFS, SSTF, SCAN bzw. CSCAN, um die Planungssequenz und die durchschnittliche Suchentfernung jedes Algorithmus zu ermitteln

Betriebssystem – Verwenden Sie den FCFS-, SSTF-, SCAN- und CSCAN-Algorithmus, um die Gesamtsuchlänge und die durchschnittliche Suchlänge zu berechnen. Beispiele (detailliert) – Programmierer gesucht

Beispiel für FCFS-, SSTF-, SCAN- und CSCAN_scan-Algorithmen. Erläuterung der Betriebssystem-Festplattenplanungsalgorithmen

3. Zusätzliches Wissen

1. Festplatten-Cache:

Verwenden Sie den Speicherplatz im Speicher, um die Informationen vorübergehend in einer Reihe von Festplattenblöcken zu speichern, die von der Festplatte gelesen werden.

Ein Cache ist eine Reihe von Festplattenblöcken, die logisch zur Festplatte gehören, sich aber physisch im Speicher befinden.

2. Zwei Formen des Caches im Speicher:

Öffnen Sie einen separaten Speicherplatz im Speicher als Festplatten-Cache. Seine Größe ist fest und wird nicht von der Anzahl der Anwendungen beeinflusst

Wandeln Sie den gesamten ungenutzten Speicherplatz in einen Pufferpool um, der vom Anforderungs-Paging-System und dem Festplatten-Cache gemeinsam genutzt wird

3. Andere Möglichkeiten zur Erhöhung der Festplattengeschwindigkeit:

Vorauslesen: Lesen Sie nach dem Lokalitätsprinzip benachbarte Festplattenblöcke im Voraus in den Speicher, z. B. durch eine Pre-Paging-Strategie

Verzögertes Schreiben: Die geänderten Seiten werden nicht sofort auf die Festplatte zurückgeschrieben, sondern es wird eine bestimmte Menge gesammelt, die auf einmal zurückgeschrieben werden muss, wodurch die Anzahl der E/A-Vorgänge verringert wird

Optimieren Sie die Verteilung physischer Blöcke: Die physischen Blöcke derselben Datei sollten so weit wie möglich konzentriert sein

Virtuelle Festplatte: Verwenden Sie Speicherplatz oder andere Speichermedien, um Festplatten zu emulieren, z. B. Speicherfestplatten und Solid-State-Festplatten

Ich denke du magst

Origin blog.csdn.net/weixin_51426083/article/details/131458085
Empfohlen
Rangfolge