임베디드 스터디 - 프로세스 상태와 상태 전이
임베디드 스터디 - 프로세스 상태와 상태 전이
프로세스 5가지 상태
| 상태 | 설명 |
|---|---|
| New | 프로세스 생성 중, 메모리 할당 전 |
| Ready | CPU 할당을 기다리는 중 |
| Running | CPU를 점유하여 실행 중 |
| Waiting | I/O 완료·이벤트 발생을 기다리는 중, CPU 반납 |
| Terminated | 실행 완료, 자원 반납 중 |
상태 전이 다이어그램
각 전이의 트리거 이벤트
| 전이 | 트리거 |
|---|---|
| New → Ready | 메모리 할당 완료 |
| Ready → Running | Dispatch — OS 스케줄러가 CPU 할당 |
| Running → Ready | Preemption — 타임 슬라이스 만료 또는 높은 우선순위 프로세스 등장 |
| Running → Waiting | 프로세스가 I/O 호출 |
| Waiting → Ready | I/O 완료 인터럽트 수신 |
| Running → Terminated | 실행 완료 |
큐 구조
- OS는 각 상태의 프로세스들을 큐로 관리
1
2
3
4
5
Ready Queue : Ready 상태 프로세스 대기
→ 스케줄러가 꺼내어 CPU 할당 (Dispatch)
Wait Queue : Waiting 상태 프로세스 대기
→ I/O 완료 인터럽트 시 Ready Queue로 이동
- Ready Queue에서 다음 실행 프로세스를 고르는 기준 = 스케줄링 알고리즘
- 우선순위 기반, FCFS, Round Robin, CFS 등
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.