Risposte:
"tty" originariamente significava "teletipo" e "pty" significa "pseudo-teletipo".
In UNIX, / dev / tty * è un dispositivo che si comporta come un "teletype", ovvero un terminale. (Chiamato teletype perché è quello che avevamo per i terminali in quei giorni degradati.)
Una pty è una pseudotty, una voce del dispositivo che funge da terminale per il processo di lettura e scrittura lì, ma è gestita da qualcos'altro. Sono apparsi per la prima volta (come ricordo) per X Window e per lo schermo e simili, dove avevi bisogno di qualcosa che fungesse da terminale ma che potesse essere usato da un altro programma.
Ctrl-Alt-F{1..6}
cui sono connesse /dev/tty{1..6}
. La console Linux non è un terminale fisico, tuttavia è collegata a ttyN
(non a ptyN
). Mi sto perdendo qualcosa qui?
Un tty è un terminale (sta per teletype - i terminali originali utilizzavano una stampante di linea per l'output e una tastiera per l'input!). Un terminale è fondamentalmente solo un dispositivo di interfaccia utente che utilizza il testo per l'input e l'output.
Un pty è uno pseudo-terminale - è un'implementazione software che appare al programma collegato come un terminale, ma invece di comunicare direttamente con un terminale "reale", trasferisce l'input e l'output a un altro programma.
Ad esempio, quando si accede a una macchina ed si esegue ls
, il ls
comando invia il suo output a uno pseudo-terminale, l'altro lato del quale è collegato al demone SSH.
*nix
il sistema operativo basato crea questi pseudo terminali.
sshd
e xterm
sono due esempi tipici.
Se si esegue il comando mount senza argomenti della riga di comando, che visualizza i file system montati sul proprio sistema, si noterà una riga simile a questa: nessuna su dev dev di tipo / dev / pts (rw, gid = 5, mode = 620) Indica che un tipo speciale di file system, dev Devs, è montato su / dev / pts. Questo file system, che non è associato a nessun dispositivo hardware, è un file system "magico" creato dal Kernel Linux. È simile al file system / proc
Come la directory / dev, / dev / pts contiene voci corrispondenti ai dispositivi. A differenza di / dev, che è una directory ordinaria, / dev / pts è una directory speciale creata dinamicamente dal kernel Linux. Il contenuto della directory varia nel tempo e riflette lo stato del sistema in esecuzione. Le voci in / dev / pts corrispondono a pseudo-terminali (o pseudo-TTY o PTY).
Linux crea un PTY per ogni nuova finestra del terminale che apri e visualizza una voce corrispondente in / dev / pts. Il dispositivo PTY si comporta come un dispositivo terminale: accetta l'input dalla tastiera e visualizza l'output del testo dai programmi che lo eseguono . I PTY sono numerati e il numero PTY è il nome della voce corrispondente in / dev / pts.
Ad esempio, se il numero PTY della nuova finestra del terminale è 7, invocare questo comando da un'altra finestra:% echo 'I am a virtual di'> / dev / pts / 7 L'output appare nella nuova finestra del terminale.
A tty
è un fisico t erminal- t elet y porta pe su un computer (di solito una porta seriale).
La parola teletipo è un cortocircuito della macchina da scrivere telegrafica , o dispositivo del teletypewriter degli anni '30 - esso stesso un dispositivo elettromagnetico che ha sostituito le macchine di codifica telegrafica degli anni 1830 e 1840.
A pty
è un p seudo- t ele ty pe porta fornito da un computer Sistema Operativo Kernel di programmi software Connect emulano terminali, come ssh, xterm o schermo.
Un terminale è semplicemente un'interfaccia utente di un computer che utilizza il testo per l'input e l'output.
Questi uso p seudo- t ele ty pe porti tuttavia, la loro denominazione e implementazioni divergono un po '.
Linux monta uno speciale file system devpts su / dev (la 's' presumibilmente in piedi per s erial) che crea una voce corrispondente /dev/pts
per ogni nuova finestra di terminale che si apre, ad esempio,/dev/pts/0
macOS / FreeBSD usano anche la struttura di file / dev , tuttavia usano una TTY
convenzione di denominazione numerata ttys
per ogni nuova finestra del terminale che apri, ad es./dev/ttys002
Microsoft Windows ha ancora il concetto di LPT
porta per i terminali Line Printer all'interno di Command Shell per l'output su una stampante.