Mengapa terminal virtual "virtual", dan apa / mengapa / di mana terminal "nyata"?

170

Saya harap pertanyaannya cukup jelas.

Pemahaman saya adalah itu gnome-terminaldan konsolemerupakan terminal virtual , dan mereka pada dasarnya melayani tujuan yang sama, yaitu lingkungan baris perintah untuk berbagai penerjemah perintah opsional. (Aku bahkan tidak yakin apakah itu cara yang tepat untuk melihatnya.)

Saya berasumsi bahwa sebenarnya terminal adalah di mana saya teleport ke occasionaly oleh mis-keying Ctrl+ Alt+ F1, F2dll

Tapi "There be Dragons" di pedalaman layar hitam itu, jadi saya keluar dari sana secepat yang saya bisa tekan Ctrl+ Alt+ F7(saya mengetahui bahwa di suatu tempat: "Ketika semuanya hitam dan gelap: tekan tombol rahasia untuk kembali :)

  • Adalah / adalah "nyata" terminal (s) yang (s) yang ada di belakang Ctrl+ Alt+ F1, F2, kunci dll?
  • Dan apa yang "nyata" tentang mereka vs yang "virtual"?
  • Dan bagaimana mereka berbeda? Apakah sesederhana "no GUI" vs "GUI"?

PS adalah "konsol" dan "terminal" identik?

Peter.O
sumber
22
Jangan takut pada baris perintah. Ini bisa membuat hidup Anda jauh lebih mudah untuk beberapa hal begitu Anda sudah terbiasa dengannya.
Larry Coleman
8
@Larry: Diberani oleh kata-kata Anda, saya berkelana ke sarang naga (Ctrl + Alt + F1), dan saya benar-benar masuk kali ini! ... Ada keheningan .. tapi saya bisa melihat terminal prompt khusus saya (dari tanah) of X) .. Menarik saya pikir, dan merasa berani untuk memanggil binatang: aku berkata "echo $ TERM" "dan lihatlah! itu berbicara kembali kepada saya! Bunyinya, "linux" ... Segera aku menyadari bahwa dia adalah sepupu dari "gnome-terminal" dan "konsole" yang membalas "xterm" .. Jadi sebenarnya bukan naga, melainkan terminal virtual meniru terminal linux (nyata).
Peter.O
5
Jangan takut Konsol Linux: Dia adalah Naga yang sangat kuat namun jinak, dan dia adalah teman terbaik Anda ketika compiz crash;)
MestreLion
Juga, Anda dapat memanggilnya sepupu gnome-terminal, setelah semua mereka melayani tujuan yang sama. Sepupu yang tidak bergantung pada lingkungan grafis apa pun, dan terhubung ke perangkat yang memberinya lebih banyak kekuatan.
MestreLion

Jawaban:

136

Pemahaman saya adalah bahwa terminal virtual pada dasarnya melayani tujuan yang sama: mis. Lingkungan baris perintah untuk berbagai penerjemah perintah opsional

Ini tidak sepenuhnya benar. Terminal Virtual hanyalah program yang mengirim penekanan tombol dan menerima output (ini disebut Standar Masuk, Standar Keluar [dan Kesalahan Standar]) ke proses di latar belakang. Ini adalah input dasar → pemrosesan → sistem output , dan merupakan jantung dari sistem operasi Anda.


Teletype (atau teleprinter)


Pria yang bekerja di Terminal Komputer

Mari kita lihat apakah saya bisa menjelaskannya dengan benar:

Dalam sistem mirip Unix seperti Linux ada konsep "semuanya adalah file" . Itu artinya, misalnya, Drive DVD Anda adalah file (/ dev / sdb1), keyboard Anda adalah file (/ dev / input / keyboard) dan sebagainya.

Seperangkat file ajaib itu adalah TTY, di mana TTY adalah singkatan dari Teletype. Mesin tik yang mengirim penekanan tombol ke komputer, yang pada gilirannya mengirim surat kembali ke Type Ball . Ini akan mewakili perangkat fisik, mesin tik jarak jauh, dengan cara yang sama seperti / dev / lp0 dapat mewakili printer Anda.


Terminal perangkat keras, VT100

Stasiun kerja Teletype akan disebut "Konsol" atau "Terminal", terminal virtual, sebagai lawan dari terminal nyata, dengan demikian adalah setiap aplikasi atau mesin yang menyediakan fungsionalitas yang sama dengan pengaturan tempat kerja ini - yang mengakses komputer dengan mengirim penekanan tombol untuk itu dan menerima kembali output darinya, mencetaknya ke selembar kertas. Anda dapat membayangkan bahwa sebuah Modem bekerja dengan cara yang sangat mirip.

Terminal, seperti yang digambarkan di atas, adalah komputer murah dan sederhana yang meniru fungsi teletype. Ketika kita mengatakan terminal emulator hari ini, kita - pada gilirannya - biasanya berarti suatu program yang mengemulasi fungsionalitas dari mesin seperti itu.

Masih ada sistem komputer berbasis terminal yang digunakan. Mereka sebenarnya semakin populer . Di masa lalu, alasan untuk terminal adalah bahwa komputer di setiap meja benar-benar konyol - di mana komputer memenuhi ruangan dan sangat mahal. Sekarang, menghemat uang dan membuat administrasi mudah.


"thin client" - padanan modern dari VT100

Saya harap ini membantu. Harap beri tahu saya jika saya melakukan kesalahan.


Apakah itu berarti bahwa Control-Alt-F1, F2, dll juga merupakan terminal virtual, dan satu-satunya perbedaan antara mereka dan "gnome-terminal" / "konsole" adalah bahwa mereka tidak memiliki GUI?

