운영체제 기본/x86-64 Linux의 BIOS 부팅: 두 판 사이의 차이
잔글 관리자님이 운영체제 기본/x86-64 Linux의 부팅 문서를 운영체제 기본/x86-64 Linux의 BIOS 부팅 문서로 이동했습니다: x86-64 전용 각론의 아키텍처와 장치·부팅 범위를 제목에 명시 |
PID 1 첫 사용자 실행을 부팅 범위에 포함하도록 목차 정리 |
||
| (같은 사용자의 중간 판 하나는 보이지 않습니다) | |||
| 4번째 줄: | 4번째 줄: | ||
== 읽는 순서 == | == 읽는 순서 == | ||
# [[운영체제 기본/x86-64 Linux의 부팅/GRUB에서 커널로|GRUB에서 커널로]]: 커널·initramfs 적재, boot_params와 CPU 상태의 인계. | # [[운영체제 기본/x86-64 Linux의 BIOS 부팅/GRUB에서 커널로|GRUB에서 커널로]]: 커널·initramfs 적재, boot_params와 CPU 상태의 인계. | ||
# [[운영체제 기본/x86-64 Linux의 부팅/진입 규약과 압축 해제|진입 규약과 압축 해제]]: startup_32에서 64비트 모드로 전환하고 커널 본체를 배치하는 과정. | # [[운영체제 기본/x86-64 Linux의 BIOS 부팅/진입 규약과 압축 해제|진입 규약과 압축 해제]]: startup_32에서 64비트 모드로 전환하고 커널 본체를 배치하는 과정. | ||
# [[운영체제 기본/x86-64 Linux의 부팅/GDT와 LDT 초기화|GDT와 LDT 초기화]]: 부트로더의 GDT에서 커널의 CPU별 GDT·TSS로 넘어가는 과정과 LDT의 초기 상태. | # [[운영체제 기본/x86-64 Linux의 BIOS 부팅/GDT와 LDT 초기화|GDT와 LDT 초기화]]: 부트로더의 GDT에서 커널의 CPU별 GDT·TSS로 넘어가는 과정과 LDT의 초기 상태. | ||
# [[운영체제 기본/x86-64 Linux의 부팅/커널 초기화|커널 초기화]]: 초기 주소 공간과 스택, 예외 처리에서 start_kernel의 공통 초기화까지. | # [[운영체제 기본/x86-64 Linux의 BIOS 부팅/커널 초기화|커널 초기화]]: 초기 주소 공간과 스택, 예외 처리에서 start_kernel의 공통 초기화까지. | ||
# [[운영체제 기본/x86-64 Linux의 부팅/PID 1 생성|PID 1 생성]]: 부트 태스크와 PID 1의 분리, 나머지 초기화와 동기화. | # [[운영체제 기본/x86-64 Linux의 BIOS 부팅/PID 1 생성|PID 1 생성]]: 부트 태스크와 PID 1의 분리, 나머지 초기화와 동기화. | ||
# [[운영체제 기본/x86-64 Linux의 부팅/루트 파일시스템과 init 선택|루트 파일시스템과 init 선택]]: rootfs와 initramfs, | # [[운영체제 기본/x86-64 Linux의 BIOS 부팅/루트 파일시스템과 init 선택|루트 파일시스템과 init 선택]]: rootfs와 initramfs, init 후보의 선택, PID 1의 첫 사용자 프로그램 실행. | ||
실행 파일의 형식 판별, 세그먼트 매핑, 초기 스택과 레지스터 준비의 공통 원리는 [[운영체제 기본/Linux의 ELF 로딩|Linux의 ELF 로딩]]에서 설명한다. | |||