코드, 데이터, 힙, 스택이 분리되어 프로세스별 독립 실행 환경을 만듭니다.
프로세스 관리 단위
프로그램 파일이 실행 중인 프로세스가 되면 메모리 배치, 상태 코드, 부모 관계, 대기 원인이 모두 관찰 대상이 됩니다.
memorycode data heap stack
stateReady Running Waiting
ownerPID와 부모 관계
observe
top과 ps
Ready는 CPU만 기다리고 Waiting은 I/O나 이벤트 완료를 기다린다는 차이가 핵심입니다.
타이머, I/O 요청, I/O 완료, 종료가 스케줄러 큐 사이의 이동을 만듭니다.
준비 큐 후보가 Running으로 올라가며 정책은 5장에서 봅니다.
실행은 끝났지만 부모가 종료 상태를 회수하지 않으면 프로세스 테이블 항목이 남습니다.
STAT, PPID, RSS, CPU 사용률을 함께 보면 실행 중인지
대기 중인지 빠르게 좁힙니다.