나는 이것이 콘솔(Ctrl+Alt+F[1-9]의 "실제" TTY)과 관련이 있다는 것을 알고 있습니다.
ioctl_console
매뉴얼 페이지에는 많은 KD* 접두사 상수가 나열되어 있습니다. 매우 간단한 가상 vt.h
터미널이나 의사 터미널 도 있습니다 . KD가 도대체 뭐야?/usr/include/linux
VT
답변1
가능하다면 VT_
상수 의 상위 바이트는 /usr/include/linux/vt.h
대문자에 대한 ASCII 코드인 0x56으로 설정된다는 점에 유의하세요 V
.
시작 부분에 /usr/include/linux/kd.h
설명이 있습니다 .
/* 0x4B is 'K', to avoid collision with termios and vt */
KD_
-로 시작하는 2바이트 숫자 중 상위 바이트는 ioctl()
대문자의 ASCII 코드 값인 0x4b로 설정됩니다 K
.
따라서 이는 기본적으로 두문자어가 아니라 니모닉입니다. 16진수 덤프를 읽을 때 ioctl 값의 상위 바이트에 대한 문자 표현을 볼 수 있습니다(또는 진지한 C 프로그래머라면 이미 대부분의 ASCII를 알고 있을 것입니다). 어쨌든 명심하십시오) 이것은 K
키보드와 D
디스플레이를 모두 처리하는 "K 시리즈" ioctl입니다. 즉, KVM 스타일 시스템 콘솔이 있는 시스템에서 말입니다.
따라서 선택의 주된 이유는 K
ioctl 숫자의 상위 바이트에 해당하는 반면 두 번째 문자는 이해하기 위해 방금 선택되었을 수 있다는 것입니다. 이 경우 "키보드 및 디스플레이"가 작동합니다.
(일부 임베디드 시스템과 오래된 대형 Unix 서버에도 KVM 스타일 콘솔이 전혀 없고 콘솔 역할을 하는 직렬 포트만 있을 수 있습니다.)