프로세스
- 실행 중인 프로그램
- 하나의 프로그램을 실행하기 위한 기본적인 단위
- CPU, 메모리, 파일, 입출력 장치 등 실행에 필요한 자원을 할당
- 운영 체제(프로세스 관리자)는 프로세스의 생명 주기를 관리한다.
- 프로그램 : 동작을 하지 않는 정적, 수동적 개체
- 프로그램은 운영체제로부터 자원을 할당 받아 동작한다.
- 프로세스 : 동작을 하는 능동적 개체
프로세스 구성
- 메모리 구조
- 프로그램 실행에 직접적으로 필요한 코드와 데이터
- 프로세스 제어 블록 (Process Control Block: PCB)
- 운영체제가 프로세스를 관리하기 위해 필요한 정보
- 각 프로세스 마다 존재
- 여러 프로세스가 번갈아 실행되는 경우 PCB 에 저장된 정보 활용
- 프로세스 번호 PID
- 프로세스 상태
- 프로그램 카운터 (PC)
- 레지스터
- 메모리 관리 정보
- 프로세스 우선순위
- 회계 정보
- …
프로세스 상태

- 생성 - 처음 작업이 시스템에 주어진 상태 (프로그램 클릭) - 메모리 구조 할당 및 PCB 생성
- 준비 - 실행 준비가 되어 CPU 할당을 기다리는 상태 - 준비 큐에 대기
- 실행 - 프로세스가 처리되는 상태
- 종료 - 프로세스가 더 이상 실행되지 않도록 끝난 상태
- 대기 - 프로세스가 I/O 작업이 끝날 때까지 또는 특정 자원을 할당 받을 때까지 보류되는 상태
- CPU를 할당 받아 준비 상태에서 실행 상태로 상태 전이 되는 것을 디스패칭이라고 한다.