스물두줄

정보관리기술사 · 개념서 · 클라우드 및 인프라

프로세스 상태 전이

설명 영상 프로세스 상태 전이 · 2:45

왜 배우는가: 프로세스 상태 전이는 운영체제가 CPU와 메모리를 여러 프로그램에 나눠 주는 기본 원리다. 스케줄링, 교착 상태, 스레싱 등 뒤의 개념이 모두 이 상태 모델을 바탕으로 설명된다. 정보관리기술사 시험에서는 상태 다이어그램을 그리고 전이 원인을 설명하는 형태로 반복해 출제된다.

출제 이력: 제102회 4교시 4번, 제89회 2교시 1번

1. 한 줄 정의와 핵심 키워드

프로세스 상태 전이는 실행 중인 프로세스가 생성, 준비, 실행, 대기, 종료 상태 사이를 사건에 따라 옮겨 가는 과정이다.

답안에 쓸 핵심 키워드는 다음과 같다.

  • 프로세스(Process): 실행 중인 프로그램으로, 운영체제로부터 자원을 할당받아 동작하는 능동적 개체다.
  • 상태 전이(State Transition): 프로세스가 한 상태에서 다른 상태로 바뀌는 현상이다.
  • 디스패치(Dispatch): 준비 상태의 프로세스가 CPU를 할당받아 실행 상태로 바뀌는 것이다.
  • 타임아웃(Timeout): 실행 중인 프로세스가 할당 시간을 다 쓰고 준비 상태로 되돌아가는 것이다.
  • 블록(Block): 실행 중인 프로세스가 입출력을 요청해 CPU를 스스로 반납하고 대기 상태로 가는 것이다.
  • 웨이크업(Wake-Up): 입출력이 끝나 대기 프로세스가 준비 상태로 옮겨 가는 것이다.
  • 스왑 인·스왑 아웃(Swap-in/Swap-out): 프로세스가 기억장치를 다시 받거나 잃는 전이다.
  • 문맥 교환(Context Switching): 프로세스를 바꿀 때 프로세스 제어 블록(PCB)의 정보를 저장하고 복원하는 작업이다.

2. 개념 풀이

쉬운 말로 하면 프로세스는 CPU를 써서 일하는 중인 프로그램이고, 상태 전이는 그 프로그램이 지금 무엇을 하고 있는지 바뀌는 순간이다. 운영체제는 현재 상태를 프로세스 제어 블록(PCB)에 기록해 두고, 전이가 일어날 때마다 이를 갱신한다.

정식 정의는 다음과 같다. 프로세스 상태 전이란 프로세스가 생성되어 소멸될 때까지 CPU 할당, 입출력 요청, 자원 할당 같은 사건에 따라 정해진 상태 사이를 이동하는 과정이다. 기본 모델은 생성, 준비, 실행, 대기, 종료의 5-상태 모델이다.

준비 상태(Ready)는 CPU만 받으면 바로 실행할 수 있는 상태다. 준비 리스트에서 CPU 스케줄러의 선택을 기다린다.

실행 상태(Running)는 CPU를 점유해 명령을 수행하는 상태다. 한 시점에 실행 상태에 있는 프로세스는 CPU 개수만큼만 존재한다.

대기 상태(Waiting, Blocked)는 입출력 완료나 자원 할당 같은 사건을 기다리는 상태다. 문제의 슬립(Sleep)은 이 대기 상태에 해당하는 표기로 본다.

상태 간 전이는 다음과 같이 정리된다.

  • 준비에서 실행: 디스패치. CPU 스케줄러가 준비 리스트에서 프로세스를 골라 CPU를 준다.
  • 실행에서 준비: 타임아웃. 타임 슬라이스가 만료되거나 선점될 때 발생한다.
  • 실행에서 대기: 블록. 할당 시간 안에 입출력을 요청하면 자발적 반납이 원인이다.
  • 대기에서 준비: 웨이크업. 입출력이 끝나면 준비 상태로 돌아간다.
  • 기억장치 관련: 스왑 아웃과 스왑 인. 메모리를 잃으면 디스크로 나가고, 다시 받으면 메모리로 들어온다.

3. 등장 배경과 필요성

초기 컴퓨터는 한 번에 하나의 작업만 처리했다. CPU 속도가 입출력 장치보다 훨씬 빨라서, 입출력이 끝날 때까지 CPU가 놀게 되는 문제가 생겼다. 이를 줄이려고 여러 프로세스를 메모리에 함께 올려 두고 번갈아 실행하는 다중 프로그래밍이 등장했다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 단원 읽기