PTY(Pseudo Terminal, 가상 터미널)는 물리적인 하드웨어 단말 장치 없이 소프트웨어적으로 터미널의 기능을 에뮬레이션하는 가상 장치 쌍을 의미합니다. 이는 마스터(Master)와 슬레이브(Slave)라는 두 개의 파일 인터페이스로 구성되며, 마스터 프로세스에서 보낸 데이터가 슬레이브 프로세스의 입력으로 전달되고 슬레이브의 출력이 다시 마스터로 전달되는 구조를 가집니다. 이를 통해 운영체제는 실제 물리적 단말기가 연결된 것처럼 프로세스와 통신하며 인터랙티브한 입출력을 처리할 수 있습니다.
실무 사용 예시 (Practical Use Case)
- 원격 접속 환경: SSH(Secure Shell)를 통해 서버에 접속할 때, 서버는 각 사용자 세션에 대해 PTY를 할당하여 사용자가 실시간으로 명령어를 입력하고 결과를 확인할 수 있는 셸 환경을 제공합니다.
- 터미널 에뮬레이터: xterm, iTerm2, VS Code 내장 터미널 등 현대적인 GUI 기반 터미널 소프트웨어들은 운영체제의 커널과 통신하기 위해 PTY를 내부적으로 활용합니다.
- AI 에이전트 자동화: AI 에이전트가 샌드박스 내부에서 코드를 직접 실행하거나 시스템 설정을 변경할 때, PTY를 통해 대화형 인터페이스를 모방하여 실시간 에러 대응 및 복합적인 명령 수행을 처리합니다.
관련 단어 (Related Words)
- TTY (Teletype): 컴퓨터 초기 시절 사용되던 물리적인 전신 타자기 또는 시스템의 터미널 장치를 총칭하는 용어입니다.
- SSH (Secure Shell): 네트워크상의 다른 컴퓨터에 로그인하거나 원격 명령을 실행하기 위한 보안 프로토콜로, 세션 연결 시 PTY를 할당합니다.
- Shell (셸): 사용자의 명령을 운영체제 커널에 전달하는 명령 줄 인터프리터로, 보통 PTY를 통해 사용자와 상호작용합니다.