Saya perhatikan ada banyak yang menyebutkan pty
dan tty
dalam beberapa proyek open source, dapatkah seseorang memberi tahu saya apa artinya dan apa perbedaan di antara mereka? Terima kasih!
sumber
Saya perhatikan ada banyak yang menyebutkan pty
dan tty
dalam beberapa proyek open source, dapatkah seseorang memberi tahu saya apa artinya dan apa perbedaan di antara mereka? Terima kasih!
"tty" aslinya berarti "teletype" dan "pty" berarti "pseudo-teletype".
Di UNIX, / dev / tty * adalah perangkat apa pun yang bertindak seperti "teletype", yaitu terminal. (Disebut teletype karena itulah yang kami punya untuk terminal pada masa itu.)
Pty adalah pseudotty, entri perangkat yang bertindak seperti terminal untuk proses membaca dan menulis di sana, tetapi dikelola oleh sesuatu yang lain. Mereka pertama kali muncul (seingat saya) untuk X Window dan layar dan sejenisnya, di mana Anda membutuhkan sesuatu yang bertindak seperti terminal tetapi dapat digunakan dari program lain.
Ctrl-Alt-F{1..6}
dan mereka terhubung/dev/tty{1..6}
. Linux Console bukan terminal fisik, namun terhubung kettyN
(bukan keptyN
). Apakah saya melewatkan sesuatu di sini?Tty adalah terminal (singkatan dari teletype - terminal asli menggunakan printer garis untuk output dan keyboard untuk input!). Terminal pada dasarnya hanyalah perangkat antarmuka pengguna yang menggunakan teks untuk input dan output.
Pty adalah pseudo-terminal - ini adalah implementasi perangkat lunak yang muncul ke program terlampir seperti terminal, tetapi alih-alih berkomunikasi langsung dengan terminal "nyata", ia mentransfer input dan output ke program lain.
Sebagai contoh, ketika Anda ssh ke mesin dan menjalankan
ls
,ls
perintah mengirim outputnya ke terminal semu, sisi lain yang dilampirkan ke daemon SSH.sumber
*nix
sistem operasi berbasis menciptakan terminal semu ini.sshd
danxterm
dua contoh khas.tty: teletype. Biasanya mengacu pada port serial komputer, di mana terminal terpasang.
pty: pseudoteletype. Kernel menyediakan port pseudoserial yang terhubung ke program yang meniru terminal, seperti xterm, atau layar.
sumber
Jika Anda menjalankan perintah mount tanpa argumen baris perintah, yang menampilkan sistem file yang terpasang pada sistem Anda, Anda akan melihat baris yang terlihat seperti ini: tidak ada tipe devpts pada / dev / pts (rw, gid = 5, mode = 620) Ini menunjukkan bahwa jenis khusus dari sistem file, devpts, dipasang di / dev / pts. Sistem file ini, yang tidak terkait dengan perangkat perangkat keras apa pun, adalah sistem file "ajaib" yang dibuat oleh Kernel Linux. Ini mirip dengan sistem file / proc
Seperti direktori / dev, / dev / pts berisi entri yang sesuai dengan perangkat. Tetapi tidak seperti / dev, yang merupakan direktori biasa, / dev / pts adalah direktori khusus yang dibuat secara dinamis oleh kernel Linux. Isi direktori bervariasi dengan waktu dan mencerminkan keadaan sistem yang sedang berjalan. Entri dalam / dev / pts berhubungan dengan pseudo-terminal (atau pseudo-TTYs, atau PTYs).
Linux membuat PTY untuk setiap jendela terminal baru yang Anda buka dan menampilkan entri yang sesuai di / dev / pts. Perangkat PTY bertindak seperti perangkat terminal — ia menerima input dari keyboard dan menampilkan output teks dari program yang berjalan di dalamnya . PTY diberi nomor, dan nomor PTY adalah nama entri yang sesuai di / dev / pts.
Misalnya, jika nomor PTY jendela terminal baru adalah 7, aktifkan perintah ini dari jendela lain:% echo 'I am a virtual di'> / dev / pts / 7 Output muncul di jendela terminal baru.
sumber
Sebuah
tty
adalah fisik t erminal- t Elet y pelabuhan pe pada komputer (biasanya port serial).Kata teletype adalah kependekan dari mesin tik telegraf , atau perangkat teletypewriter dari tahun 1930-an - itu sendiri merupakan perangkat elektromagnetik yang menggantikan mesin pengkodean telegraf tahun 1830-an dan 1840-an.
TTY - Teletypewriter 1930-an
Sebuah
pty
adalah p seudo- t ele ty pe pelabuhan yang disediakan oleh komputer Sistem Operasi Kernel untuk program perangkat lunak menghubungkan meniru terminal, seperti ssh, xterm, atau layar.PTY - PseudoTeletype
Terminal hanyalah antarmuka pengguna komputer yang menggunakan teks untuk input dan output.
Implementasi OS
Ini digunakan p seudo- t ele ty pe port Namun, penamaan dan implementasi mereka telah menyimpang sedikit a.
Linux tunggangan khusus sistem file devpts di / dev (yang 's' mungkin berdiri untuk s erial) yang menciptakan sesuai entri dalam
/dev/pts
untuk setiap jendela terminal baru Anda membuka, misalnya/dev/pts/0
macOS / FreeBSD juga menggunakan struktur file / dev namun, mereka menggunakan
TTY
konvensi penamaan bernomorttys
untuk setiap jendela terminal baru yang Anda buka misalnya/dev/ttys002
Microsoft Windows masih memiliki konsep
LPT
port untuk Terminal Printer Lini di dalam Command Shell-nya untuk output ke printer.sumber