Urspruenglich war ein Terminal ein reales Geraet mit Bildschirm und Tastatur, welches die Daten, die der User eintippt, an einen Prozess weiterreicht. Bestimmte Eingaben (Escape-Sequenzen) werden aber nicht weitergereicht, so sorgt z.B. Ctrl-C dafuer, dass der Prozess abgebrochen wird, Ctrl-S stoppt ihn etc.
Unter Unix/Linux gibt es sogenannte Pseudoterminals, die so ein Geraet emulieren. Das ist nichts anderes als eine bestimmte Art, zwei Prozesse miteinander kommunizieren zu lassen. Letzendlich kann man da auch wieder mittels eines Filedescriptors lesen und schreiben, das ist aber ziemlich lowlevel.
Wikipedia weiss mehr:
http://de.wikipedia.org/wiki/Terminal_(Computer)
http://de.wikipedia.org/wiki/Pseudoterminal
Warum manche Prozesse partout Terminals wollen, habe ich mich auch gefragt. Da es sich meistens um "sicherheits-sensible" Programme handelt (wo man Passwoerter eingeben muss etc.), schaetze ich, dass das eine Sicherheitsfrage ist. Es wird verhindert, dass man z.B. einfach ein Passwort aus einer Datei uebergeben kann usw, sondern im Regelfall muss ein User dasitzen und alles eintippen.
Aber letztendlich kann man das ja (unter Linux/Unix zumidest mit Peudoterminals) umgehen und dem Programm vorgaukeln, es haette mit einem echten User zu tun.
Aber wie gesagt, sowas wie Pseudoterminals gibt es unter Windows nicht...
(Obwohl, die Eingabeaufforderung muss ja dem Telnet auch ein Terminal vorgaukeln, oder? Naja, reinste Spekulation, ich kenn mich mit Windows nich wirklich gut aus.)
EDIT: Hui, habe ich lange fuer diesen Post gebraucht
Als ich anfing, war Leonidas Post noch nicht da...