문제
다음 설명으로 알맞은 것은?
다른 프로세스를 실행하기 위한 시스템 호출 방법 중 하나로서 특정 프로세스가 새로운 프로세스를 발생시킬 때 프로세스가 증가하지 않는 방식이다.
① exec ② fork ③ nice ④ renice
정답
1번
해설
정답: 1. exec 는 현재 프로세스의 메모리 이미지를 새 프로그램으로 "덮어쓰는" 시스템 호출이다. 새 PID를 만들지 않고 기존 프로세스가 그대로 다른 프로그램으로 바뀌므로 프로세스 수가 증가하지 않는다.
오답 풀이
- 1번: exec 는 프로세스 증가 없이 현재 프로세스를 새 프로그램으로 교체하므로 옳다.
- 2번: fork 는 부모를 복제해 자식 프로세스를 새로 만드는 호출이라 프로세스 수가 증가한다(설명과 반대).
- 3번: nice 는 프로세스 우선순위를 지정하는 명령으로 프로세스 생성 방식과 무관하다.
- 4번: renice 는 실행 중 우선순위를 변경하는 명령으로 무관하다.
보충 개념 fork(복제로 자식 생성, 프로세스 증가) + exec(자식이 새 프로그램으로 교체)를 조합해 새 프로그램을 실행한다. exec 단독은 프로세스를 새로 만들지 않는다.