더북(TheBook)

4.2.3 다중 프로세스

프로세스도 시스템 콜을 통해 자신이 속한 프로세스를 만들 수 있다. 이러한 프로세스를 자식 프로세스(child process)라고 한다. 이때 쓰이는 시스템 콜로는 fork()spawn() 등이 있는데 이를 스포닝(spawning)이라고 한다. 자식 프로세스는 주 프로세스와 별도의 주소 공간을 갖는 독립된 복제본이다. 그러므로 여타 프로세스와 마찬가지로 자식 프로세스 역시 독립적이며 운영체제에 의해 다른 프로세스와 격리된다. 다른 프로세스의 데이터에 직접 접근할 수 없다는 점도 동일하며, 각 프로세스에 속한 인스트럭션은 프로세스별로 독립적이고 (가능하다면) 병렬로 실행된다.

지금부터는 동시성의 영역에 진입한다. 스포닝을 사용한 프로그램의 실행 과정은 병렬 하드웨어에서 병렬로 실행할 수 있는 프로세스를 여러 개로 분해할 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.