프로세스
정의
운영체제에 의해 메모리를 할당받아 실행중인 프로그램
PCB
구성요소
- PID
- 운영체제가 각 프로세스를 식별하기 위한 고유 번호
- 프로세스 상태
- 현재 프로세스의 상태를 저장
- 준비, 대기, 실행, 완료로 구분
- PC
- scheduling 정보
- 권한 정보
- 부모, 자식 프로세스 정보
- 할당된 메모리 포인터
메모리 구조
- code
- data
- heap
- stack
- local, 매개변수, 반환값 등 지역변수 저장
스레드
정의
프로세스가 할당받은 자원을 이용하는 실행단위
특징
- 프로세스 내에서 각각 stack만 할당받고 code, data, heap 영역은 공유한다.
- 스레드는 프로세스 내의 주소 공간이나 자원들 같은 것을 프로세스 내의 스레드끼리 공유하며 실행한다.
- 한 스레드가 프로세스 자원을 변경하면, 다른 이웃 스레드도 그 변경 결과를 즉시 확인할 수 있다.
- 한 스레드가 프로세스 자원을 변경하면, 다른 이웃 스레드도 그 변경 결과를 즉시 확인할 수 있다.