문제
다음 설명에 해당하는 명칭으로 알맞은 것은?
하나의 프로세스가 다른 프로세스를 실행할 때 호출하는 방법으로 새로운 프로세스를 위해 메모리를 할당받아 복사본 형태로 프로세스를 실행한다. 새롭게 생성된 프로세스는 원래 프로세스의 자식 프로세스가 된다.
① exec ② fork ③ init ④ inetd
정답
2번
해설
정답: 2. 부모 프로세스를 복사본 형태로 복제해 새로운 자식 프로세스를 만드는 시스템 콜은 fork 이다. 생성된 프로세스는 부모의 자식으로 관리된다.
오답 풀이
- 1번: exec 는 새 프로세스를 만드는 것이 아니라 현재 프로세스의 메모리 이미지를 새 프로그램으로 덮어쓴다.
- 2번: 메모리를 새로 할당해 복사본 형태의 자식 프로세스를 생성하는 fork 로 옳다.
- 3번: init 은 모든 프로세스의 조상 프로세스(PID 1)일 뿐 생성 기법이 아니다.
- 4번: inetd 는 요청 시 서비스 데몬을 띄우는 슈퍼 데몬으로 프로세스 생성 방법 자체를 가리키지 않는다.
보충 개념 fork() 로 자식을 복제한 뒤 exec() 로 그 자식의 이미지를 새 프로그램으로 교체하는 fork-exec 패턴이 유닉스 프로세스 생성의 기본이다.