-
[STUDY05] tty pts가 뭐지??FISA 2026. 1. 5. 15:42
리눅스 who를 치면

tty pts가 떠요
이게머지??
이 글을 참고하여 적었습니다.
1. 리눅스 특 : 다중사용자 허용

직접그림ㅋ 위 사진과 같이 하나의 서버에 다중 사용자를 허용합니다. 이걸 가능케하는게 가상 터미널때문입니다.
가상터미널을 가능케하는 요소가 tty pts입니다.
2. TTY란?
TeleTYpewriter의 약자로, 물리적인 콘솔(키보드 + 화면)을 의미하던 개념입니다.
터미널은 개념적 추상적으로 생각해보면 입력하고, 출력하는 문자기반의 입출력 인터페이스입니다.
tty 는 0부터 6까지 총 7개가 존재합니다. 물리적으로 TTY라는 디바이스 드라이버를 통해 콘솔 또는 터미널에 접근합니다.
실제 장치 파일 경로라고 보시면돼요. 터미널 경로로써 /dev/tty*가 되는 구조입니다.
⁉️여기서 드는 궁금증, 그럼 /dev/tty경로 는 어떻게 터미널이 될 수 있는가?
- 커널이 제공하는 현재 프로세스의 controlling terminal에대한 별칭이긱 때문입니다.
/dev/tty1 /dev/tty0같은 구체적인 장치!가 아니라, 커널에 접속할 수 있는 터미널이라고 보시면 될것같아요
문자디바이스처럼 동작하고, tty드라이버로 연결되며 stdin stdout stderr와 연결 될 수 있으므로
커널이. 현재 프로세스의 controlling terminal로 연결해주는 추상화된 장치파일이다!
2. PTS란?
Pseudo Terminal Slave의 약자입니다. 가짜 터미널입니다.
ssh 터미널 에뮬레이터인 Xterm, gnome-terminal등은 물리적인 콘솔이 아닙니다.
그러나 쉘이나 프로그램 모두 tty처럼 역할을 해야하기때문에 tty를 기대합니다. 그래서 커널이 만든 것이 PTY입니다.
항상 쌍으로 Master와 Slave 로 다닙니다.
Master가 실제 터미널 프로그램이 사용하는 쪽이고 ssh. gnome-terminal같은것이고
Slave가 tty처럼 보이는 장치. 즉 리눅스 서버의 /dev/pts/*가됩니다.
그래서 tty처럼 동작하는 앱들이 쓰는게 pts라고 쓰입니다.
⁉️왜 tty랑 pts를 나누지? 바로 tty로 연결해주면 안되나?
- 물리 tty는 키보드와 VGA/framebuffer 콘솔 드라이버에 직접 의존합니다.
하드웨어 - tty드라이버 - 프로세스로 네트워크나, GUI, 원격접속, 여러 터미널 동시 사용이 전혀안돼요
만약 분리하지 않았다면 서브프로그램이 하드웨어에 종속되어야하기때문에 터미널 기능 확장같은 것도 전혀 안된다는것 + 보안문제로 원격사용자가 물리 콘솔을 직접 제어하게되어 생깁니다.
암튼! 한줄 정리하자면, TTY는 하드웨어와 프로세스가 제어하게하는 드라이버로 터미널이라고 말할 수 있는것이고
PTS는 서브 프로그램이 tty를 쓸 수 있게 만드는 인터페이스??라고 볼 수 있겠습니다.
728x90'FISA' 카테고리의 다른 글
[STUDY07] docker 빌드 최적화 - layer에 집중하여 (0) 2026.01.05 [STUDY06] 패턴실습 (0) 2026.01.05 [회고]1주차_우리FISA 클라우드 엔지니어링 (4) 2026.01.02 [STUDY04] docker layer에 관하여 (0) 2026.01.02 [STUDY03] 코드를 뜯어보자자잣 (1) 2026.01.02