본문 바로가기
Linux

리눅스 커널 부팅 시퀀스 정리

by SuldenLion 2024. 4. 21.
반응형

 

리눅스 커널 부팅 순서에 대해 정리해 보겠다.

 

순서는 크게 아래와 같이 이뤄진다.

① 하드웨어 단계

② 부트로더 단계

③ 커널 단계

④ INIT 단계

 

 

1. 하드웨어 단계

먼저, 부팅하고자 하는 디바이스에 전원을 공급한다. (시스템의 전원이 켜지면 부팅 프로세스 시작됨)

 

CPU는 ROM에 저장된 BIOS를 실행함. (시스템 시작시 BIOS 또는 UEFI가 메인 메모리로 로드 및 실행됨)

 

BIOS와 UEFI는 디바이스의 하드웨어와 OS 사이의 펌웨어 인터페이스.

BIOS는 기존 시스템이자 MBR 파일 형식이고, UEFI는 최신 시스템이자 GPT 파티션 형식이라함.

 

BIOS/UEFI는 기본 입력 및 출력 시스템, 하드웨어 초기화부트로더에 필요한 정보를 제공함.

 

BIOS는 자체진단기능(POST 기능: Power On Self Test)이 있으며, 해당 기능은 CPU Test, 기본 컨트롤러들/메모리/캐시 등의 초기화 작업을 함.

 

 

2. 부트로더 단계

부트로더란 운영체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 작동되기 위해 필요한 모든 관련 작업을 함. (최종적으로 운영체제를 시동시키기 위한 목적을 가짐)

 

BIOS/UEFI는 부트로더(ex. GRUB, LILO)를 디스크에서 읽어와 메모리로 로드함.

(부트로더는 보통 하드 디스크의 마스터 부트 레코드(MBR)에 위치하고, UEFI 시스템에서는 EFI 시스템 파티션에 위치할 수 있음)

 

부트로더가 메모리에 올라오면, 펌웨어는 제어를 부트로더로 넘김.

 

부트로더는 사용자가 선택한 운영체제를 로드하고 실행함. 이를 위해 부트로더는 부트 디스크에서 운영 체제 이미지를 찾고 메모리로 로드 및 실행함.

 

선택된 운영체제 이미지가 메모리에 로드되면, 해당 이미지에 포함된 커널이 초기화되고 실행됨.

 

커널은 시스템의 하드웨어를 초기화하고 운영체제의 핵심 기능을 제공함.

 

 

3. 커널 단계

커널은 시스템에 존재하는 자원을 효율적으로 관리하는 자원 관리자이며(커널은 시스템 리소스를 초기화 및 제어함), 프로세서와 메모리에 상주하면서 디바이스나 메모리등의 하드웨어 자원을 관리하고 프로세스의 스케줄을 관리하여 다중 프로세스를 구현함. (운영체제의 핵심 역할 수행)

 

커널 수행 작업 

- 메모리 초기화

- 장치 드라이버 초기화(CPU, 그래픽 카드, 디스크 컨트롤러, 네트워크 카드 등)

- 파일 시스템 초기화 : 루트 파일 시스템 및 다른 필수 파일 시스템들을 마운트하고 초기화

- 프로세스 및 스케줄링 초기화

- 시스템 타이머 및 인터럽트 초기화

 

커널은 루트 파일 시스템을 찾아 마운트함. 보통은 부트로더의 설정에 따라 하드 디스크 또는 네트워크를 통해 루트 파일 시스템이 마운트됨.

(루트 파일 시스템 '/'을 읽기 전용으로 마운트. 만약 마운트 실패시 '커널 패닉' 메시지 출력)

 

 

4. INIT 단계

INIT 프로세스는 부팅 중에 실행되어야 하는 서비스와 데몬과 같은 부팅 서비스를 시작함. 이러한 서비스는 시스템이 부팅될 때 자동으로 실행되어야 하는 백그라운드 프로세스이며, 네트워크 서비스/로그인 서비스/시스템 감시 등이 이에 포함됨.

 

INIT은 사용자 레벨을 결정하고 해당 레벨에 필요한 서비스 및 데몬을 시작함. 사용자 레벨은 시스템의 운영 모드를 나타내며, 보통 아래와 같이 정의됨.

  •  Single User Mode(단일 사용자 모드) : 시스템이 최소한의 서비스와 데몬만 실행되고, 특정 사용자만 접근할 수 있는 모드
  • Multi User Mode(다중 사용자 모드) : 다수의 사용자가 시스템에 접근할 수 있는 모드. 네트워크 및 다양한 서비스가 실행됨
  • Graphical User Interface Mode(그래픽 사용자 인터페이스 모드) : 그래픽 환경이 활성화되어 사용자가 GUI를 통해 시스템을 사용할 수 있는 모드

 

INIT으로 사용자 레벨이 결정되면 해당 레벨에 필요한 사용자 공간 서비스를 시작함. 

반응형

댓글