Ya, pada dasarnya. Perbedaan antara TTY1-7 dan gnome-terminal adalah bahwa sistem menyediakan ttys, sedangkan gnome-terminal dan konsole sendiri berjalan pada tty (yang menjalankan subsistem grafis). Abstraksi ini dapat disarangkan lebih dalam lagi (misalnya penerusan x, menggunakan protokol telnet untuk bertindak sebagai terminal, ...), setelah semua, antarmuka manusia-komputer bertindak sama seperti file lainnya. Dan dapat disalurkan, disarikan dan dipindahkan dengan cara yang sama.

Stefano Palazzo
sumber
15
Apakah jawaban Anda bermanfaat? ...Benar!! ... dijelaskan dengan sangat baik ... Saya tidak pernah menganggap keyboard sebagai file, tetapi masuk akal (file read-only) ... dan "thin client" adalah istilah yang saya dengar disebut-sebut tentang beberapa podcast, tetapi hanya terlintas di kepala saya dan saya pikir itu merujuk pada beberapa arsitektur CPU baru (a-la RISC) .. tetapi sebenarnya berarti ide-ide bagus tidak hilang, dan bahwa CICS (atau setidaknya keturunannya) ) masih hidup dan baik ... sangat menarik ... Terima kasih (sekarang saya punya lebih banyak bacaan untuk dilakukan ... Anda sudah memulai sesuatu :)
Peter.O
19
Ini agak acak dan tidak ada hubungannya dengan Linux, tetapi tidak kurang: Jika Anda ingin mempelajari beberapa dasar-dasar bagaimana sebuah komputer benar-benar bekerja, dengarkan twit.tv/sn - episode 233, 235, 237, 239 dan 241 . Serangkaian "bagaimana komputer bekerja dari dasar-dasar absolut", di mana dasar berarti "tingkat rendah". Tidak banyak orang yang mengetahui hal ini , sangat menyenangkan.
Stefano Palazzo
1
@TokiTahmid whoops! Diperbaiki, Terima kasih banyak. Itu tidak disengaja, hanya kesalahan :)
Stefano Palazzo
4
Ingatan saya adalah bahwa VT-100 dianggap sebagai terminal (video), bukan terminal virtual atau terminal emulator. Banyak perangkat yang mengandung mikroprosesor sendiri dianggap sebagai terminal, apa pun perangkat lain yang mereka tiru, asalkan mereka dirancang untuk memberikan input dan output secara langsung kepada pengguna. Jika antarmuka komputer / manusia diimplementasikan dalam perangkat lunak pada perangkat yang tidak didedikasikan untuk menjadi terminal, saya akan menyebutnya antarmuka atau perangkat lunak terminal virtual. Tujuan keseluruhan perangkat adalah perbedaan, bukan teknologi atau protokol komunikasi yang digunakan.
John S Gruber
2
@JohnSGruber Ingatan Anda benar VT100, dan kinanya, adalah terminal 'video', untuk membedakan mereka dari TTY berbasis kertas, foto teratas dalam jawaban ini. Tiga manfaat dari VT lebih dari TTY jauh lebih tenang, tidak ada kertas yang terbuang (tetapi tidak ada gulungan yang tidak selalu baik), dan kecepatan - TTY cukup terbatas pada 110baud (10 char / detik) VT dapat setinggi 19.200baud, iirc. Kemudian mereka bahkan datang dengan 'terminal pintar', sebuah VT dengan kemampuan untuk melakukan beberapa pemrosesan pada sinyal yang masuk dan menambahkan warna pada teks, dan bahkan, untuk harga, grafik.
Gypsy Spellweaver
14

Cukup yakin menyebutnya "terminal virtual" adalah kemunduran ketika ada terminal fisik yang terhubung ke server unix ...

RobotHumans
sumber
Oke ... Itu masuk akal ... "dulu" sebelum multi-tasking ada, dan ide itu adalah abstrak dan "virtual" ... Jadi itu adalah ide yang sama dengan Mesin Virtual vs kotak perangkat keras " ".
Peter.O
2
Apakah itu berarti bahwa Control-Alt-F1, F2, dll juga merupakan terminal virtual, dan satu - satunya perbedaan antara mereka dan "gnome-terminal" / "konsole" adalah bahwa mereka tidak memiliki GUI?
Peter.O
@ fred.bear: Lihatlah Wikipedia .
Jamie Schembri
virtual karena ujung input / output manusia terminal sebenarnya terhubung ke proses yang sedang berjalan (melalui / dev / pts / *). Terminal non-virtual adalah hal-hal seperti konsol teks Linux (backend yang disediakan oleh kode kernel untuk mengubah penekanan tombol menjadi karakter input terminal, dan output terminal menjadi karakter di layar, termasuk pemrosesan kode escape untuk warna, pergerakan kursor dll.). Atau contoh tertua dari terminal non-virtual, port serial. Penanganan terminal disediakan oleh apa pun yang Anda hubungkan ke port serial Anda. Anda dapat boot dengan konsol teks pada port serial.
Peter Cordes
13

Selain jawaban di atas, lihat penjelasan komprehensif terminal ini. TTY, meskipun sangat sederhana, secara konseptual merupakan bagian yang agak rumit dari Linux.

loevborg
sumber
1
Terima kasih loevborg. Ini adalah artikel yang sangat menarik yang jauh menjelaskan banyak tentang terminologi "misterius" ... (mis. Proses "zombie";)
Peter.O