Dlaczego terminal wirtualny jest „wirtualny” i co / dlaczego / gdzie jest „prawdziwy” terminal?


169

Mam nadzieję, że pytanie jest oczywiste.

W moim rozumieniu jest to, że gnome-terminali konsolewirtualne terminale, a są one w zasadzie służący temu samemu celowi, tj środowisku wiersza poleceń dla różnych opcjonalnych ustnych poleceń. (Nie jestem nawet pewien, czy to właściwy sposób na to.)

Zakładam, że prawdziwy terminal gdzie ja teleportowany do occasionaly przez nieuprawnioną kluczowania Ctrl+ Alt+ F1, F2itp

Ale „Tam są smoki” w głębi czarnego ekranu, więc jestem tam tak szybko, jak mogę nacisnąć Ctrl+ Alt+ F7(dowiedziałem się gdzieś: „Kiedy wszystko jest czarne i ciemne: naciśnij tajne klawisze, aby wrócić :)

  • Jest / są "prawdziwe" terminal (e) jeden (s), które istnieją za Ctrl+ Alt+ F1, F2itp kluczy?
  • A co jest w nich takiego „prawdziwego”, a co „wirtualnego”?
  • A jak się różnią? Czy to jest tak proste jak „brak GUI” kontra „GUI”?

PS są synonimami „konsoli” i „terminala”?


21
Nie bój się linii poleceń. Może sprawić, że twoje życie stanie się łatwiejsze dla niektórych rzeczy, gdy będziesz się z nim lepiej zaznajomić.
Larry Coleman


8
@ Larry: Ośmielony twoimi słowami, zapuściłem się do legowiska smoka (Ctrl + Alt + F1) i zalogowałem się tym razem! ... Nastąpiła cisza .. ale mogłem zobaczyć mój spersonalizowany monit terminalu (z lądu z X) .. Ciekawe pomyślałem i poczułem odważny entuzjazm, by zawołać bestię: Powiedziałem „echo TERM”… i oto! odezwał się do mnie! Powiedział: „linux” ... Natychmiast zdałem sobie sprawę, że jest kuzynem „gnome-terminal” i „konsole”, którzy odpowiadają „xterm” .. Więc to wcale nie smok, ale raczej wirtualny terminal emulowanie terminala linux (rzeczywistego).
Peter.O,

5
Nie obawiaj się Linuksowej konsoli: jest bardzo potężnym, ale jeszcze oswojonym smokiem, i jest twoim najlepszym przyjacielem, gdy zawiesza się compiz;)
MestreLion

Możesz też nazwać go kuzynem, bo gnome-terminalprzecież oba służą temu samemu celowi. Kuzyn, który nie zależy od żadnego środowiska graficznego i jest podłączony do urządzenia, które daje mu nieco więcej mocy.
MestreLion

Odpowiedzi:


136

Rozumiem, że terminale wirtualne zasadniczo służą temu samemu celowi: tj. Środowisko wiersza poleceń dla różnych opcjonalnych interpretatorów poleceń

To nie jest do końca prawda. Terminale wirtualne to tylko programy, które wysyłają naciśnięcia klawiszy i odbierają dane wyjściowe (nazywa się to Standardowe wejście, Standardowe wyjście [i Standardowy błąd]) do procesu w tle. Jest to podstawowe wejścieprzetwarzanie → system wyjściowy i jest sercem systemu operacyjnego.


Teletype (lub teleprinter)


Mężczyzna pracujący w terminal komputerowy

Zobaczmy, czy potrafię to właściwie wyjaśnić:

W systemie uniksopodobnym, takim jak Linux, istnieje koncepcja „wszystko jest plikiem” . Oznacza to, na przykład, że napęd DVD to plik (/ dev / sdb1), twoja klawiatura to plik (/ dev / input / keyboard) i tak dalej.

Kolejnym zestawem tych magicznych plików są TTY, gdzie TTY oznacza Teletype. Maszyna do pisania, która wysyła naciśnięcia klawiszy do komputera, który z kolei wysyła litery z powrotem do kuli . To reprezentowałoby fizyczne urządzenie, zdalną maszynę do pisania, w taki sam sposób, jak / dev / lp0 może reprezentować twoją drukarkę.


Terminal sprzętowy VT100

Stacje robocze typu Teletype zostałyby nazwane „konsolami” lub „terminalami”, terminalem wirtualnym, w przeciwieństwie do prawdziwego, dlatego każda aplikacja lub maszyna zapewnia taką samą funkcjonalność jak to ustawienie miejsca pracy - dostęp do komputera poprzez wysyłanie naciśnięć klawiszy i odbieranie z niego danych wyjściowych, drukowanie na kartce papieru. Możesz sobie wyobrazić, że modem działa w bardzo podobny sposób.

Terminale, takie jak ten pokazany powyżej, to tanie i proste komputery, które emulują funkcjonalność typu teletekstu. Kiedy mówimy dzisiaj o emulatorze terminali, z kolei - zwykle mamy na myśli program, który emuluje funkcjonalność takiej maszyny.

Wciąż stosowane są systemy komputerowe oparte na terminalach. W rzeczywistości stają się coraz bardziej popularne . W przeszłości przyczyną było to, że komputer na każdym biurku był całkowicie niedorzeczny - komputery wypełniały pokój i były niezwykle drogie. Teraz oszczędza pieniądze i ułatwia administrację.


„cienki klient” - nowoczesny odpowiednik VT100

Mam nadzieję, że to jest pomocne. Powiadom mnie, jeśli popełniłem błąd.


