프로세스란?
- 운영 체제로부터 자원을 할당받는 단위
- 코드(code), 데이터, 스택(stack), 힙(heap), 한 개 이상의 스레드를 받음
- 각 프로세스는 다른 프로세스의 자원에 접근 할 수 없다
- 프로세스간 통신(IPC)를 사용해야한다.
- 파이프, 파일, 소켓 등
쓰레드란?
- 프로세스 내에서 프로세스의 자원을 이용하는 실행 단위
- 쓰레드는 스택(stack)만 할당 받고 나머지는 쓰레드 끼리 공유한다.
- 쓰레드의 등장으로 프로세스간 통신 시간과 방법에 대한 어려움을 해소
- 컨텍스트 스위칭(Context switching)
- 기존에 실행되던 프로세스를 중단하고 다른 프로세스를 실행하는 것