문제
다음 설명에 해당하는 내용으로 알맞은 것은?
하나의 프로세스가 새로운 프로세스를 생성할 때 새로운 프로세스를 위해 메모리를 할당받아 복사본 형태로 실행한다.
① fork ② exec ③ foreground process ④ background process
정답
1번
해설
정답: 1. 기존 프로세스가 자신을 거의 그대로 "복사"하여 새로운 자식 프로세스를 만드는 방식은 fork 다. fork 는 부모의 복사본을 자식으로 생성한다.
오답 풀이
- 1번: fork 는 부모 프로세스의 복사본을 새 메모리에 만들어 자식을 생성하므로 옳다.
- 2번: exec 는 새 프로세스를 복사 생성하는 것이 아니라, 현재 프로세스의 메모리를 다른 프로그램으로 "덮어쓰기" 한다.
- 3번: foreground process 는 터미널을 점유해 실행되는 프로세스로 생성 방식 설명이 아니다.
- 4번: background process 는 터미널과 분리되어 실행되는 프로세스로 생성 방식 설명이 아니다.
보충 개념 유닉스의 전형적 실행 흐름은 fork 로 자식을 만든 뒤 exec 로 그 자식이 다른 프로그램으로 바뀌는 "fork-and-exec" 구조다. fork 는 복제, exec 는 교체로 구분한다.