CS 공부 & 면접 맛보기 0x10 [운영체제] : Process 상태 변화 과정
2025. 1. 22. 23:00ㆍ코딩 도구/CS 면접 도구
반응형
질문
프로세스의 상태 변화 과정은 어떻게 이루어지나요?
면접 답변
프로세스의 상태 변화는 Submit → Hold → Ready → Run → Wait/Exit의 순서로 진행됩니다. 각 상태는 프로세스의 실행 흐름과 자원 할당 상황을 반영합니다.
1. Submit (제출)
- 사용자가 작업을 시스템에 제출한 상태입니다.
- 아직 메모리에 적재되지 않은 상태이며, 작업 대기열에 들어가 있습니다.
2. Hold (대기)
- 제출된 작업이 스풀 공간(디스크의 할당 위치)에 저장된 상태입니다.
Spooling(스풀링)
- 느린 입출력 장치의 속도를 보완하기 위해 사용되는 기법입니다.
- 입출력 데이터를 직접 장치에 전송하지 않고 디스크에 임시 저장한 뒤, 한 번에 처리합니다.
3. Ready (준비)
- 프로세스가 CPU를 할당받기 위해 대기 중인 상태입니다.
- 준비 상태 큐(Ready Queue)에 들어가 있으며, CPU 할당을 기다립니다.
- Hold → Ready 전이는 Job 스케줄러에 의해 수행됩니다.
Dispatch (디스패치)
- Ready 상태의 프로세스 중 하나가 CPU를 할당받아 Run 상태로 전이되는 과정입니다.
4. Run (실행)
- 프로세스가 CPU를 할당받아 실행 중인 상태입니다.
- CPU에서 명령어를 실행하며, 특정 조건이 발생하면 다른 상태로 전이될 수 있습니다.
5. Wait (대기) / Block (블록)
- 프로세스가 입출력 작업 또는 외부 이벤트를 기다리는 상태입니다.
- 해당 작업이 완료되면 Ready 상태로 전이될 수 있습니다.
Wake up (웨이크업)
- Wait 상태에서 Ready 상태로 전이되는 과정입니다.
- 입출력 작업이 완료되거나 대기 중인 자원이 사용 가능해질 때 발생합니다.
6. Exit (종료)
- 프로세스의 실행이 종료되고, 시스템에서 자원 할당이 해제된 상태입니다.
- 정상 종료 또는 비정상 종료(에러)로 인해 발생할 수 있습니다.
프로세스 상태 전이도
Submit → Hold → Ready → Run → Wait → Ready → Run → Exit
요약
- Submit: 사용자가 작업 제출
- Hold: 디스크에 임시 저장
- Ready: CPU 할당 대기
- Run: CPU에서 실행 중
- Wait: 입출력 대기
- Exit: 프로세스 종료
반응형
'코딩 도구 > CS 면접 도구' 카테고리의 다른 글
CS 공부 & 면접 맛보기 0x12 [운영체제] : 페이지 교체 알고리즘의 종류 설명 (0) | 2025.01.27 |
---|---|
CS 공부 & 면접 맛보기 0x11 [운영체제] : 페이징이란 (0) | 2025.01.24 |
CS 공부 & 면접 맛보기 0x0F [운영체제] : 인터럽트와 트랩 (0) | 2025.01.20 |
CS 공부 & 면접 맛보기 0x0E [운영체제] : 데드락(Deadlock)의 해결 방법 (0) | 2025.01.17 |
CS 공부 & 면접 맛보기 0x0D [운영체제] : 데드락(Deadlock) (0) | 2025.01.15 |