- 프로세스
- 운영체제로 부터 자원을 할당받은 작업의 단위 즉 실행 중인 프로그램을 의미한다. 메모리에 적재되어 cpu 자원을 할당받아 실행되는 상태이며 운영체제로부터 프로세서,주소 공간,메모리 등의 자원을 할당받는다.
- 쓰레드
- 프로세스 내에서 실행되는 더작은 실행 단위이며 프로세스가 할당받은 자원을 이용하는 실행 흐름단위이다. 한 프로세스 내에서 동작되는 여러 실행의 흐름을 의미한다. 같은 프로세스 내의 다른 스레드와 주소공간이나 자원들을 공유한다.
- 프로세스와 쓰레드의 차이점
프로세스 | 쓰레드 | |
자원 할당 | 운영체제로부터 직접 자원할당 | 프로세스의 자원을 공유 |
메모리 사용 | 독립된 메모리 영역을 갖음 | 스택 영역을 제외한 메모리공유 |
통신 비용 | 쓰레드간 통신비용보다 많다 | 프로세스간 통신비용보다 적다 |
생성 및 컨텍스트 스위칭 | 쓰레드보다 느리다 | 프로세스보다 빠르다 |
'개발일기 > CS(면접)' 카테고리의 다른 글
TDD와DDD란? (0) | 2024.08.06 |
---|---|
멀티프로세스와 멀티쓰레드의 특징은? (0) | 2024.08.05 |
CI/CD란? (0) | 2024.08.01 |
클래스형과 함수형의 차이 (0) | 2024.07.31 |
세션 기반 인증과 토큰 기반 인증의 차이란? (0) | 2024.07.30 |