소프트웨어 흐름 제어: 터미널에서 TX가 차단되는 이유는 무엇입니까?

소프트웨어 흐름 제어: 터미널에서 TX가 차단되는 이유는 무엇입니까?

^S키를 누른 후 터미널에서 데이터를 보낼 수 없는 이유는 무엇입니까? 나는 항상 ^S터미널이 이를 사용하여 tty 드라이버가 애플리케이션에서 터미널로 데이터를 전송해서는 안 된다는 것을 tty 드라이버에 알리는 데 사용한다고 생각했습니다(예: 디스플레이 처리 중일 때). 그러나 ^S이는 터미널에서 애플리케이션으로 출력을 파이프하면 안 된다는 것을 tty 드라이버에 알려주는 것으로 밝혀졌습니다 . 이것은 놀라운 일입니다. 이것이 왜 필요한가요?

이는 다음 테스트를 통해 발견되었습니다.

xterm또는 을 열고 gnome-terminal을 입력 date한 다음 ^S( ^MEnter라고도 함), 기다린 다음 을 입력합니다 ^Q. 결과적으로 최근 날짜 대신 현재 날짜가 표시됩니다.

답변1

전송하려는 데이터를 다시 에코할 수 없기 때문에 애플리케이션이 차단되는 효과를 볼 수 있습니다.

관련 정보