면접 - 운영체제

개발자 면접 질문 - 멀티 프로세스와 멀티 쓰레드 차이

snow-line 2020. 12. 4. 17:04
반응형

1. 멀티 프로세스

 - 하나의 응용 프로그램을 여러 개의 프로세스로 구성하여 각 프로세스가 하나의 작업을 처리하는 것

 - 여러 개의 자식 프로세스 중 하나에 문제가 발생하면 그 자식 프로세스만 죽어 다른 영향이 확산되지 않음

 

2. 멀티 쓰레드

 - 하나의 응용 프로그램을 여러 개의 쓰레드로 구성하고 각 쓰레드가 하나의 작업을 처리하는 것

 - 시스템 자원 소모 감소

 - 시스템 처리량 증가

 - 다른 프로세스에서 쓰레드를 제어할 수 없다.

 

* 멀티 프로세스 대신 멀티 쓰레드를 사용하는 이유

 - 자원의 효율성 증대 : 프로세스를 생성하여 자원을 할당하는 시스템 콜이 줄어들어서 자원 관리가 효율적

 - 처리 비용 감소 및 응답 시간 단축 : 프로세스 간의 통신 보다 쓰레드 간의 통신 비용이 적다.

반응형