- 프로세스 생성과 초기화:
process_create_initd 함수는 초기 사용자 프로세스(initd)를 생성합니다. process_init 함수는 일반 프로세스 초기화를 담당합니다.
- 프로세스 실행:
process_exec 함수는 주어진 파일 이름의 실행 파일을 로드하고 실행합니다.
- 프로세스 종료 및 정리:
process_exit 함수는 프로세스를 종료하고, process_cleanup 함수는 프로세스가 사용했던 자원을 정리합니다.
- 프로세스 복제 (Fork):
process_fork는 현재 프로세스를 복제합니다. 이는 __do_fork 함수를 통해 구현됩니다. 이 함수는 부모 프로세스의 실행 컨텍스트를 복사하여 새로운 프로세스(자식)를 생성합니다.
- ELF 파일 로딩:
load 함수는 ELF 실행 파일을 메모리에 로드합니다.
- 스택 설정:
setup_stack 함수는 사용자 스택을 설정합니다.
- 자식 프로세스 관리:
get_child_process 함수는 특정 PID를 가진 자식 프로세스를 검색합니다.
- 파일 디스크립터 관리: 이 코드는 파일 디스크립터 테이블을 관리하여 각 프로세스가 여러 파일을 열 수 있도록 합니다.
- 페이지 테이블과 가상 메모리:
pml4와 관련된 코드는 페이지 테이블과 가상 메모리 관리에 관련되어 있습니다.