다음 이전 차례

1. 커널

커널은 운영체제의 핵심입니다.

메모리에 상주하여 시스템 디바이스와 메모리, 프로세스를 관리하고, 입출력을 처리하는 등 유저의 다양한 요구에 바로 반응합니다. 지금은 다양한 프로그램들을 포함하는 운영체제를 가리키기도 하는 Linux라는 이름도 커널에 붙여진 것입니다.

리눅스의 다른 프로그램처럼 커널도 소스 형태으로 배포됩니다. 커널 소스는 모든 배포판에 들어있으며 ftp나 BBS유저그룹을 통해 다운받을 수 있습니다. 컴파일을 위한 환경은 잘 만들어진 몇 가지 스크립트를 이용하여 쉽게 설정할 수 있고 커널 해킹을 위한 문서 또한 쉽게 구할 수 있습니다. 다른 부분과 마찬가지로 리눅스의 열린 정신이 커널을 빠르고 강하게 만듭니다.

커널 컴파일은 항상 심각하게 다루어지는 주제이지만 왜 컴파일을 굳이 하느냐고 묻는 이들도 많습니다. 대개의 리눅서들이 두 세 가지 정도 이유를 말하는데, 일반적으로 커널 컴파일은 시스템 최적화의 한 수단으로 쓰입니다. 배포판에 포함되어 있는 기본 커널에는 혹시 쓰일지도 모르는 다양한 기능들이 들어 있어 실제로 여러분에게 필요한 커널보다 크기도 크고, 때로는 약간 성능이 떨어질 수도 있습니다. 그래서 많은 리눅서들이 시스템에 가장 적합한 작은 커널을 새로 만들어 리눅스 박스의 성능을 최대로 끌어올리는 것입니다. 또 한가지 이유는 새 커널을 생성해 빠르게 등장하는 진보된 기능을 사용하거나 새로운 장치를 지원하는 것입니다.

그리고 리눅서는 기쁨을 얻습니다. 그래서 어떤 커널 매니아들은 커널 컴파일 자체에 더 큰 흥미를 가진 듯 보이기도 합니다.

1.1 두 가지 커널 버전

리누스(LinuS TorvaLdS)와 많은 해커들의 노력으로 커널은 매우 빠르게 진보하고 있습니다. 그러나 기능 향상을 위해 빠르게 성장하는 동안 문제가 발생하기도 합니다. 대부분 일반 사용자들이 해결할 수 있는 범위를 넘어서는 것들이어서, 개발자들은 안정성과 발전을 위해 리눅스 커널을 두 가지 버전으로 부릅니다.

새로운 기능들이 실험되는 개발과정의 커널을 개발버전(DeveLopmentaLverSio N)이라 부르며, 새로운 것에 열광적인 리눅서와 테스터, 개발자를 위한 버전입니다. 개발버전은 많은 테스트와 패치과정을 거쳐 안정버전(StabLe verSion or productioN)으로 일반 사용자들에 배포됩니다. 배포판에 포함된 커널은 안정버전 커널입니다.

버전 번호

커널의 버전번호는 2.0.36또는 2.1.35와 같이세 부분으로 구성되어있습니다. 처음의 숫자는 커다란 변화가 있을 때 바뀌는 주 버전 번호입니다. 리눅스 커널의 2가 도스의 7보다 하찮게 느껴집니까? 버전 번호를 올리는 것은 개발자 마음이지만 버전번호가 모든 성능을 나타내는 것은 절대 아닙니다. 가운데 숫자는 짝수일 때 안정버전을 뜻하고 홀수일 때 개발버전임을 알려 줍니다. 마지막 숫자는 패치 레벨을 나타내는 서브 넘버입니다.

앨런 콕스의 커널버전

ac라는 꼬리를 붙여 리누스보다 먼저 커널을 내 놓는 이가 앨런 콕스입니다. 리누스가 새 커널 버전을 발표하기 전에 그보다 면저, 더 다양한 테스트해서 공개하므로, ac 커널이 더 새로운 기능들을 포함할 때가 많습니다.


다음 이전 차례