오늘의 학습 노트
1. 부팅 구조 이해
- 컴퓨터는 전원이 켜지면 BIOS부터 실행된다
- BIOS는 디스크의 첫 512바이트를 읽어 0x7C00에 적재 후 실행
- 이 코드는 커널이 아니라 부트로더(1단계)
구조:
BIOS → 부트로더(0x7C00) → 커널 로드 → 커널 실행
2. 메모리 초기 영역
0x0000 ~ 0x7C00은 BIOS가 사용하는 영역
- IVT (인터럽트 테이블)
- BIOS 데이터 영역
👉 그래서 부트코드는 항상 0x7C00부터 시작
3. GRUB의 역할
- GRUB은 부트로더를 대신해주는 프로그램
- 하는 일:
- 커널을 디스크에서 읽기
- 메모리에 적재
- 보호모드 진입
- 커널로 점프
👉 그래서 우리는 복잡한 초기화 없이 바로 커널 개발 가능
4. 실행 파일 포맷 (ELF vs PE)
- ELF, PE는 단순히 파일 구조 정의
- CPU가 아니라 로더(GRUB, OS)가 해석