Tại sao lại là một thiết bị đầu cuối ảo ảo ảo, và thiết bị đầu cuối thực sự là gì?


169

Tôi hy vọng câu hỏi là tự giải thích.

Hiểu biết của tôi là gnome-terminalkonsolecác thiết bị đầu cuối ảo , và về cơ bản chúng đang phục vụ cùng một mục đích, tức là một môi trường dòng lệnh cho các trình thông dịch lệnh tùy chọn khác nhau. (Tôi thậm chí không chắc đó có phải là cách nhìn đúng hay không.)

Tôi giả định rằng thực terminal là nơi tôi đang chuyển đến occasionaly bởi mis-keying Ctrl+ Alt+ F1, F2vv

Nhưng "Có những con rồng" ở vùng nội địa màn hình đen đó, vì vậy tôi ra khỏi đó nhanh nhất có thể nhấn Ctrl+ Alt+ F7(Tôi đã học được điều đó ở đâu đó: "Khi tất cả là đen và tối: nhấn các phím bí mật để trở về :)

  • Được / là "thật" thiết bị đầu cuối (s) Một (s) mà tồn tại đằng sau Ctrl+ Alt+ F1, F2, phím vv?
  • Và những gì là "thực" về họ so với những người "ảo"?
  • Và chúng khác nhau như thế nào? Có đơn giản như "không có GUI" so với "GUI" không?

PS là "console" và "terminal" đồng nghĩa với nhau?


21
Đừng sợ dòng lệnh. Nó có thể làm cho cuộc sống của bạn dễ dàng hơn rất nhiều đối với một số thứ một khi bạn đã quen thuộc hơn với nó.
Larry Coleman


8
@Larry: Được khuyến khích bởi những lời của bạn, tôi đã mạo hiểm vào hang ổ của rồng (Ctrl + Alt + F1) và tôi thực sự đã đăng nhập vào lúc này! ... Có sự im lặng .. nhưng tôi có thể thấy dấu nhắc thiết bị đầu cuối tùy chỉnh của mình (từ đất liền của X) .. Thú vị tôi nghĩ, và cảm thấy dũng cảm khi gọi con thú: Tôi đã nói "echo $ TERM" ... và lo và kìa! nó nói lại với tôi Nó nói, "linux" ... Ngay lập tức tôi nhận ra rằng anh ấy là anh em họ của "gnome-terminal" và "konsole", người trả lời "xterm" .. Vì vậy, đó không phải là một con rồng, mà đúng hơn, đó là một thiết bị ảo giả lập một thiết bị đầu cuối linux (thực).
Peter.O

5
Đừng sợ Bảng điều khiển Linux: Anh ấy là một con Rồng rất mạnh mẽ nhưng đã được thuần hóa và anh ấy là người bạn tốt nhất của bạn khi compiz gặp sự cố;)
MestreLion

Ngoài ra, bạn có thể gọi anh ấy là anh em họ gnome-terminal, sau tất cả cả hai đều phục vụ cùng một mục đích. Một người anh em họ không phụ thuộc vào bất kỳ môi trường đồ họa nào và được kết nối với một thiết bị cho phép anh ta có thêm sức mạnh.
MestreLion

Câu trả lời:


136

Hiểu biết của tôi là các thiết bị đầu cuối ảo về cơ bản phục vụ cùng một mục đích: tức là. Một môi trường dòng lệnh cho các trình thông dịch lệnh tùy chọn khác nhau

Điều này không đúng. Thiết bị đầu cuối ảo chỉ là các chương trình gửi tổ hợp phím và nhận đầu ra (cái này được gọi là Standard In, Standard Out [và Standard Error]) cho một quá trình trong nền. Đây là một đầu vào cơ bản → xử lý → hệ thống đầu ra và là trung tâm của hệ điều hành của bạn.


Một teletype (hoặc teleprinter)


Người đàn ông làm việc tại một trạm máy tính

Hãy xem tôi có thể giải thích nó đúng không:

Trong một hệ thống giống Unix Unix như Linux, có khái niệm "mọi thứ đều là tệp" . Điều đó có nghĩa là, ví dụ, Ổ đĩa DVD của bạn là một tệp (/ dev / sdb1), bàn phím của bạn là một tệp (/ dev / input / keyboard), v.v.

