운영체제 기본/Linux/x86-64/BIOS 부팅/루트 파일시스템과 init 선택: 두 판 사이의 차이

잔글 Linux 각론 경로 변경에 따른 본문·목차·틀 링크 갱신
Linux 계층형 경로에 맞춰 문서 링크 갱신
 
1번째 줄: 1번째 줄:
{{이전 다음 문서
{{이전 다음 문서
|이전=← 이전 문서<br />[[운영체제 기본/x86-64 Linux의 BIOS 부팅/PID 1 생성|PID 1 생성]]
|이전=← 이전 문서<br />[[운영체제 기본/Linux/x86-64/BIOS 부팅/PID 1 생성|PID 1 생성]]
|목차=[[운영체제 기본/x86-64 Linux의 BIOS 부팅|BIOS 부팅 목차]]
|목차=[[운영체제 기본/Linux/x86-64/BIOS 부팅|BIOS 부팅 목차]]
}}
}}


37번째 줄: 37번째 줄:
<code>kernel_execve()</code>는 커널에 있는 인수 문자열을 복사한다는 차이가 있지만, <code>bprm_execve()</code>에서 일반 실행 경로와 합쳐져 같은 binfmt 핸들러와 ELF 로더를 사용한다. 파일 형식 판별, ELF 세그먼트 매핑, 초기 스택과 사용자 레지스터 준비의 공통 원리는 [[운영체제 기본/Linux/ELF 로딩|Linux의 ELF 로딩]]에서 설명한다.<ref name="exec">[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/exec.c?h=v6.12 Linux v6.12, fs/exec.c], <code>kernel_execve()</code>, <code>bprm_execve()</code>.</ref>
<code>kernel_execve()</code>는 커널에 있는 인수 문자열을 복사한다는 차이가 있지만, <code>bprm_execve()</code>에서 일반 실행 경로와 합쳐져 같은 binfmt 핸들러와 ELF 로더를 사용한다. 파일 형식 판별, ELF 세그먼트 매핑, 초기 스택과 사용자 레지스터 준비의 공통 원리는 [[운영체제 기본/Linux/ELF 로딩|Linux의 ELF 로딩]]에서 설명한다.<ref name="exec">[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/exec.c?h=v6.12 Linux v6.12, fs/exec.c], <code>kernel_execve()</code>, <code>bprm_execve()</code>.</ref>


PID 1은 그대로 유지되고 실행 이미지가 준비된다. 앞서 [[운영체제 기본/x86-64 Linux의 BIOS 부팅/PID 1 생성|PID 1 생성]]에서 만든 태스크가 이제 첫 사용자 프로그램을 실행할 주소 공간과 스택, 레지스터 상태를 갖게 되는 것이다.
PID 1은 그대로 유지되고 실행 이미지가 준비된다. 앞서 [[운영체제 기본/Linux/x86-64/BIOS 부팅/PID 1 생성|PID 1 생성]]에서 만든 태스크가 이제 첫 사용자 프로그램을 실행할 주소 공간과 스택, 레지스터 상태를 갖게 되는 것이다.


== PID 1의 첫 사용자 모드 진입 ==
== PID 1의 첫 사용자 모드 진입 ==
52번째 줄: 52번째 줄:


{{이전 다음 문서
{{이전 다음 문서
|이전=← 이전 문서<br />[[운영체제 기본/x86-64 Linux의 BIOS 부팅/PID 1 생성|PID 1 생성]]
|이전=← 이전 문서<br />[[운영체제 기본/Linux/x86-64/BIOS 부팅/PID 1 생성|PID 1 생성]]
|목차=[[운영체제 기본/x86-64 Linux의 BIOS 부팅|BIOS 부팅 목차]]
|목차=[[운영체제 기본/Linux/x86-64/BIOS 부팅|BIOS 부팅 목차]]
}}
}}


{{운영체제 기본 둘러보기}}
{{운영체제 기본 둘러보기}}