삽질의 현장/- 리눅스

[Surro] :: 2. 리눅스 시스템 전체 부팅과정

shovelman 2013. 10. 31. 11:16

1. 전원 스위치 ON

 

- 시스템 전원 공급

- 메인 보드의 ROM-BIOS에 있는 BIOS 프로그램 자동 실행.

+BIOS : 전원 공급 시 맨 처음 컴퓨터의 제어를 맡기는 프로그램.

(하드웨어와 소프트웨어 사이의 연결과 번역 기능을 담당하는 인터페이스)

 

1-1 BIOS 프로그램들의 실행 내용

- 자체진단기능(POST) : CMOS검사, CPU, Memory, 그래픽 카드, 키보드, 마우스등 각종 장치들의 이상 유무를 검사하고 장치들(하드웨어)을 초기화 시킴.

- POST과정이 완료될시 검색된 부팅(하드디스크, CD-ROM, 플로피디스크 등)에서 부트로더(GRUB, LILO 등)를 불러들임. ex) 하드디스크가 부팅 매체로 선택되었다면 하드디스크의 부팅 파티션에 있는 0번 섹터(MBR)에 있는 부트로더(GRUB, LILO 등)를 읽어들이게 됨.

- 부트로더가 메모리에 적재되면 BIOS는 종료되고 시스템 제어권은 부트로더가 갖게 됨.

 

+Bootloader : OS의 커널을 로드하고 몇몇 커널 파라메터를 커널에 넘겨주는 일을 함.

+LILO(LInux LOader) : 모든 리눅스 패포판의 표준 부트로더.

> 특정한 파일 시스템에 의지하지 않으며, 리눅스 커널로 부터 운영체제를 시동할 수 있다.

+GRUB(GRand Unified Boot loader) : 부트로더의 한 종류. 

> 대부분 운영 체제의 커널을 불러올 수 있고, 인자를 넘겨줄 수 있다.

 

2. 부트로더(GRUB)의 실행

 

- GRUB는 실행과 함께 /boot/grub/grub.conf 파일을 읽어서 어떤 부팅 메뉴(커널)로 부팅을 할 것인가를 결정함.

- GRUB는 커널 이미지를 불러들인다.(메모리로 로딩) 그리고 시스템 제어권을 커널에게 넘겨줌.

 

3. 커널의 로딩

 

- 커널은 Swapper 프로세스 (PID 0번)을 호출.

- Swapper는 커널이 사용할 각 장치 드라이버들을 초기화하고 init 프로세스(PID 1번)를 실행하게 됨.

- init 프로세스가 실행되면서 /etc/inittab (init의 설정 파일) 파일을 읽어들여서 그 내용들을 차례대로 실행함. 

 

4.  init 프로세스의 실행

 

 

5. 계정 프로세스 실행

 

<참조 : 구글링>

'삽질의 현장 > - 리눅스' 카테고리의 다른 글

[Surro] :: 3. 리눅스 파일 시스템  (0) 2013.11.01
[Surro] :: 1. 리눅스 커널의 이해  (0) 2013.10.29