토픽 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