[운영체제] 부팅시스템

Yeongsan Son·2021년 7월 6일
0
post-custom-banner

부팅시스템

부팅이란 컴퓨터를 켜서 동작시키는 절차를 말한다.

부트 프로그램은 운영체제 커널을 Storage에서 특정 주소의 물리 메모리를 복사하고,

커널의 처음 실행 위치로 PC 가져다 놓는다.

  • 컴퓨터 실행 시
    • 폰노이만 구조에 의하면 메모리에 저장된 데이터가 CPU에서 실행된다.
    • 하지만 메모리 저장된 데이터가 없다.
    • 어떤 프로그램을 사용해 저장매체에 접근해 운영체제 커널을 메모리로 가져오는가
    • 응용 프로그램 실행 코드는 메모리에 어떻게 옮겨 지는가

부팅 과정

ROM-BIOS는 특별한 칩으로 컴퓨터가 종료되어도 이전 데이터가 보존되어 있다.

  • BIOS 칩은 속도가 느리다

컴퓨터가 부팅되면, CPU는 ROM에 있는 특정 주소를 조회한다.(Mapping:FFFF0h)

이 주소를 통해서 BIOS 해당 프로그램이 있는 주소로 점프한다.

이 부분에서 BIOS 프로그램의 일부가 실행된다.

이 프로그램은 BIOS 프로그램을 메모리에 옮기는 역할을 한다.

  • 컴퓨터 하드웨어 초기화
  • MBR(Master Boot Record)을 거쳐 부트 로더 로드
    • 파티션 테이블: ex) C드라이브, D드라이브
      • 메인 파티션 분석
  • 부트 섹터를 거쳐 부트 코드 로드
    • 해당 파일의 실행 파일의 주소를 통해 커널 이미지를 메모리에 읽어냄
    • 프로그램 카운터(PC)를 조작

출처

profile
매몰되지 않는 개발자가 되자
post-custom-banner

0개의 댓글