Zauważyłem, że jest wiele wzmianek pty
i tty
w niektórych projektach typu open source, czy ktoś może mi powiedzieć, co one oznaczają i jaka jest między nimi różnica? Dzięki!
c
unix
networking
tty
vocabulary
czemu
źródło
źródło
Ctrl-Alt-F{1..6}
i są z nimi połączone/dev/tty{1..6}
. Konsola Linux nie jest fizycznym terminalem, ale jest podłączona dottyN
(nie doptyN
). Czy coś mi umyka?Tty jest terminalem (oznacza teletyp - oryginalne terminale używały drukarki liniowej do drukowania i klawiatury do wprowadzania!). Terminal to po prostu urządzenie interfejsu użytkownika, które wykorzystuje tekst do wprowadzania i wysyłania.
Pty to pseudo-terminal - to implementacja oprogramowania, która wydaje się dołączonemu programowi jak terminal, ale zamiast komunikować się bezpośrednio z „prawdziwym” terminalem, przekazuje dane wejściowe i wyjściowe do innego programu.
Na przykład, gdy wpiszesz ssh na maszynie i uruchomisz
ls
,ls
polecenie wysyła dane wyjściowe do pseudo-terminala, którego druga strona jest podłączona do demona SSH.źródło
*nix
system operacyjny tworzy pseudo terminale.sshd
ixterm
są dwoma typowymi przykładami.tty: teletype. Zwykle odnosi się do portów szeregowych komputera, do którego zostały podłączone terminale.
pty: pseudoteletype. Jądro udostępniło pseudoserial port podłączony do programów emulujących terminale, takie jak xterm lub screen.
źródło
Jeśli uruchomisz polecenie mount bez argumentów wiersza polecenia, które wyświetla systemy plików zamontowane w systemie, zauważysz linię wyglądającą mniej więcej tak: none on / dev / pts type devpts (rw, gid = 5, mode = 620) Wskazuje to, że specjalny typ systemu plików, devpts, jest zamontowany w / dev / pts. Ten system plików, który nie jest powiązany z żadnym urządzeniem sprzętowym, to „magiczny” system plików tworzony przez Jądro Linux. Jest podobny do systemu plików / proc
Podobnie jak katalog / dev, / dev / pts zawiera wpisy odpowiadające urządzeniom. Jednak w przeciwieństwie do / dev, który jest zwykłym katalogiem, / dev / pts to specjalny katalog tworzony dynamicznie przez jądro Linuksa. Zawartość katalogu zmienia się z czasem i odzwierciedla stan działającego systemu. Wpisy w / dev / pts odpowiadają pseudo-terminalom (lub pseudo-TTY lub PTY).
Linux tworzy kod PTY dla każdego nowego okna terminala, które otwierasz, i wyświetla odpowiedni wpis w / dev / pts. Urządzenie PTY działa jak urządzenie terminalowe - przyjmuje dane z klawiatury i wyświetla tekst z programów, które w nim działają . PTY są ponumerowane, a numer PTY to nazwa odpowiedniego wpisu w / dev / pts.
Na przykład, jeśli numer PTY nowego okna terminala to 7, wywołaj to polecenie z innego okna:% echo 'I'm a virtual di'> / dev / pts / 7 Dane wyjściowe pojawią się w nowym oknie terminala.
źródło
tty
Jest fizyczna t erminal- t Élet Y portu PE na komputerze (zwykle z portem szeregowym).Słowo teletype jest zwarcie maszynie telegraficznego lub dalekopisowej urządzenia z 1930 - samo urządzenie elektromagnetyczne, które zastąpiły telegraf kodujący maszyny w 1830 i 1840 roku.
TTY - Teletypewriter 1930s
pty
Jest p seudo- t ele ty pe portu dostarczana przez system operacyjny komputera Kernel do łączenia programów emulujÄ terminali, takich jak ssh, xterm lub ekranu.PTY - PseudoTeletype
Terminal to po prostu interfejs użytkownika komputera, który używa tekstu do wprowadzania i wysyłania.
Implementacje systemu operacyjnego
Stosują P seudo- t ele Ty PE porty jednak ich nazw i implementacje różniły się trochę.
Linux instaluje specjalny system plików devpts na / dev (the „s” prawdopodobnie stoi za s erial), które tworzy odpowiedni wpis
/dev/pts
dla każdego nowego okna terminala otwarciu, np/dev/pts/0
macOS / FreeBSD również korzystają ze struktury plików / dev , jednak używają numerowanej
TTY
konwencji nazewnictwattys
dla każdego otwieranego okna terminala, np./dev/ttys002
System Microsoft Windows nadal ma koncepcję
LPT
portu dla terminali drukarki liniowej w swojej powłoce poleceń do wysyłania do drukarki.źródło