시스템 콜1 fork() vs clone() clone 과 fork는 새로운 프로세스를 생성한다는 관점에서는 비슷합니다. 하지만 fork 는 사실 clone() 시스템 콜이 레이어드 되어 있는 라이브러리 함수입니다. fork와는 다르게 clone()은 자식 프로세스가 실행 컨텍스트를 호출 프로세스와 공유할 수 있게 해준다. 예를들어 메모리 공간, 파일 디스크립터 테이블, 시그널 핸들러 테이블 등을 공유한다. clone 의 주 사용처는 공유되는 메모리 공간에서 동시에 실행되는 쓰레드 구현이다. 자식 프로세스가 clone()으로 생성되면, 가장 처음 fn(arg)라는 함수를 호출한다. 이렇게 fn 을 호출하는 것은 fork와 다른데, 아시다시피 fork를 호출하고나서는 자식 프로세스는 fork 호출 시점부터 실행을 시작하기 때문이다. fn argume.. 2023. 3. 12. 이전 1 다음