
왜 Linux에서는 "init"이 생성될 때 프로세스를 처음부터 생성하지 않고 분기 방법으로 "포크"를 생성합니까?
답변1
이러한 대부분의 프로세스는 컨텍스트(열린 파일, 현재 디렉터리, 환경 변수 등)를 공유하는 협력 세트의 일부로 생성되며, 새로운 프로세스의 컨텍스트에 대한 조정은 정확히 생성된 목적에 따라 매우 구체적입니다. 상위 프로세스를 쌍으로 연결하고 새 프로세스에서 실행되는 코드가 다음 프로세스를 실행하기 전에 필요한 변경 사항을 적용하도록 하는 것이 가장 간단합니다 execve
.
클린 슬레이트 프로세스는 극소수입니다.예외, 규칙이 아닙니다.