다음 이전 차례

3. 콘솔 개요

지금까지와는 반대의 이야기로, 사용자가 콘솔로 뭔가를 보내면, 그것은 우선 표준 tty 처리를 거쳐서 콘솔 드라이버로 넘겨진다. 콘솔 드라이버는 VT100을 흉내내어 (커서 이동이나 스크린 정리와 같은) VT100 이스케이프 시퀀스를 인식할 수 있도록 분석(parse)한다. 이스케이프 시퀀스에 해당하지 않는 문자들은 콘솔이 UTF-8 모드가 아닌한, 네개의 맵 테이블중 하나를 사용하여 제일 먼저 유니코드로 변환된다. 그 후 유니코드 값과 폰트 위치간의 대응관계가 적혀있는 테이블에서 찾아 얻어진 8- 또는 9-비트 폰트 인덱스를 비디오 메모리에 쓰게 되는데, 이 과정이 비디오 카드의 문자 ROM에 있는 문자의 모양을 표시하게 한다. setfont를 사용하면 사용자 입맛에 맞는 폰트를 문자 ROM에 로드할 수 있다. 또한 loadunimap으로는 해당하는 유니코드 맵을 로드하고, mapscrn으로는 사용자 맵 테이블을 로드할 수 있다. 자세한 이야기는 뒤에 나온다.

리눅스에는 동일한 스크린을 사용하는 여러개의 콘솔을 제공한다. (보통 가상 콘솔 또는 가상 터미널이라고 부른다. 약어로 VC 또는 VT.) 사용자는 이것을 독립적인 로그인 세션, 시스템 로그 상황을 보는 top같은 프로그램이 보내는 여러가지 출력을 보내는 등 독립적인 디바이스로 사용할 수 있다. 이러한 가상 콘솔을 사용하는 방법과 가상 콘솔간 이동에 대해서는 아래 `콘솔간 이동'을 참조하라.


다음 이전 차례