pty 장치에 두 개의 입력 버퍼가 있습니까?

pty 장치에 두 개의 입력 버퍼가 있습니까?

단말 장치가 쿠킹 모드일 때 단말에 입력된 바이트는 커널에 의해 캐시 및 처리되며, 일부 바이트는 라인 편집에 사용되고 "cosumed"되어 read한 번에 한 라인이 반환됩니다.

그러나 pty의 경우 마스터 fd의 출력은 슬레이브 fd의 입력으로 읽힐 수 있고 그 반대의 경우도 마찬가지입니다. 따라서 제 질문은 다음과 같습니다.

tty 장치당 하나의 버퍼가 있는 tty 장치와 달리 pty 장치에는 두 개의 별도 입력 버퍼가 있습니까?

답변1

pty는 일반 tty처럼 동작합니다. 일반 tty에는 입력(원시 모드 및 쿠킹 모드)과 출력 대기열이 있습니다.

pty를 사용하면 tty 출력 큐가 기본 입력에 연결되고 tty 원시 입력이 기본 출력에 연결됩니다. 그러니까 큐가 너무 많아서가 아니라 tty 출력 큐를 마스터 측의 입력으로 사용할 수 있다는 것입니다.

다음에 추가

pty는 일반적인 tty입니다. 일반 tty 부분은 라인 편집, 원시 및 쿠킹 모드 입력, 흐름 제어(예: Ctrl+S) 등을 처리합니다.

각 tty에는 실제 입력과 출력을 처리하는 백엔드가 있습니다. 이는 직렬 드라이버일 수 있습니다. 키보드와 VGA 또는 프레임 버퍼와 인터페이스하는 드라이버일 수 있습니다. PTY 마스터일 수도 있습니다. pty의 경우 마스터가 tty 출력을 읽을 수 있으며 마스터 쓰기는 원래 입력 큐에 배치됩니다.

관련 정보