References
https://www.guru99.com/difference-between-process-and-thread.html
https://www.backblaze.com/blog/whats-the-diff-programs-processes-and-threads/
Program
- [명령어의 집합] 이라는 사전적 정의
- 작업을 실행하기 위해 존재하는 파일
- 디스크에 존재하는 정적인 파일
Process
PCB(Process control Block), 프로세스 제어 블록
실행중인 프로세스에 대한 정보를 저장
역할
- 각 Process에 저장된 정보를 통해 작업 스케쥴링
- 프로세스는 CPU 를 할당받아 작업을 처리하다가도 프로세스 전환이 발생하면 진행하던 작업을 저장하고 CPU 를 반환해야 하는데, 이때 작업의 진행 상황을 모두 PCB 에 저장하게 된다. 그리고 다시 CPU 를 할당받게 되면 PCB 에 저장되어있던 내용을 불러와 이전에 종료됐던 시점부터 다시 작업을 수행한다
Reference: JaeYeopHan - 프로세스와-스레드의-차이
저장 정보
- 프로세스 식별자(Process ID, PID) : 프로세스 식별번호
- 프로세스 상태 : new, ready, running, waiting, terminated 등의 상태를 저장
- 프로그램 카운터 : 프로세스가 다음에 실행할 명령어의 주소
- CPU 레지스터
- CPU 스케쥴링 정보 : 프로세스의 우선순위, 스케줄 큐에 대한 포인터 등
- 메모리 관리 정보 : 페이지 테이블 또는 세그먼트 테이블 등과 같은 정보를 포함