문제
다음 ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?
CentOS 7 버전 리눅스에서는 부팅을 시작하면 커널이 ( ㉠ )(이)라는 최초의 프로세스를 발생시키고, 이후 시스템 운영에 필요한 데몬을 비롯한 다른 프로세스는 ( ㉡ ) 방식으로 ( ㉠ ) 프로세스의 자식 프로세스로 생성하게 된다.
① ㉠ init, ㉡ exec ② ㉠ init, ㉡ fork ③ ㉠ systemd, ㉡ exec ④ ㉠ systemd, ㉡ fork
정답
4번
해설
정답: 4. CentOS 7 은 부팅 시 커널이 최초의 프로세스(PID 1)로 systemd 를 띄우고(㉠), 이후 다른 프로세스들은 fork 방식(㉡)으로 systemd 의 자식 프로세스로 생성된다.
오답 풀이
- 1번: ㉠ init 은 CentOS 6 이하의 최초 프로세스이고, ㉡ exec 는 프로세스를 새로 만드는 방식이 아니라 이미지 교체이다.
- 2번: ㉠ init 이 CentOS 7 기준과 맞지 않다(7부터 systemd).
- 3번: ㉠ systemd 는 맞지만 ㉡ exec 는 자식 프로세스 생성 방식이 아니다.
- 4번: ㉠ systemd, ㉡ fork 로 CentOS 7 의 최초 프로세스와 생성 방식이 모두 옳다.
보충 개념 CentOS 6 이하는 init(SysV/Upstart), CentOS 7 이상은 systemd 가 PID 1 이다. fork()는 부모를 복제해 자식을 만들고, exec()는 프로세스 이미지를 새 프로그램으로 교체한다.