Một tập hợp các tệp ma thuật đó là TTYs, trong đó TTY là viết tắt của Teletype. Một máy đánh chữ gửi tổ hợp phím đến máy tính, sau đó sẽ gửi các chữ cái trở lại Loại bóng . Điều này sẽ đại diện cho một thiết bị vật lý, một máy đánh chữ từ xa, giống như / dev / lp0 có thể đại diện cho máy in của bạn.


Thiết bị đầu cuối phần cứng, VT100

Các máy trạm Teletype sẽ được gọi là "Bàn điều khiển" hoặc "Thiết bị đầu cuối", một thiết bị đầu cuối ảo, trái ngược với thiết bị thật, do đó, bất kỳ ứng dụng hoặc máy móc nào cung cấp chức năng tương tự như cách sắp xếp nơi làm việc này - đang truy cập vào máy tính bằng cách gửi tổ hợp phím cho nó và nhận đầu ra từ nó, in nó ra một tờ giấy. Bạn có thể tưởng tượng rằng Modem hoạt động theo cách rất giống nhau.

Thiết bị đầu cuối, chẳng hạn như một trong những hình trên, là những máy tính rẻ tiền và đơn giản mô phỏng chức năng của một loại máy điện báo. Khi chúng ta nói trình giả lập thiết bị đầu cuối ngày nay, chúng ta - lần lượt - thường có nghĩa là một chương trình mô phỏng chức năng của một máy như vậy.

Vẫn còn các hệ thống máy tính dựa trên thiết bị đầu cuối được sử dụng. Họ đang thực sự trở nên phổ biến hơn bao giờ hết . Trước đây, lý do cho các thiết bị đầu cuối là một máy tính ở mỗi bàn hoàn toàn vô lý - nơi máy tính lấp đầy một căn phòng và vô cùng đắt đỏ. Bây giờ, nó tiết kiệm tiền và làm cho quản trị dễ dàng.


một "khách hàng mỏng" - tương đương hiện đại của VT100

Tôi hy vọng rằng điều này là hữu ích. Vui lòng thông báo cho tôi nếu tôi đã làm sai.


Điều đó có nghĩa là Control-Alt-F1, F2, v.v. cũng là thiết bị đầu cuối ảo và sự khác biệt duy nhất giữa chúng và "gnome-terminal" / "konsole" là chúng không có GUI?

Vâng, về cơ bản. Sự khác biệt giữa TTY1-7 và gnome-terminal là hệ thống cung cấp các ttys, trong khi gnome-terminal và konsole tự chạy trên một tty (đang chạy hệ thống con đồ họa). Sự trừu tượng hóa này có thể được lồng sâu hơn nữa (ví dụ: chuyển tiếp x, sử dụng giao thức telnet để hoạt động như một thiết bị đầu cuối, ...), sau tất cả, giao diện máy tính của con người hoạt động giống như bất kỳ tệp nào khác. Và có thể được dẫn, trừu tượng hóa và di chuyển theo cùng một cách.


15
Câu trả lời của bạn có hữu ích không? ...Chắc chắn rồi!! ... giải thích rất rõ ... Tôi chưa bao giờ nghĩ bàn phím là một tệp, nhưng nó có ý nghĩa (một tệp chỉ đọc) ... và "máy khách mỏng" là một thuật ngữ mà tôi đã nghe về một số podcast, nhưng nó chỉ xuất hiện trong đầu tôi và tôi nghĩ rằng nó đề cập đến một số kiến ​​trúc CPU mới (a-la RISC) .. nhưng nó thực sự có nghĩa là những ý tưởng tốt không biến mất, và CICS (hoặc ít nhất là con của nó ) vẫn còn sống và tốt ... rất thú vị ... Cảm ơn (bây giờ tôi đã đọc thêm một chút để làm ... bạn đã bắt đầu một cái gì đó :)
Peter.O

19
Điều này hơi ngẫu nhiên và không liên quan nhiều đến Linux, nhưng cũng không kém: Nếu bạn muốn tìm hiểu một số điều cơ bản về cách máy tính thực sự hoạt động, hãy lắng nghe twit.tv/sn - các tập 233, 235, 237, 239 và 241 . Một loạt bài về "cách máy tính hoạt động từ những điều cơ bản tuyệt đối", trong đó cơ bản có nghĩa là "mức độ thấp". Không có nhiều người biết những thứ này , nó rất vui.
Stefano Palazzo

