프로세스 상태전이가 무엇일까?

박승우·2024년 8월 5일
0

자 일흔 여덟 번째 키워드인 '프로세스 상태전이'를 알아 볼 것이다.

이전 시리즈는 CPU 관련 키워드 인데 프로세스 개념이 같이 연관되므로 알아보았다.

프로세스 상태 전이가 뭐에요?

프로세스 상태 전이는 운영체제에서 프로세스가 실행되는 동안 다양한 상태 간에 전환되는 과정을 말한다.
프로세스 상태 전이는 컴퓨터 시스템의 효율적인 자원 관리와 응답성을 유지하기 위해 필수적이라고 한다.

주요 프로세스 상태

  • 생성 (New)
    프로세스가 처음 생성되어 시스템에 등록된 상태이다.
    이 상태에서는 아직 준비 상태로 전환되지 않은 것이다.

  • 준비 (Ready)
    프로세스가 실행 준비가 되었지만, CPU가 할당되기를 기다리는 상태이다.
    여러 프로세스가 준비 상태에 있을 수 있으며, 준비 큐에 대기한다.

  • 실행 (Running)
    프로세스가 CPU를 할당받아 실제로 실행 중인 상태이다.
    한 순간에 하나의 프로세스만이 이 상태에 있을 수 있다. (단일 CPU 시스템 기준)

  • 대기 (Blocked or Waiting)
    프로세스가 실행 중 입출력(I/O) 작업 등으로 인해 일시적으로 중단된 상태이다.
    해당 작업이 완료되기를 기다린다.

  • 완료 (Terminated)
    프로세스가 모든 작업을 마치고 종료된 상태이다.
    시스템 자원을 해제하고, 프로세스 제어 블록(PCB)을 삭제한다.

상태 전이

  1. 생성 → 준비
    프로세스가 생성되면, 초기화 작업을 마친 후 준비 상태로 전이된다.

  2. 준비 → 실행
    스케줄러가 준비 큐에서 프로세스를 선택하여 CPU를 할당하면 실행 상태로 전이된다.

  3. 실행 → 준비
    프로세스가 실행 중 타임 슬라이스가 종료되거나, 선점 스케줄링에 의해 CPU를 반납하면 다시 준비 상태로 전이된다.

  4. 실행 → 대기
    프로세스가 입출력 작업을 요청하거나, 특정 이벤트를 기다려야 하는 경우 대기 상태로 전이된다.

  5. 대기 → 준비
    대기 상태에 있던 프로세스가 요청한 작업이 완료되면 준비 상태로 전이된다.

  6. 실행 → 완료
    프로세스가 자신의 작업을 모두 완료하면 종료 상태로 전이된다.

추가 상태

운영체제의 따라 상태가 추가적으로 나오게 되는데 아래와 같다.

  • 준비 대기 (Ready Suspended)
    준비 상태의 프로세스가 메모리에서 스왑 아웃된 상태이다.

  • 대기 대기 (Blocked Suspended)
    대기 상태의 프로세스가 메모리에서 스왑 아웃된 상태이다.

profile
게임을 좋아하는 사람 입니다!

0개의 댓글