이 개념은 터미널 드라이버(대부분의 사이트에서 다루는 내용)에만 적용됩니까, 아니면 일반적인 드라이버에만 적용됩니까?
답변1
자귀날것의그리고요리터미널 드라이버에만 적용됩니다. "익은"이라고 불린다모델"원본"이라고합니다비표준적인모델.
기본적으로 터미널 드라이버는 라인 기반 시스템입니다. 문자는 프로그램에 전달되기 전에 캐리지 리턴( Enter또는 )이 발생할 때까지 내부적으로 버퍼링됩니다. 이를 "쿠킹"이라고 합니다. Return이를 통해 특정 문자(예: , , , 참조)를 stty(1)
처리 CtrlD할 CtrlS수 CtrlU있습니다 Backspace. 터미널 드라이버는 문자를 제공하기 전에 문자를 "요리"합니다.
터미널은 문자가 터미널 드라이버에 의해 처리되지 않고 직접 전송되는 "원시" 모드로 전환될 수 있습니다(INTR 및 QUIT 문자는 여전히 처리되도록 설정할 수 있음). 이렇게 하면 emacs
Windows 및 Mac과 같은 프로그램에서 전체 화면을 vi
보다 쉽게 사용할 수 있습니다.
맨페이지의 "정식 모드" 섹션에서 이에 대한 자세한 내용을 읽을 수 있습니다 termios(3)
.
답변2
이러한 용어는 터미널 및 디스크 I/O를 설명하는 데 사용되지만 각 경우에 다른 의미를 갖습니다.
터미널 장치의 원시 모드 및 요리 모드 처리(한 번에 문자 대 한 번에 한 줄, 기타 차이점 있음).
"원시" 디스크 장치( /dev/rdsk/*
)는 블록 장치 /dev/dsk/
가 아닌 . IIRC의 주요 차이점은 블록 장치에 커널 버퍼링이 있고 I/O 모드(예: 직접/매핑 I/O)에 대한 세밀한 제어를 원시 장치에 지정할 수 있다는 것입니다.
원시 및 요리된 tty 모드에 대한 설명을 찾을 수 있습니다.여기. 원시 디스크 장치와 쿠킹된 디스크 장치에 대한 게시물을 찾을 수 있습니다.여기.