일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Silver
- SWEA
- 프로그래머스
- binary search
- Euclidean
- Unity
- solid 원칙
- Flyweight Pattern
- 프로세스 상태
- algorithm
- 3D RPG
- two pointer
- programmers
- Zenject
- effective C++
- LEVEL2
- BOJ
- dirtyflag pattern
- knapsack Problem
- BFS
- Gold
- trie
- level3
- Modern C++
- Bronze
- stack
- level1
- 8-Puzzle
- PrefixSum
- Project
Archives
- Today
- Total
Patrick's Devlog
[운영체제] 프로세스 상태 본문
프로세스 상태
프로세스는 빠르게 번갈아가면서 실행된다. 그 과정에서 하나의 프로세스는 여러 상태를 거치며 실행된다. 그리고 운영체제는 프로세스의 상태를 PCB를 통해 인식하고 관리한다. 프로세스의 상태 표현 방식은 운영체제마다 다르나, 대표적으로는 아래의 그림과 같다.

1. 생성 상태
이제 메모리에 적재되어 PCB를 할당받은 상태
생성 상태를 거쳐 실행할 준비가 완료되면 준비 상태가 되어 CPU의 할당을 기다리게 됨
2. 준비 상태
당장 CPU를 할당받아 실행할 수 있으나, 자신의 차례가 아니므로 기다리는 상태
여기서 준비 상태인 프로세스가 실행 상태로 전환되는 것을 디스패치라고 함
3. 실행 상태
CPU를 받아 프로세스가 실행중인 상태. 할당된 일정 시간동안만 CPU 사용 가능
이때, 프로세스가 할당된 시간을 모두 사용(Time Interrupt)한다면 다시 준비 상태가 되며, 실행 도중 입출력장치를 사용해 입출력 장치 작업이 끝날 때까지 기다려야 하면 대기상태가 됨
4. 대기 상태
프로세스가 실행 도중 입출력장치를 사용할 때 대기 상태로 넘어감
입출력 작업은 CPU에 비해 느리므로 입출력 작업을 요청한 프로세스는 입출력장치가 입출력을 끝낼때까지 기다려야 함
입출력 작업이 완료되면 CPU 할당을 기다리는 준비 상태로 전환
5. 종료 상태
프로세스가 종료된 상태
운영체제는 PCB와 프로세스가 사용한 메모리를 정리
참고 문서
'Computer Science > Operating System' 카테고리의 다른 글
[운영체제] 프로세스 (2) | 2024.10.22 |
---|