? Bei der Berechnung der Begriff I /O ist für "Input /Output ", kurz die sich auf die Übertragung von Daten entweder zu oder von einem Computer-Anwendung . Eine Tastatur fungiert als Eingabegerät , Übertragung , was Sie in den Computer eingeben, während ein Monitor oder Drucker ein Beispiel für ein Ausgabegerät wäre , da sie die übertragenen Daten für den Benutzer darstellen . Blocking I /O spielt eine wichtige Rolle im gesamten Prozess , hilft verwalten den Fluss von Eingangs-und Ausgangsdaten . Merkmale
Blocking I /O , die manchmal als synchrone I /O , blockiert die Datenübertragung Prozess bezeichnet , bis der Fahrer die gewünschte zugegriffen Anforderung erfüllen kann . Zum Beispiel , wenn Sie einen Anruf , um ein Laufwerk zu lesen, wenn es keine Daten vorhanden , Sperrung I /O stellt den Prozess zu schlafen , bis es zu lesende Daten vorhanden . Sobald der Antrieb den Wunsch erfüllen kann , erwacht der Prozess und beendet das Kommando . Blocking I /O spielt die gleiche Rolle , ob Sie ein Laufwerk zu schreiben , bevor es ausreichend vorhanden Pufferspeicher hat versucht , stoppen den Vorgang, bis der erforderliche Platz zur Verfügung steht.
Funktionen
Computer- Programmierer schreiben blockierende I /O-Befehle in den Programmcode , um eine effiziente Datenübertragung und einen reibungslosen Betrieb zu gewährleisten. Ohne Blockierung I /O , würde den Nutzern stoßen persistent Fehlermeldungen und träge Performance . Blocking I /O kommt oft ins Spiel, wenn die Verwaltung von Servern , wo es sofort auslösen können andere Threads auf , wenn ein Thread -Blöcke laufen .
Vorteile
Blocking I /O ist einfacher zu schreiben als andere fortgeschrittene Formen der I /O-Verarbeitung , spart viel Zeit und Mühe für Programmierer. Abgesehen von seiner Einfachheit , Sperrung I /O bietet auch eine größere Effizienz bei der Verwaltung Server-Sockets und bietet eine erhöhte Kompatibilität, wie es in einer Reihe von verschiedenen Plattformen, darunter Unix , Win95 und WinNT 4.0 Varianten verwendet werden kann.
Blocking I /O im Vergleich zu Non-Blocking I /O
Die wichtigste Alternative zur Sperrung I /O nicht-blockierende I /O , die auch als asynchrone bekannt ist I /O. Im Gegensatz zu blockieren I /O , die einen Prozess stoppt , bis die volle Anforderung erfüllt werden kann , nicht-blockierende I /O kann die Anfrage in Segmente zu erfüllen. Zum Beispiel, wenn die angeforderten Daten nicht in seiner Gesamtheit zur Verfügung , wenn sie aufgerufen wird, ruft eine Non-Blocking I /O alle verfügbaren Daten und dann kehrt sie , Alarmierung der Benutzer die gesamte Anforderung nicht erfüllt wurde . Das Non-Blocking I /O dann weiter in einer Schleife zurück und sammeln weitere Informationen bis zum Abschluss der gewünschten Anfrage. Während mehr als schwierig, Code Blockierung I /O , nicht-blockierende I /O bietet mehr Leistung und ermöglicht andere Prozesse weiterhin beim Ausfüllen der ursprünglichen Datenübertragung.