상세 컨텐츠

본문 제목

Bootloader와 loader의 차이점

카테고리 없음

by chogi0930 2023. 8. 2. 18:27

본문

목차

  • Bootloader 란?
  • loader 란?

Bootloader 란?

 Bootloader는 컴퓨터나 모바일 기기 등이 부팅될 때 실행되는 프로그램으로, 부팅 시 기기의 하드웨어의 입력과 출력을 초기화하고 운영체제 또는 다른 소프트웨어를 메모리로 로드하여 실행시키는 역할을 합니다. 일반적으로 Bootloader는 기기의 플래시 메모리, 하드 디스크, CD-ROM 등과 같은 기기의 영구 저장소에 위치하며, 기기의 기본적인 하드웨어 초기화와 운영체제의 메모리 로딩을 담당합니다. 또, 기기가 켜질 때 자동으로 실행됩니다.

  • 컴퓨터나 모바일 기기의 부팅 시 초기화를 담당한다.
  • 자신의 환경을 설정하고 초기화한다.
  • 운영체제를 메모리로 로드하여 실행시킨다.
  • 부팅 옵션과 다른 부트로더 선택 기능을 제공할 수 있다.
  • 부팅 과정에서 발생하는 오류를 처리한다.

loader 란?

loader는 주로 Bootloader와 운영체제(또는 커널) 사이에서 위치하며, 실행 파일을 보조 기억 장치(하드 디스크, 플래시 메모리 등)에서 메모리(RAM)로 로드하는 역할을 합니다.

부팅 단계에서는 운영체제가 아직 로드되기 전이므로, 보통 플래시 메모리에 위치한 Bootloader가 실행됩니다. 부트로더는 하드웨어 초기화와 기본적인 시스템 설정을 수행하고, 운영체제가 저장된 디스크 또는 플래시 메모리로부터 운영체제 이미지를 읽어와 메모리에 로드합니다. 이후에는 운영체제가 메모리에 올라와서 로더의 역할을 수행합니다.

loader는 운영체제가 실행되는 동안에도 필요에 따라 사용될 수 있습니다. 예를 들어, 운영체제가 실행 중에 새로운 응용 프로그램을 실행해야 할 경우 해당 프로그램을 디스크로부터 읽어와 메모리에 로드하는 작업을 loader가 담당합니다. 이후에는 loader가 해당 프로그램의 제어를 운영체제에 넘겨주어 프로그램이 실행되도록 합니다.

  • 주기억 장치에 할당(Allocation) : 목적 프로그램이 주기억 장소 내의 공간 확보
  • 연결(Linking) : 필요할 경우 여러 목적 프로그램들 또는 라이브러리 루틴과의 링크 작업
  • 재배치(Relocation) : 목적 프로그램을 실제 주기억 장소에 맞추어 재배치
  • 적재(Loading) : 실제 프로그램과 데이터를 주기억 장소에 적재


요약하면, Bootloader는 주로 플래시 메모리에 위치하고, 시스템의 전원이 켜질 때 자동으로 실행되어 운영체제를 메모리로 로드합니다. 이후에는 loader는 운영체제와 응용 프로그램 사이에서 새로운 프로그램을 메모리로 로드하여 실행하는 역할을 수행합니다. 로더는 부트로더를 포함하여 다양한 장치의 ROM에 위치할 수 있으며, 운영체제가 실행되면 메모리에 상주하면서 계속 사용됩니다.