다음
이전
차례
kerneld를 사용하는데는 몇 가지 이유가 있다. 여기서 언급하는 것들은
나의 경우를 말한 것이다. 다른 사람들은 또 다른 이유를 가지고 있을
것이다.
- 만일 조금씩 다른 사양을 갖는 여러 가지 시스템에서 동작할 커널을
만들어야 한다면 - 예를 들면 다른 종류의 네트워크 카드 - 사용자는
매 시스템마다 다른 커널을 만들 필요없이 하나의 커널을 만들고 여러 가지
모듈을 만들 수 있다.
- 모듈은 개발자들이 좀 더 쉽게 테스트할 수 있다. 개발자는 특정 드라이버
를 로드하거나 언로드하기 위해 시스템을 리부트할 필요가 없다.(이것은
단순히 kerneld에서 로드된 것 뿐만 아니라 모든 모듈에 적용된다)
- kerneld는 커널의 메모리 사용량을 줄여준다. 즉 다른 어플리케이션을
돌리는데 좀 더 많은 메모리를 사용할 수 있다. 커널이 사용하는 메모리는
- 절대로* 스웝 아웃(Swap Out, 역자 주: 사용자에게 돌려준다는 의미)되지
않는다. 그러므로 만일 커널을 컴파일 할 때 사용하지 않는 드라이버에게
100kb의 메모리를 할당했다면 이것은 단지 RAM을 낭비한 셈이다.
- 내가 사용하는 어떤 것들은 - 예를 들면 ftape 플로피 테이프 드라이버나
iBCS - 오직 모듈의 형태로만 이용할 수 있다. 그러나 나는 매번 이 모듈
이 필요할 때마다 로딩하는 번거로움을 겪고 싶지 않다.
- 리눅스 배포본을 만드는 사람들은 284가지의 다른 부트 이미지를 만들고
싶어하지 않는다. 대신 사용자 자신이 가진 하드웨어에 필요한 드라이버를
로드하면 된다. 이러한 인스톨 방법은 레드햇 4.0에서 사용된다.
물론 사용자가 이러한 기능을 사용하고 싶은 않은 이유도 있을 것이다.
예를 들어 모든 드라이버가 포함된 하나의 커널 이미지가 필요할 지도 모른다.
이런 경우에는 이 문서를 읽는 것은 시간 낭비일 것이다.
다음
이전
차례