← 질문 목록
#262깊이 0

프로세스와 스레드의 핵심 차이는 무엇인가?

운영체제기초동시성메모리

자원 할당과 공유 범위의 차이다. 프로세스는 운영체제로부터 독립적인 메모리 공간을 할당받지만, 스레드는 프로세스 내의 메모리를 공유한다.

기준프로세스스레드
메모리독립적 할당스택 제외 공유
컨텍스트 스위칭무겁다가볍다
영향도독립적 실행장애 전파 가능

프로세스는 코드, 데이터, 영역을 각자 가진다. 그래서 한 프로세스가 죽어도 다른 프로세스에 직접적인 영향을 주지 않는다.

스레드는 힙과 정적 데이터를 공유하고 개별 스택만 가진다. 데이터 공유가 빠르지만, 한 스레드의 메모리 오염이 전체 프로세스를 종료시킬 수 있다.

컨텍스트 스위칭 비용도 다르다. 프로세스는 주소 공간이 바뀌어 TLB를 손봐야 하고 캐시도 새 작업에 밀린다. 스레드는 그 대부분을 나눠 쓰므로 전환이 가볍다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

프로세스와 스레드의 핵심 차이는 무엇인가?