Q.
프로세스
와스레드
의 차이점은?
프로세스는 메모리 상에서 실행중인 프로그램을 말하며, 스레드는 이 프로세스 안에서 실행되는 흐름 단위를 말한다.
프로세스
는 최소 하나의 스레드를 보유하고 있으며, 각각 별도의 주소공간을 (code, heap, stack)형식으로 독립적으로 할당 받는다.
스레드
는 이중에 stack만 따로 할당받고 나머지 영역은 스레드끼리 서로 공유한다.
프로세스
: 자신만의 고유 공간과 자원을 할당받아 사용
스레드
: 다른 스레드와 공간과 자원을 공유하면서 사용
하나의 스레드가 동작하기 위해 총 6개의 공기 있다.
사적공간, 공유공간, 커널 스택
사적공간은 스레드 코드 공간, 스레드 전용 전역변수 공간, 스택 공간이 있다.
공유공간에는 데이터 공간, 힙 공간이 있다. 그리고 커널 스택이 있다.