2장. Linux 부팅과정의 간략한 review

리눅스는 컴퓨터에 전원이 들어오면, 적당한 부트로드로부터 커널 이미지를 메모리로 로드한다. 그리고, BIOS 로 하여금 setup() 함수를 수행하도록 한다. setup() 함수가 적재되는 구체적인 메모리 주소는 0x00090200 이다. 물론, physical address 이다. 이 함수는 자기에게 할당된 몇가지 초기화 작업들을 하고는, startup_32() 어셈블리 함수를 호출한다. startup_32() 함수는 마지막으로 start_kernel() 함수를 호출하며, start_kernel() 함수는 몇가지 커널 스레드를 생성하고, 마지막으로 /sbin/init 을 실행시킴으로써 시스템은 완전히 up 된다.

우리가 알기를 원하는 interrupt descriptor table, IDT 의 초기화는 startup_32() 함수와 start_kernel() 함수에서 두단계에 걸쳐서 일어난다.