1
@TokiTahmid rất tiếc! Đã sửa, Cảm ơn rất nhiều. Đó không phải là cố ý, chỉ là một sai lầm :)
Stefano Palazzo

4
Hồi ức của tôi là VT-100 được coi là thiết bị đầu cuối (video), không phải là thiết bị đầu cuối ảo hoặc trình giả lập thiết bị đầu cuối. Nhiều thiết bị chứa bộ vi xử lý riêng của họ được coi là thiết bị đầu cuối, bất kể thiết bị nào khác mà họ mô phỏng, miễn là chúng được thiết kế để cung cấp đầu vào và đầu ra trực tiếp cho người dùng. Nếu giao diện máy tính / con người được triển khai trong phần mềm trên thiết bị không dành riêng cho thiết bị đầu cuối, tôi sẽ gọi giao diện hoặc phần mềm đó là thiết bị đầu cuối ảo. Mục đích của thiết bị tổng thể là sự khác biệt, không phải là công nghệ cũng như giao thức truyền thông được sử dụng.
John S Gruber

2
@JohnSGruber Hồi ức của bạn là chính xác VT100, và họ hàng của nó, là các thiết bị đầu cuối 'video', để phân biệt chúng với TTY dựa trên giấy, ảnh trên cùng trong câu trả lời này. Ba lợi ích của VT so với TTY là yên tĩnh hơn nhiều, không lãng phí giấy (nhưng cuộn không phải lúc nào cũng tốt) và tốc độ - TTY bị giới hạn khá nhiều ở 110baud (10 char / giây) mà VT có thể đi cao đến 19.200baud, iirc. Sau đó, họ thậm chí đã đưa ra 'thiết bị đầu cuối thông minh', một VT có khả năng xử lý một số tín hiệu đến và thêm màu cho văn bản, và thậm chí, với giá cả, đồ họa.
Spellweaver Gypsy

14

Khá chắc chắn gọi nó là "thiết bị đầu cuối ảo" là một trở ngại khi có các thiết bị đầu cuối vật lý được kết nối với máy chủ unix ...


Được rồi ... Điều đó có ý nghĩa ... "hồi đó" trước khi đa tác vụ tồn tại và ý tưởng về nó là trừu tượng và "ảo" ... Vì vậy, đó là ý tưởng tương tự như một Máy ảo so với hộp "phần cứng" ".
Peter.O

2
Điều đó có nghĩa là Control-Alt-F1, F2, v.v. cũng là các thiết bị đầu cuối ảo và điểm khác biệt duy nhất giữa chúng và "gnome-terminal" / "konsole" là chúng không có GUI?
Peter.O

@ fred.bear: Hãy xem Wikipedia .
Jamie Schembri

ảo vì đầu vào / đầu ra của con người của thiết bị đầu cuối thực sự kết nối với một quy trình đang chạy (thông qua / dev / pts / *). Thiết bị đầu cuối không ảo là những thứ như bảng điều khiển văn bản Linux (phụ trợ được cung cấp bởi mã hạt nhân để biến tổ hợp phím thành ký tự đầu vào thiết bị đầu cuối và đầu ra thiết bị đầu cuối thành ký tự trên màn hình, bao gồm xử lý mã thoát cho màu sắc, di chuyển con trỏ, v.v.). Hoặc ví dụ cũ nhất của một thiết bị đầu cuối không ảo, các cổng nối tiếp. Xử lý thiết bị đầu cuối được cung cấp bởi bất cứ điều gì bạn nối vào cổng nối tiếp của bạn. Bạn có thể khởi động với bảng điều khiển văn bản trên một cổng nối tiếp.
Peter Cordes

13

Ngoài các câu trả lời ở trên, hãy xem phần giải thích toàn diện này . TTY, mặc dù đơn giản rõ ràng, về mặt khái niệm là một phần khá phức tạp của Linux.


1
Cảm ơn loevborg. Đây là một bài viết thực sự thú vị, đi một chặng đường dài để giải thích rất nhiều thuật ngữ "bí ẩn" ... (ví dụ: một quá trình "thây ma";)
Peter.O
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.