다음 이전 차례

2. 중요한 질문과 대답들

2.1 커널이 하는 일은 무엇입니까

유닉스 커널은 여러분의 프로그램들과 하드웨어 사이에서 조정자 역할을 한다. 첫째로, 실행되는 모든 프로그램들(프로세스들)을 위해 메모리 관리(배열)를 하 고, 프로세서 사이클을 공정히(여러분이 원한다면 그렇지 않게 할수도 있다) 나 누어 가지도록 해준다. 또한, 커널은 프로그램들이 여러분의 하드웨어와 대화하 기 위한 아주 훌륭한 이식성 좋은 인터페이스를 제공한다.

커널의 임무에 대한 더 많은 것들이 있지만, 이 기본적인 활동들은 알아두어야 할 가장 중요한 것이다.

2.2 왜 나는 커널을 업그레이드 하려고 합니까?

새로운 커널은 일반적으로 더 많은 종류의 하드웨어를 지원하고(이 말은 그들 더 많은 장치 드라이버들을 가지고 있다는 말이다.), 더 나은 프로세스 관리를 할 수 있으며, 구버전에 비해 더 빠르게 실행할 수 있다. 또한, 구버전보다 더 안정하고 그들이 가지고 있던 버그들이 수정된 것이다. 대부분의 사람들은 장 치 드라이버들과 버그 수정들 때문에 커널을 업그레이드한다.

2.3 새로운 커널들이 지원하는 하드웨어의 종류는 어떤게 있습니까?

Hardware-HOWTO를 보아라. 아니면, 리눅스 소스나 `make config'하는 중에 찾 을 수 있는 `config.in'이라는 파일을 볼 수 있다. 이것은 리눅스가 지원하는 모든 것이 아니라, 표준 커널 배포본에서 지원하는 모든 하드웨어를 보여준다. 많은 일반적인 장치 드라이버들(예를 들면 PCMCIA나 몇몇 테잎 드라이버 같은 것들)은 적재 가능한 모듈들로 따로 관리되고 제공된다.

2.4 어떤 버전의 gcc와 libc가 필요합니까?

Linus는 리눅스 소스에 포함된 README 파일에서 필요한 gcc의 버전을 이야기 하고 있다. 만일 여러분이 이 버전을 가지고 있지 않다면, 요구되는 gcc 버전 의 문서는 여러분에게 여러분이 libc를 업그레이드 해야만하는지를 알려줄 것 이다. 이것은 어려운 작업이 아니지만, 이후의 내용에서는 매우 중요하다.

2.5 적재 가능한 모듈이 무엇입니까?

이것은 커널에 직접적으로 연결되지 않은(포함되지 않은) 커널 코드의 부분들 이다. 그들을 나누어서 컴파일하고, 거의 아무때나 실행중인 커널에 집어넣거 나 제거할 수 있다. 모듈의 유연성 때문에, 이것은 특정 커널 부분의 코드화 하는 좋은 방법이다. PCMCIA나 QIC-80/40 테잎 드라이버와 같은 많은 인기있 는 장치 드라이버들은 적재 가능한 모듈들이다.

2.6 얼마나 많은 디스크 용량이 필요합니까?

그것은 여러분의 실제 시스템 구성에따라 달라진다. 우선은, 압축된 리눅스 소스는 버전 2.2.9의 경우에 거의 14메가바이트 정도 된다. 대부분의 장소에 는 풀어논 상태로 가지고 있다. 압축을 풀고, 일반적인 구성으로 커넬을 컴파일 할 경우 또다른 67MB 정도가 쓰인다.

2.7 얼마나 오래 걸립니까?

새 기종에서는 컴파일 시간은 오래된 기종보다 훨신 시간이 적게 들것이다; AMD K6-2/300에 빠른 하드디스크를 가진 것은 2.2.x 커넬을 4분 정도에 만들수 있다. 옛날 펜티움, 486, 386등은 시간이 걸릴것이다 -- 몇시간부터 몇 일까지도....

만약 이것이 문제이면, 근처에 빠른 기종이 있으면 빠른 기종에서 커넬을 만든 다음 (물론 바른 옵션을 지정하고 모든 유틸리티 프로그램이 최신것으로 갱신된 상태에서) 거기서 만들어진 kernel image를 느린 기종으로 옮기면 된다.


다음 이전 차례