⚙️ 프로그램 (Program)
: 실행할 수 있는 명령어들의 집합
- 보통 소스 코드로 작성된 프로그램은 컴파일러나 인터프리터를 통해 실행 가능한 형태로 변환
- 실행되지 않은 상태로 컴퓨터의 디스크에 저장
어떤 작업을 위해 운영체제(OS) 위에서 실행할 수 있는 파일
⚙️ 프로세스 (Process)
: 운영 체제 위에서 실행중인 프로그램으로 프로그램 명령어와 데이터들이 메모리에 올라가고 실행 중 또는 실행 대기 중인 상태
- 운영체제에 의해 메모리와 자원을 할당받아 실행
- 독립적인 메모리 공간을 가지며, 서로 간섭 X
- 동시에 여러 프로세스가 실행될 수 O
운영 체제 위에서 실행중인 프로그램
⚙️ 스레드 (Thread)
: 프로세스 내에서 프로세스 자원을 이용하여 실행되는 여러 흐름의 단위
- 한 개의 프로세스 안에 여러 개의 스레드가 존재할 수 O
- 같은 메모리 영역(Heap)을 공유하면서 동작
멀티스레드 프로세스:두 개 이상의 스레드를 가지는 프로세스
다른 게시글에서 더 깊게 정리해볼 것이다!
✅ REFERENCE
장장스 : [OS] 프로그램 VS 프로세스 VS 스레드