[OS] 프로세스 vs 스레드

프로세스와 스레드

프로세스: 프로그램이 메모리상에서 실행되는 작업 단위
스레드: 프로세스 내에서 실행되는 여러 흐름의 단위

프로세스는 프로세스에 대한 설명 참고

메모리 관점에서의 프로세스와 스레드

프로세스와 스레드의 메모리구조

프로세스는 Code, Data, Heap, Stack 영역으로 구성되어 있다. 같은 프로세스 내의 스레드들은 Code, Data, Heap 영역을 공유하지만 Stack은 별도로 할당받는다.

한 프로세스는 최소 한 개의 스레드를 가진다. 프로세스 내의 주소공간과 리소스들을 프로세스 내의 스레드끼리 공유하면서 실행된다. 하나의 프로세스는 다른 프로세스의 메모리에 접근 불가하므로 다른 프로세스의 스레드 또한 접근할 수 없다.

프로세스와 스레드 비교

이처럼 스레드 간에는 메모리를 공유함으로써 프로세스와 차이점이 발생한다.

참고