Grundlagen
Die Eingabe und Ausgabe sind wichtig, um den, auf dem Computer laufenden Programmen (wie z.B. dem
Betriebssystem), eine
Schnittstelle zur Außenwelt zu ermöglichen. Dadurch wird erst eine vernünftige Benutzung des Systems möglich.
Dem Benutzer stehen externe Peripheriegeräte zur Verfügung, welche über mechanische Verbindungen und Steuerlogiken an den Systembus angeschlossen werden. Dies ist nötig, da es viele unterschiedliche Protokolle gibt und sich die Geräte bezüglich Wortlänge und Verarbeitungsgeschwindigkeit unterscheiden können.
Hardware
Der Prozessor spricht über I/O-Controller, leistungsschwächer aber billiger, oder I/O-Prozessoren, sehr leistungsstark aber teurer, die Geräte an. Diese dienen als Abstraktionsschicht und werden von der CPU mit einfachen LESEN- (
READ) und SCHREIBEN- (
WRITE) Befehlen gesteuert. Die Geräte selbst sind direkt über Daten-, Steuer- und Adressbusse an. Sie enthalten
Puffer um Anfragen und Antworten zwischenzuspeichern.
Um diese Kommunikation nun durchzuführen stehen Programmed Input/Output, Interrupt-Driven I/O sowie DMA zur Verfügung.
Bei dem Benutzer sind die Eingabegeräte generell Tastatur, Maus und Joystick. Die Ausgabegeräte sind Bildschirm, Drucker und Speichermedien.
Auf die Umgebung bezogen kann die Eingabe auch Sensoren (für Temperatur, Drehzahl, Druck...) bedeuten. Die Ausgabe wären dann z.B. Leistungsregler, Ventilsteuerungen etc. Im Bereich der Regel- und Messtechnik wird so etwas verwendet.
Software
Im Softwarebereich kann man die Eingabe in Kommandozeile, Eingabe innerhalb des Programms aus Tastatur-, Maus- oder Joystick-Abfrage, lesenden Zugriff auf ein Speichermedium oder direkten lesenden Zugriff auf einen A/D-Wandler oder ähnliches unterscheiden.
Die softwareseitige Ausgabe läuft generell nicht über die Kommandozeile, sondern ausschließlich im Programm als schreibender Zugriff auf Bildschirm, Drucker, Speicher oder einen A/D-Wandler oder ähnliches.
Siehe auch: Kommandozeileninterpreter