문제
다음 ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?
리눅스가 부팅을 시작하면 커널이 최초의 프로세스인 ( ㉠ ) 프로세스를 발생시키는데, 할당되는 PID(Process ID)는 ( ㉡ ) 이다.
① ㉠ init, ㉡ 0 ② ㉠ init, ㉡ 1 ③ ㉠ inetd, ㉡ 0 ④ ㉠ inetd, ㉡ 1
정답
2번
해설
정답: 2. 커널이 부팅 후 생성하는 최초의 사용자 영역 프로세스는 init 이며, 여기에 할당되는 PID 는 1 이다. 따라서 ㉠=init, ㉡=1 이다.
오답 풀이
- 1번: ㉠ init 은 맞지만 PID 0 은 커널 스케줄러(swapper)에 해당하고 init 의 PID 는 1 이라 ㉡ 이 틀리다.
- 2번: ㉠ init, ㉡ 1 로 최초 프로세스와 그 PID 가 정확히 짝지어져 옳다.
- 3번: inetd 는 서비스 요청을 받는 슈퍼 데몬으로 최초 프로세스가 아니며 PID 0 도 아니다.
- 4번: inetd 는 부팅 최초 프로세스가 아니다.
보충 개념 모든 프로세스는 init(PID 1)의 자손이다. 최신 배포판은 init 자리를 systemd(역시 PID 1)가 대체했다. 부모가 종료된 고아 프로세스는 init/systemd 가 입양한다.