ICRNL 및 OCRNL과 같은 옵션에서 "입력 시" 및 "출력 시"는 무엇을 의미합니까?

ICRNL 및 OCRNL과 같은 옵션에서 "입력 시" 및 "출력 시"는 무엇을 의미합니까?

문서에는 termios다음과 같이 나와 있습니다.

ICRNL

입력 시 캐리지 리턴을 줄 바꿈으로 변환합니다(IGNCR이 설정되지 않은 경우).

오클랜드 국립 연구소

출력에서 CR을 NL에 매핑합니다.

그런데 "입력 시"와 "출력 시"는 정확히 무엇을 의미합니까? 그렇게 생각해요:

  • "입력 시"는 터미널이 tty 장치에 무언가를 보내는 것을 의미합니다.
  • "출력 시"는 bash(또는 다른 프로세스가) tty 장치에 무언가를 보내는 경우를 의미합니다.

내가 맞나요?

답변1

컴퓨터의 직렬 포트(예: vt100)에 연결된 "멍청한 터미널"로 생각하고 컴퓨터의 관점에서 살펴봐야 합니다.

따라서 컴퓨터에 대한 "입력"은 예를 들어 키보드로 입력할 때 터미널이 컴퓨터에 데이터를 보내는 경우입니다.

마찬가지로 "출력"은 컴퓨터가 화면에 무언가를 인쇄할 때 터미널로 무언가를 보내는 것을 의미합니다.

보다 현대적인 설정(예: Linux 콘솔)에서도 "입력"은 키보드로 입력하고 "출력"은 화면에 표시되는 것과 동일한 개념을 갖습니다.

이는 "stdin" 및 "stdout"의 표준 규칙을 따릅니다.

답변2

그렇구나, 그냥테미오스왜냐하면 터미널(문자를 입력하는 장치와 결합하여 문자를 표시하는 장치)과 호스트 간의 통신만 포함되기 때문입니다.

저것"존재하다"어색해 보일 수도 있지만, "입력을 하는 중", "출력을 하는 중"을 줄여서 표현한 것일 뿐입니다.

관련 정보