카테고리 없음

[면접 질문] OS 5

noahkim_ 2026. 2. 8. 22:02

1. 기본

같은 호스트에서 IPC가 필요한 이유는 무엇인가요?

더보기
  • 프로세스는 각자 독립적인 주소 공간을 가지기 때문에 메모리를 공유하지 않음

 

IPC 방식에 대해 어떤것이 있는지 설명해주세요
더보기
  • 공유 메모리: 특정 메모리를 프로세스들이 함께 사용. 속도 빠름. 구현 어려움. 동기화 필수
  • 파일: 특정 파일을 프로세스들이 함께 사용. 속도 느림. 구현 쉬움. 영속성 있음. 
  • 파이프라인: 부모-자식 프로세스간 단방향 스트림. 속도 중간. 구현 쉬움. 간단한 데이터 전송

 

소켓이란 무엇인가요?

더보기
  • 네트워크를 통해 다른 프로세스 간 통신을 위한 인터페이스 (파일처럼 취급)
  • 양방향 통신

 

RPC는 무엇인가요?

더보기
  • 원격 서버에 있는 함수를 로컬 함수처럼 호출할 수 있도록 네트워크 통신을 추상화한 방식
  • 함수 호출 방식

 

2. 중급

공유 메모리의 가장 큰 단점은 무엇인가요?

더보기
  • 직접 동기화 구현을 해야함. (레이스 컨디션 발생 가능)
  • 구현 난이도 높음

 

파이프는 어떤 제약 조건을 가지고 있나요?

더보기
  • 부모-자식 프로세스 관계일때만 사용가능
  • 단방향 통신
  • 프로세스 소멸 시, 데이터 소멸됨

 

소켓과 RPC의 가장 큰 차이점은 무엇인가요?

더보기
  • 추상화 수준
  • 소켓은 데이터를 직접 주고받는 저수준 통신 방식
  • RPC는 원격 함수를 호출하는 고수준 통신 방식

 

3. 고급 (꼬리질문)

대용량 데이터를 빠르게 전송해야 할 때 사용하는 IPC 기법은?

더보기
  • 공유 메모리
  • 속도가 가장 빠름

 

IPC 설계가 잘못되면 어떤 문제가 발생할 수 있나요?

더보기
  • 성능 저하: 불필요한 커널 개입
  • 동기화 문제: 데드락
  • 데이터 불일치: 동기화 누락

 

카카오/네이버와 같은 대규모 서비스에서는 IPC를 어떻게 설계할까요?

더보기
  • 멀티스레드 기반 선호. 공유 메모리 최소화
  • 확장성 고려: 수평 확장