Learning
토픽 5 / 85·프로세스 관리

프로세스 (Process)

프로세스 (Process)

실행 중인 프로그램의 인스턴스로, 독립 주소공간과 PCB를 가지는 OS 작업 단위

특징: 독립 주소공간, PCB 관리, 상태 전이, 스케줄링 대상

구성요소: 코드(Text) / 데이터(Data) / 힙(Heap) / 스택(Stack) / PCB(PID, 상태, PC, 레지스터, 메모리맵)

5상태: New(생성) → Ready(CPU 대기) → Running(실행) → Waiting(I/O 대기) → Terminated(종료)

7상태 확장: + Suspended Ready(스왑아웃/CPU대기) + Suspended Blocked(스왑아웃/I/O대기)

주요 전이: Ready→Running(Dispatch) / Running→Ready(선점/타이머) / Running→Waiting(I/O요청) / Waiting→Ready(I/O완료)

생성/종료: fork()+exec() / exit()(정상), kill()(강제), wait()(자식 대기)

장점: 독립 실행, 보호·격리, 크래시 격리

단점: 생성·전환 오버헤드 큼, 메모리 소비, IPC 필요

비교: 프로세스(독립/무겁/안전) vs 스레드(공유/가벼움/통신쉬움)

연관: PCB, 스레드, 스케줄링, 컨텍스트 스위칭, fork