프로세스 vs 스레드(Process vs Thread)
프로그램(program) 이란
어떤 작업을 위해 실행할 수 있는 파일
프로세스 란
- 컴퓨터에서 연속적으로 실행되고 있는 프로그램
- 메모리에 올라와 실행되고 있는 프로그램의 인스턴스
- 운영체제로 부터 시스템 자원을 할당받는 작업의 단위
- 즉, 동적인 개념으로는 실행된 프로그램을 의미한다.
할당받는 시스템 자원의 예
- CPU시간
- 운영되기 위해 필요한 주소 공간
- Code, Data, Stack, Heap의 구조로 되어있는 독립된 메모리 영역
스레드(Thread)란
- 프로세스 내에서 실행되는 여러 흐름의 단위
- 프로세스의 특정한 수행 경로
- 프로세스가 할당받은 자원을 이용하는 실행의 단위