Ursprünglich hatte man nur blöde Terminals - anfangs tatsächlich Teletypewriters (ähnlich einer elektrischen Schreibmaschine, aber mit einer Papierrolle) (daher / dev / tty - TeleTYpers), aber später Bildschirm + Tastatur-Combos - die gerade einen Schlüsselcode gesendet haben an den Computer gesendet und der Computer hat einen Befehl zurückgesendet, der den Brief auf das Terminal geschrieben hat (dh das Terminal war ohne lokales Echo, der Computer musste das Terminal anweisen, das zu schreiben, was der Benutzer auf dem Terminal eingegeben hat) - dies ist einer der Gründe warum so viele wichtige Unix-Befehle so kurz sind. Die meisten Terminals waren über serielle Leitungen verbunden, aber (mindestens) eines war direkt mit dem Computer verbunden (oft derselbe Raum) - dies war die Konsole. Nur einigen wenigen Benutzern wurde vertraut, dass sie an "der Konsole" arbeiten (dies war häufig das einzige "Terminal", das im Einzelbenutzermodus verfügbar war).
Später gab es auch einige Grafikterminals (sogenannte "xterminals", nicht zu verwechseln mit dem xterm
-Programm) mit Bildschirm & Grafikkarte, Tastatur, Maus und einem einfachen Prozessor; die könnte einfach einen X-Server laufen lassen. Sie haben selbst keine Berechnungen durchgeführt, sodass die X-Clients auf dem Computer ausgeführt wurden, mit dem sie verbunden waren. Einige hatten Festplatten, aber sie konnten auch über das Netzwerk booten. Sie waren in den frühen neunziger Jahren beliebt, bevor PCs so billig und leistungsstark wurden.
Ein "Terminal-Emulator" - das "Terminal-Fenster", das Sie mit Programmen wie xterm
oder öffnen, konsole
versucht, die Funktionalität solcher dummen Terminals nachzuahmen. Auch Programme wie PuTTY
(Windows) emulieren Terminals.
Beim PC, bei dem "die Konsole" (Tastatur + Bildschirm) und "der Computer" eher eine Einheit bilden, gibt es stattdessen "virtuelle Terminals" (unter Linux die Tasten Alt + F1 bis Alt + F6), aber auch diese Imitieren Sie Terminals im alten Stil. Da Unix / Linux immer mehr zu einem Desktop-Betriebssystem wird, das häufig von einem Einzelbenutzer verwendet wird, erledigen Sie den größten Teil Ihrer Arbeit jetzt natürlich "an der Konsole", wo Benutzer zuvor Terminals verwendeten, die über serielle Leitungen verbunden waren.
Es ist natürlich die Shell, die Programme startet. Und es verwendet den Fork-Systemcall (C-Sprache), um eine Kopie von sich selbst mit Umgebungseinstellungen zu erstellen. Dann wird der Exec-Systemcall verwendet, um diese Kopie in den Befehl umzuwandeln, den Sie ausführen möchten. Die Shell wird angehalten (sofern der Befehl nicht im Hintergrund ausgeführt wird), bis der Befehl abgeschlossen ist. Da der Befehl die Einstellungen für stdin, stdout und stderr von der Shell übernimmt, schreibt der Befehl auf den Bildschirm des Terminals und empfängt Eingaben von der Tastatur des Terminals.