리눅스 커널 2.2.5는 무엇보다도 인텔 대칭형 다중 프로세서(SMP) 기능이 대폭 향상됐다는 점이 눈에 띈다. 인텔 SMP 지원은 이미 커널 2.0부터 시작됐다. 예전의 개발 버전 1.3에서 커널 버전 1.4가 아니라 2.0으로 메이저 점프를 할 수 있었던 이유가 바로 SMP 지원일 만큼 중요한 기능이다.
커널 2.0도 인텔 SMP 기능을 지원했지만 그 수준은 「작동은 잘 된다」고 말할 수 있을 정도에 불과했다. 다중 프로세서가 있는 경우 각 프로세서가 공유 자원을 사용하기 위해 서로 협력할 수 있도록 잠금(Lock) 기법을 잘 사용해야 하는데 만일 서로 충돌하는 경우에는 돌이킬 수 없는 시스템 다운이 일어날 수밖에 없다. 커널 2.0에서는 매우 간단한 싱글 로크(Single Lock) 기법을 사용했는데 그 로크를 지닌 프로세서 하나만 자원을 마음대로 사용할 수 있으며 자원을 다 사용하고 나면 로크를 풀어줘야 했다. 커널 2.1에서는 프로세서가 시스템 자원을 더욱 효율적으로 사용할 수 있도록 다중 로크(Multiple Lock) 기법을 사용하도록 개선했다.
반면 커널 2.2.5 버전은 커널의 나머지 장치 드라이버들이 모두 「SMP 상황에서 안전하도록(SMP-safe)」 개발됐다. 이로써 리눅스는 대형기업 레벨에서 요구하는 SMP 기능을 충족해 하이엔드 서버로서 위상을 시험받게 될 것이다.
비인텔 프로세서 지원도 대폭 향상됐다. 리눅스진영은 커널 1.3 버전에서부터 컴팩/디지털 알파 프로세서용 리눅스를 개발하는데 주력해왔다. 리눅스의 개발 역사에 있어 알파/리눅스 개발은 중요한 의미를 지닌다. 리눅스가 64 비트 알파 프로세서에서 작동하는 64 비트 운용체계가 된다는 것은 인텔 프로세서에서나 돌아가는 「조그마한 운용체계」라는 인식을 탈피할 수 있게 됐다는 뜻이다.
역시 초기 개발 상태였던 커널 1.3 버전에서의 알파/리눅스에 대한 평가는 「Simply It Works」 정도였다. 커널 2.0에서 많은 변화를 보여주었지만 크게 개선된 것은 없는 듯했다. 인텔/리눅스보다 뛰어난 성능을 발휘하고 있으나 알파 프로세서 본연의 모든 성능을 빠짐없이 동원하고 있는가는 의심스런 일이 아닐 수 없다. 커널 2.2.5는 이전 버전과 비교해 뛰어난 성능과 안정성을 보여준다. 기존의 알파/리눅스 사용자들은 즉시 커널 2.2.5로 업그레이드하는 것이 좋다.
리눅스 네트워킹 코드도 상당히 개선됐다. 리눅스는 원래부터 네트워킹 운용체계의 성격을 가지고 있기 때문에 수많은 네트워킹 프로토콜을 지원해 왔으며 그외 편리한 기능을 다수 포함했다. 리눅스는 기본적으로 TCP/IP를 사용한다. 커널 2.0에는 이미 IP 패킷 필터링/IP NAT 기능과 같이 기업 네트워크 보안을 위한 필수 기능을 자체적으로 갖추고 있다. 커널 2.1 개발기간중 충분히 훌륭하다고 평가돼온 이 기능들이 더욱 강화됐다. 다양한 필터링 알고리듬이 추가됐으며 IP 매스커레이드(Masquerade)라 부르는 NAT 기능은 좀 더 다양한 튜닝이 가능하도록 확장됐다.
이외에도 많은 사람들은 커널 2.2.5의 부팅 속도가 커널 2.0보다 눈에 띄게 빠르다고 한 목소리로 말한다. 실제로 그러하다. 커널 2.0의 부팅 속도도 마음에 들 정도였는데 기대하지 않은 속도 개선은 사람들을 놀라게 하기에 충분하다.
메모리 사용 효율도 훨씬 나아졌다. 일례로 예전과 달리 커널은 부팅중 커널에서 쓰지 않아도 되는 메모리를 반환해준다. 이를 통해 더 많은 메모리를 애플리케이션에서 사용할 수 있도록 해준다.
그 밖에도 고질적인 문제였던 NFS 코드를 대폭 수정했고 모빌 컴퓨팅에 알맞은 Coda와 같은 신개념의 파일 시스템도 도입했다.
결론적으로 커널 2.2.5는 모든 사람들이 기대하는 방향으로 흘러갔다. 이는 너무도 당연하다. 리눅스 커널은 개방적으로 개발되기 때문에 많은 사람들이 절실하게 요구하는 것을 반영하는 매우 실용적인 소프트웨어다. 많은 사람들은 리눅스 커널이 고급 기종의 서버에서 더 높은 성능을 내길 바랐으며 커널 2.2.5는 그 요구에 알맞게 대답해 주었다.
<한국리눅스비지니스 이만영 사장>