Skip to content

Latest commit

 

History

History
55 lines (45 loc) · 3.49 KB

systemboot.md

File metadata and controls

55 lines (45 loc) · 3.49 KB

System Boot

먼저 알아야 할것

  • 없움

Booting이란?

  • PC 전원이 들어 온 후 운영체제가 실행되기 전까지의 과정
  • 프로세서 초기화, 메모리와 외부 디바이스 검사 및 초기화, 부트 로더 호출하고 OS 시작 등의 작업을 한다.
  • 모든 것을 초기화 하고 OS를 로딩하는 과정
  • 커널을 적대하여 컴퓨터에 시동을 거는 절차

Booting 절차

  • 컴퓨터 시스템 : 부트스트랩 프로그램 또느느 부트스트랩 로더로 알려져 있는 작은 크기의 코드가 커널을 찾는고, 그것을 주 메모리에 적재하고 수행한다
  • PC와 같은 일부 컴퓨터 시스템 : 단순한 부트 스트랩 로더가 더욱 복잡한 부트 프로그램을 디스크로부터 적재하고, 이 부트프로그램이 다시 커널을 적재하는 두 단계 절차를 사용

저장 위치

  • 최초의 부트스트랩(bootstrap) 프로그램은 ROM(read-only memory)에 위치
  • RAM은 시스템 시작 시 알 수 없는 상태가 되기 때문에 RAM에 존재 할 수 없음
  • 컴퓨터가 전원을 켜거나 재부팅 등의 리셋 사건을 받으면 명령 레지스터는 미리 지정된 메모리의 위치(ROM)를 가리키고 그 곳에서부터 시작

Bootstrap의 역할

  • 기계의 상태를 진단
  • 진단 작업을 통과하면 부팅 절차를 진행
  • CPU, 레지스터, 장치제어기, 주 메모리의 내용 등 시스템 전반에 걸쳐 초기화 된다.
  • 그 후 부스트랩은 운영체제 시작

EPROM (Erasable programmable read-only memory)

  • 시스템들은 운영체제 전체를 ROM에 저장
  • 운영체제를 ROM에 저장하는 것은 운영체제의 크기가 작거나 간단한 하드웨어를 지원하거나 험한 환경에서 실행 되는 시스템에 적합
    • 부트스트랩 코드가 변경되면 ROM 하드웨어 칩을 교체해야 하기 떄문에
  • EPROM을 사용하여 문제 해결
  • EPROM은 쓰기가 가능하도록 만드는 명령어가 주어지기 전에는 읽기 전용 상태 유지
  • 하드웨어와 소프트웨어의 중간적 특성을 가짐
  • Firmware라고 부르기도 한다
  • 문제점
    1. RAM에서 실행시킬 때보다 속도가 느림
      • 몇몇 시스템은 운영체제를 firmware에 저장하고 실행할 떄는 RAM에 복사하여 실행
    2. 가격이 비싸서 용량이 크지 않다

부트블록

  • 부트스트랩 로더 -> firmware에 존재, 운영체제 -> 디스크에 존재
  • 부트스트랩은 진단 절차를 수행하고 고정된 위치(ex. 블록 0)의 디스크 블록 하나를 읽어 메모리에 적재하고 그 위치로부터 실행 시킬수 있는 코드를 가진다
  • 블록 == 부트블록
  • 부트 블록에 저장된 프로그램은 운영체제 전부를 메모리에 적재하고 실행을 시작할 수 있을 만큼 복잡할 수 있다.
  • 일반적으로는 한 블록에 저장 되어야 하기 떄문에 나머지 부트 프로그램의 디스크 상 주소와 길이만 아록있는 간단한 코드이다.

GRUB

  • Linux 시스템을 위한오픈 소스 부트스트랩 프로그램의 한 예
  • 디스크 상의 부트스트랩과 운영체제는 새 버전을 디스크에 기록함으로써 쉽게 변경할 수 있다.

부트 디스크, 시스템 디스크

  • 부트 파티션을 가지고 있는 디스크

시스템 실행중

  • 모든 부트 프로그램이 적재 되면 파일 시스템을 탐색하여 운영체제 커널을 찾아내고 메모리로 적재한 후 실행을 시작한다