본문으로 이동
  • 현재 모든 문서는 작성 중입니다. 보시는 데 불편함이 있더라도 양해 부탁드립니다.

운영체제 기본/Linux의 ELF 로딩

~ldmsys
관리자 (토론 | 기여)님의 2026년 10월 31일 (토) 08:43 판 (실행 이미지 교체와 ELF 적재 각론 목차 신설)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

운영체제 기본 목차

Linux v6.12의 x86-64 환경에서 execve() 요청이 새 사용자 프로그램의 첫 명령 실행으로 이어지는 과정을 다룬다. 파일 형식의 판별, ELF 세그먼트의 주소 공간 배치, 초기 스택과 레지스터 준비를 나누어 읽는다.

읽는 순서

  1. execve와 실행 이미지 교체: 실행 파일을 열고 binfmt 핸들러를 선택하며 기존 실행 이미지를 교체하는 과정.
  2. ELF 세그먼트와 주소 공간: PT_LOAD 매핑, BSS, 주소 재배치와 PT_INTERP의 역할.
  3. 초기 스택과 사용자 모드 진입: argv·envp·auxv, 첫 RIP와 RSP, 일반 exec와 PID 1의 복귀 경로.

부팅 중 실행할 init을 고르는 과정은 루트 파일시스템과 init 선택에 있다. 파일 매핑과 페이지 폴트는 가상 메모리와 Linux의 파일 메모리 매핑에서 이어진다.