운영체제 기본/Linux/x86-64/BIOS 부팅: 두 판 사이의 차이
잔글 x86-64 각론 경로 변경에 따른 본문·목차·틀 링크 갱신 |
직접 관련된 총론 링크와 선행 개념 안내 정리 |
||
| (같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
| 6번째 줄: | 6번째 줄: | ||
BIOS 환경의 GRUB 2.12가 Linux v6.12의 x86-64 커널을 적재하고, 커널이 첫 사용자 프로그램인 init을 실행하기까지의 과정을 따라간다. GRUB의 일반 <code>linux</code> 명령이 사용하는 32비트 부트 프로토콜을 기준으로 한다. | BIOS 환경의 GRUB 2.12가 Linux v6.12의 x86-64 커널을 적재하고, 커널이 첫 사용자 프로그램인 init을 실행하기까지의 과정을 따라간다. GRUB의 일반 <code>linux</code> 명령이 사용하는 32비트 부트 프로토콜을 기준으로 한다. | ||
== 관련 총론 == | |||
* [[운영체제 기본/보호|보호와 시스템 콜]]: CPU 권한 모드와 보호 설정. | |||
* [[운영체제 기본/가상 메모리|가상 메모리]]: 페이지 테이블과 초기 주소 공간. | |||
* [[운영체제 기본/프로세스와 스레드|프로세스와 스레드]]: 태스크의 실행 문맥과 스케줄링. | |||
* [[운영체제 기본/파일과 입출력|파일과 입출력]]: 루트 파일시스템과 init 실행 파일의 접근. | |||
== 문서 구성 == | == 문서 구성 == | ||
# [[운영체제 기본/Linux/x86-64/BIOS 부팅/ | # [[운영체제 기본/Linux/x86-64/BIOS 부팅/GRUB의 커널 적재와 제어권 전달|GRUB의 커널 적재와 제어권 전달]]: 커널·initramfs 적재, boot_params와 CPU 상태의 인계. | ||
# [[운영체제 기본/Linux/x86-64/BIOS 부팅/진입 규약과 압축 해제|진입 규약과 압축 해제]]: startup_32에서 64비트 모드로 전환하고 커널 본체를 배치하는 과정. | # [[운영체제 기본/Linux/x86-64/BIOS 부팅/진입 규약과 압축 해제|진입 규약과 압축 해제]]: startup_32에서 64비트 모드로 전환하고 커널 본체를 배치하는 과정. | ||
# [[운영체제 기본/Linux/x86-64/BIOS 부팅/GDT와 LDT 초기화|GDT와 LDT 초기화]]: 부트로더의 GDT에서 커널의 CPU별 GDT·TSS로 넘어가는 과정과 LDT의 초기 상태. | # [[운영체제 기본/Linux/x86-64/BIOS 부팅/GDT와 LDT 초기화|GDT와 LDT 초기화]]: 부트로더의 GDT에서 커널의 CPU별 GDT·TSS로 넘어가는 과정과 LDT의 초기 상태. | ||
| 15번째 줄: | 21번째 줄: | ||
# [[운영체제 기본/Linux/x86-64/BIOS 부팅/루트 파일시스템과 init 선택|루트 파일시스템과 init 선택]]: rootfs와 initramfs, init 후보의 선택, PID 1의 첫 사용자 프로그램 실행. | # [[운영체제 기본/Linux/x86-64/BIOS 부팅/루트 파일시스템과 init 선택|루트 파일시스템과 init 선택]]: rootfs와 initramfs, init 후보의 선택, PID 1의 첫 사용자 프로그램 실행. | ||
실행 파일의 형식 판별, 세그먼트 매핑, 초기 스택과 레지스터 준비의 공통 원리는 [[운영체제 기본/ | 실행 파일의 형식 판별, 세그먼트 매핑, 초기 스택과 레지스터 준비의 공통 원리는 [[운영체제 기본/Linux/ELF 로딩|Linux의 ELF 로딩]]에서 설명한다. | ||
{{이전 다음 문서 | {{이전 다음 문서 | ||