iOS-Junior-Developers / Operating-System

Operating System Stuy
0 stars 0 forks source link

fork()란 무엇인가요? #26

Open JongHoooon opened 1 year ago

JongHoooon commented 1 year ago

현재 실행 중인 프로세스를 그대로 복제하여 자식 프로세스를 생성하는 함수이다.

fork()를 호출하면, 현재 프로세스의 주소 공간을 완전히 복제하여 자식 프로세스를 생성한다. 자식 프로세스는 부모 프로세스와 동일한 코드, 데이터, 스택, 힙 등의 자원을 공유한다. 그러나 PID(Process ID)는 다르다. 부모 프로세스와 자식 프로세는 각각의 메모리 공간에서 독립적으로 실행된다.

exec()

새로운 프로세스를 실행하는 함수. exec() 호출되면, 현재 프로세스의 메모리 공간을 새로운 프로세스의 실행 파일과 데이터로 대체한다. 현재 프로세스가 실행 중인 코드, 데이터, 스택, 힘 등의 자원은 모두 사라지고 새로운 프로세스 실행

fork - 자식 프로세스 생성 exec - 새로운 프로세스 실행