학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 172 · 실전 면접 답변

멀티 프로세스와 멀티 스레드는 격리 수준과 통신 비용 측면에서 어떻게 다른가요?

이렇게 답해 보세요 (핵심 답변)

멀티 프로세스는 각 프로세스가 독립된 가상 주소 공간을 가져 한쪽 오류가 다른 프로세스로 퍼지는 것을 막아 주며, 파이프나 소켓 같은 IPC로 통신합니다. 반면 멀티 스레드는 같은 주소 공간을 공유해 데이터를 빠르게 주고받을 수 있지만, 경쟁 상태가 생기기 쉽고 한 스레드의 치명적 오류가 프로세스 전체를 멈추게 할 수 있습니다. 따라서 생성·통신 비용과 작업 크기, 필요한 격리 수준, 코어 수를 함께 고려해 선택합니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. 강한 격리가 필요한 브라우저 탭이나 플러그인 구조와, 대량의 공유 메모리를 함께 계산하는 작업은 요구되는 아키텍처가 다릅니다.
  2. 공유 메모리로 복사 비용을 줄이더라도 잠금 경합(Lock Contention)이 심해지면 대기 시간 때문에 성능이 떨어질 수 있습니다.

면접에서 자주 하는 실수

멀티 스레드가 가볍다는 이유만으로 어떤 상황에서든 무조건 멀티 프로세스보다 더 빠르다고 단정하면 안 됩니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 172번을 바탕으로 질문과 답변을 새로 정리했습니다.

← 운영체제