기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하십니까?
여러분...^^
1. IT(컴퓨터) 용어 사전에서 console의 정의는 일반적으로 다음과 같았습니다.
#.정의1: 개인용 컴퓨터(PC)에서 표준 입출력 장치를 일컫는 용어. 키보드와 모니터가 콘솔에 속한다.
#.정의2: 콘솔이란 대개 디스플레이 모니터와 키보드(또는 입력이 가능한 다른 장치)가 조합된 장치를 말한다. 콘솔을 다른 말로는 터미널이라고 부른다. 콘솔이라는 용어는 마이크로컴퓨터나 메인프레임에 부착되어 있어, 시스템의 상황을 모니터하는데 사용되는 터미널을 의미한다.
2. linux kernel source의 ‘/kernel/printk.c’에 “void register_console(struct console *newcon)”라는
함수의 본체가 나옵니다.
위의 1,2번을 결부하여 생각하니 이해할 것 같으면서도 잘 이해가 안 되는 부분이 있습니다.
<문의1> console의 원래의 정의인 ‘표준 입출력 장치’중에서 register_console()라는 함수는
입력장치를 위한 driver(=ex: 키보드)에서는 사용되지 않는 것 같습니다. 맞는지요 ?
driver source에는 필수적으로(?) 사용이 되는 것 같습니다. 맞는지요 ?
target board --> [UART/serial] --> 원격 PC 모니터 serial S/W에 나타나는 printk의 message
target board --> [network/telnet]--> 원격 PC 모니터의 telnet S/W에 나타나는 printk의 message
target board --> Local(=board에 장착) LCD 모니터의 text글씨에 나타나는 printk의 message
엥.....어제 답글 달아 놨었는데..........ㅠ.ㅠ
무슨 문제가 생긴 듯 하네요.
리눅스 에서의 console은 정확하게는
1. kernel message를 볼 수 있는 장치 입니다.
즉, printk가 나오는 곳이라고 보시면 되고요
2. Terminal은 printf가 나오는 곳이라고 보시면 됩니다.
간단하게 구분하자면 printf는 원격으로 접속해서 메시지가 나오지만, printk는 원격으로 접속해서 볼 방법이 없습니다.