2010-12-13 38 views
177

Tôi nhận thấy có nhiều đề cập đến ptytty trong một số dự án mã nguồn mở, ai đó có thể cho tôi biết ý nghĩa của chúng và sự khác biệt giữa chúng là gì? Cảm ơn!Pty và tty có nghĩa là gì?

Trả lời

168

"tty" ban đầu có nghĩa là "teletype" và "pty" có nghĩa là "pseudo-teletype".

Trong UNIX,/dev/tty * là bất kỳ thiết bị nào hoạt động giống như "teletype", nghĩa là thiết bị đầu cuối. (Được gọi là teletype bởi vì đó là những gì chúng tôi đã có cho các thiết bị đầu cuối trong những ngày benighted.)

Một pty là một pseudotty, một thiết bị hoạt động như một thiết bị đầu cuối cho quá trình đọc và viết ở đó, nhưng được quản lý bởi cái gì khác. Chúng xuất hiện lần đầu tiên (như tôi nhớ) cho X Windows và màn hình và những thứ tương tự, nơi bạn cần một thứ gì đó hoạt động như một thiết bị đầu cuối nhưng có thể được sử dụng từ một chương trình khác.

+2

Tôi đã có PTY trong PDP-11 RSTS/E năm 1976 ... – EJP

+0

Tôi nghĩ rằng ptys được thêm vào Unix chủ yếu để hỗ trợ Telnet, rsh và rlogin. –

+0

@larsmans, chúng tôi đã có telnet (ít nhất) trước khi có một pty - trên thực tế, telnet và tôi cả hai đã vào máy tính cùng năm, 1969. Tôi đã kinda ra trong thế giới DECNET khi rsh xuất hiện trong UNIX, vì vậy Tôi không chắc chắn về mùi ở đó. Trong mọi trường hợp, đó là một phần của "và tương tự". –

14

tty: teletype. Thông thường đề cập đến các cổng nối tiếp của một máy tính, mà các thiết bị đầu cuối được gắn vào.

pty: pseudoteletype. Hạt nhân cung cấp cổng giả tạo kết nối với các chương trình mô phỏng thiết bị đầu cuối, chẳng hạn như xterm hoặc màn hình.

194

Tty là đầu cuối (viết tắt là teletype - thiết bị đầu cuối gốc sử dụng máy in đường cho đầu ra và bàn phím để nhập!). Một thiết bị đầu cuối là cơ bản chỉ là một thiết bị giao diện người dùng sử dụng văn bản cho đầu vào và đầu ra.

Một pty là một thiết bị đầu cuối giả - nó là một phần mềm thực hiện chương trình đính kèm như một thiết bị đầu cuối, nhưng thay vì giao tiếp trực tiếp với một thiết bị đầu cuối "thực", nó chuyển đầu vào và đầu ra cho chương trình khác.

Ví dụ, khi bạn ssh vào máy và chạy ls, lệnh ls sẽ gửi đầu ra của nó tới đầu cuối giả, mặt còn lại được gắn với SSH daemon.

+1

Bạn có thể đưa ra ví dụ "chính xác" hơn về PTY không? Tôi vẫn không hiểu họ đến đâu, và họ được gọi như thế nào. Cảm ơn – user3085931

+0

Ai đó có thể trợ giúp về thời gian và cách thức hệ điều hành dựa trên '* nix' tạo ra các thiết bị đầu cuối giả này. –

+0

@darth_coder: Chúng được tạo khi ứng dụng yêu cầu. Điều đó xảy ra khi bạn làm những việc như mở một cửa sổ thiết bị đầu cuối đồ họa mới hoặc đăng nhập từ xa. – caf

11

Nếu bạn chạy lệnh mount không có đối số dòng lệnh, hiển thị các hệ thống tập tin được gắn trên hệ thống của bạn, bạn sẽ nhận thấy một dòng trông giống như thế này: none on/dev/pts gõ devpts (rw, gid = 5, mode = 620) Điều này cho thấy rằng một loại hệ thống tập tin đặc biệt, được lấy, được gắn tại/dev/pts. Hệ thống tập tin , không liên kết với bất kỳ thiết bị phần cứng nào, là “ ma thuật ”hệ thống tập tin được tạo ra bởi hạt nhân Linux. Nó tương tự như hệ thống tệp/proc

Giống như thư mục/dev,/dev/pts chứa các mục nhập tương ứng với thiết bị. Nhưng không giống như/dev, đó là một thư mục thông thường,/dev/pts là một thư mục đặc biệt được cre- ated động bởi hạt nhân Linux. Nội dung của thư mục thay đổi theo thời gian và phản ánh trạng thái của hệ thống đang chạy. Các mục nhập trong/dev/pts tương ứng với pseudo-terminal (hoặc pseudo-TTYs, hoặc PTYs).

Linux tạo ra một PTY cho mỗi cửa sổ terminal mới bạn mở và hiển thị một mục sponding corre- trong/dev/pts hành vi thiết bị .Công PTY giống như một thiết bị đầu cuối thiết bị nó chấp nhận đầu vào từ đầu ra bàn phím và hiển thị văn bản từ các chương trình chạy trong đó. PTY được đánh số và số PTY là tên của mục nhập tương ứng trong /dev/pts.

Đối dụ: nếu số PTY nhà ga cửa sổ mới là 7, gọi lệnh này từ một cửa sổ: % echo 'Tôi là một di ảo'>/dev/pts/7 Sản lượng xuất hiện trong mới cửa sổ đầu cuối.