Czy to oznacza, że ​​Control-Alt-F1, F2 itp. Są również terminalami wirtualnymi, a jedyną różnicą między nimi a „terminalem gnome” / „konsolą” jest to, że nie mają one GUI?

Tak, w zasadzie. Różnica między TTY1-7 a terminalem gnome polega na tym, że system zapewnia tty, podczas gdy terminal gnome i konsola same działają na tty (który obsługuje podsystem graficzny). Ta abstrakcja może być zagnieżdżona jeszcze głębiej (np. Przekazywanie x, używanie protokołu telnet do działania jako terminal, ...), przecież interfejs człowiek-komputer działa tak jak każdy inny plik. I mogą być przenoszone, abstrakcyjne i przenoszone w ten sam sposób.


15
Czy twoja odpowiedź była pomocna? ...Absolutnie!! ... bardzo dobrze wyjaśnione ... Nigdy nie myślałem o klawiaturze jako pliku, ale ma to sens (plik tylko do odczytu) ... a „cienki klient” to termin, o którym słyszałem reklamę niektóre podcasty, ale po prostu przeszło mi przez głowę i myślałem, że odnosi się do nowej architektury procesora (a-la RISC) .. ale tak naprawdę oznacza to, że dobre pomysły nie odchodzą i że CICS (a przynajmniej jego potomstwo ) wciąż żyje i ma się dobrze ... bardzo interesująco ... Dzięki (teraz mam trochę więcej do przeczytania ... coś zacząłeś :)
Peter.O

19
Jest to trochę losowe i nie ma wiele wspólnego z Linuksem, ale mimo to: Jeśli chcesz nauczyć się podstawowych zasad działania komputera, posłuchaj twit.tv/sn - odcinki 233, 235, 237, 239 i 241 . Seria na temat „jak działają komputery od absolutnych podstaw”, gdzie podstawowa oznacza „niski poziom”. Niewiele osób wie o tym , to świetna zabawa.
Stefano Palazzo

1
@TokiTahmid ups! Poprawione, dziękuję bardzo. To nie było zamierzone, tylko pomyłka :)
Stefano Palazzo

4
Przypominam sobie, że VT-100 był uważany za terminal (wideo), a nie terminal wirtualny lub emulator terminala. Wiele urządzeń zawierających własne mikroprocesory uważano za terminale, niezależnie od innych emulowanych urządzeń, o ile zostały zaprojektowane tak, aby zapewniały wejście i wyjście bezpośrednio użytkownikowi. Jeśli interfejs komputer / człowiek jest zaimplementowany w oprogramowaniu na urządzeniu, które nie jest dedykowane jako terminal, nazwałbym ten interfejs lub oprogramowanie terminalem wirtualnym. Celem całego urządzenia jest różnica, a nie technologia ani zastosowany protokół komunikacyjny.
John S Gruber

2
@JohnSGruber Twoje wspomnienie jest prawidłowe VT100, a jego krewni są terminalami wideo, aby odróżnić je od papierowego TTY, górnego zdjęcia w tej odpowiedzi. Trzy zalety VT w porównaniu z TTY były znacznie cichsze, bez marnowania papieru (ale bez przewijania, który nie zawsze był dobry) i szybkość - TTY był prawie ograniczony do 110 bodów (10 znaków / s), które VT mogły iść aż 19,200 baud, iirc. Później wymyślili nawet „inteligentne terminale”, VT z możliwością przetwarzania przychodzącego sygnału i dodawania koloru do tekstu, a nawet, za cenę, grafiki.
Gypsy Spellweaver

14

Całkiem pewne nazwanie go „terminalem wirtualnym” to powrót do sytuacji, gdy do serwerów unixowych podłączono fizyczne terminale…


Ok ... To ma sens ... "wtedy" zanim istniała wielozadaniowość, a sama idea była abstrakcyjna i "wirtualna" ... Więc jest to ten sam pomysł jak maszyna wirtualna kontra sprzętowa " „.
Peter.O,

2
Czy to oznacza, że ​​Control-Alt-F1, F2 itp. Są również terminalami wirtualnymi, a jedyną różnicą między nimi a „terminalem gnome” / „konsolą” jest to, że nie mają one GUI?
Peter.O,

@ fred.bear: spójrz na Wikipedię .
Jamie Schembri,

wirtualny, ponieważ ludzkie wejście / wyjście terminala faktycznie łączy się z działającym procesem (poprzez / dev / pts / *). Nie-wirtualne terminale to np. Konsola tekstowa Linuksa (backend zapewniany przez kod jądra, który zamienia naciśnięcia klawiszy w znaki wejściowe terminala, a dane wyjściowe terminala w znaki na ekranie, w tym przetwarzanie kodów specjalnych dla koloru, ruchu kursora itp.). Lub najstarszy przykład niewirtualnego terminala, porty szeregowe. Obsługa terminali zapewniana przez wszystko, co podłączono do portu szeregowego. Możesz uruchomić za pomocą konsoli tekstowej na porcie szeregowym.
Peter Cordes,

13

Oprócz powyższych odpowiedzi, zobacz to pełne wyjaśnienie terminali. TTY, pomimo swojej pozornej prostoty, jest koncepcyjnie dość skomplikowaną częścią Linuksa.


1
Dzięki Loevborg. To naprawdę interesujący artykuł, który bardzo długo wyjaśnia wiele „tajemniczych” terminów ... (np. Proces „zombie”;)
Peter.O
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.