'pts'에 해당되는 글 1건

  1. 2006/08/14 tty 과 pts
2006/08/14 16:12
tty는 teletypewirter의 약자이다. 예전에 전신 타자기에서 유래 되었다. tty에 S0, S1 등이 붙은
ttyS0, ttyS1 등은 모뎀같은 COM Port를 사용하는 Serial Line을 통한 통신을 의미한다.

pts는 Pseudo TTY Slave의 약자이다. pty(pseudo tty)의 구성요소인 ptmx(port 개념, 커널 영역),
ptm(master, 커널 영역), pts(slave, /dev/pts에 존재) 중의 하나인데 말 그대로 가짜 tty이다.

-----------------------------------------------------------

특정 프로세스에서 pts를 만들기위해 ptmx(port개념, 커널 영역)를 열어둔다.

그리고 ptmx를 열면 file descriptor로서 ptm(master, 커널 영역)을 가지게 되고 이것에 대한 슬레이브로서
pts가 생성된다.

이것들은 X서버와 X클라이언트의 관계와 비슷하다. X클라이언트에서 입력한 내용이 X서버를 통해 처리된
후 다시 X클라이언트에 결과로 출력되듯이 pts에서 입력한 내용은 ptm에서 처리하는 것이다.

ptm에서 쓰는 내용이 pts로 입력된다는 말은 곧 ptm에서 처리한 결과가 pts로 출력된다고 해석하면 된다.

ptmx는 포트의 개념으로 생각하시면 된다. 즉, ptmx에 대해 ptm은 개별적으로 존재한다.

우리가 xterm, hanterm류를 통해서 보는 것들은 pts라고 보면 된다.

이것들은 실제 콘솔의 외부 인터페이스와 유사하게 동작하도록 흉내내기 때문에 xterm류의 프로그램들을
터미널 에뮬레이터라고 부르는 것이다.

실제 콘솔에서 `tty`를 치면 /dev/tty?를 보여주며, 내가 쓰는 xlterm에서 `tty`를 치면 /dev/pts/1을 보여준다.
(이런 것들도 커널옵션에서 Unix98 pts지원 내지 devfs지원과 관련이 있다. 장치명의 표준화?)

tty1, 2, 3 이렇게 나가는것은 콘솔상(키보드 직접입력)에서 로그인 했을 때 얻어지는 터미널을 말한다.

그냥 처음 설치한 상태로 쓰면 /etc/inittab 파일에 정의된 대로 총 6개의 터미널이 열릴수 있고 이경우
X서버를 띄우게 되면 7번째의 터미널로 등록되게 된다.

tty가 물리적인 콘솔에서 사람이 직접 조작하는 개념이라면, pty는 telnet 처럼 원격에서 접속하거나
X-Window에서 xterm, hanterm 같은 에뮬레이터로 접속할 때 사용하는 접속점의 개념이다.

즉, 로그인을 콘솔에서 했느냐 원격지에서 했느냐가 틀린 것이다.

출저 : http://swlee1.egloos.com/2263336/
Posted by kimgisa.net