코딩일기/자격증

[정보처리기사] 프로세스 상태 전이 | 정보처리기사 실기 기출문제

jhy_2023 2024. 12. 10. 08:49
728x90
반응형

📌 프로세스(Process)

프로세스(Process)는 실행 중인 프로그램을 의미하며, CPU에 의해 처리되는 사용자 프로그램이나 시스템 프로그램을 포함합니다. 이는 일반적으로 작업(Job) 또는 태스크(Task)라고도 불립니다. 즉, 실행 중인 모든 프로그램을 프로세스라고 부르며, 이를 관리하고 실행하는 것은 운영체제의 주요 역할 중 하나입니다.


반응형

📌 프로세스의 주요 특징

  1. 자원 소유:
    • 프로세스는 실행에 필요한 자원을 소유합니다. 여기에는 CPU 시간, 메모리, 입출력 장치, 파일 핸들 등이 포함됩니다.
  2. 상태 변화:
    • 프로세스는 실행 중에 새로운 상태(New), 준비 상태(Ready), 실행 상태(Running), 대기 상태(Waiting), 종료 상태(Terminated) 등의 다양한 상태를 거칩니다.

728x90

📌 프로세스 상태 전이도

프로세스 상태 전이도 (Process State Transition Diagram)는 운영체제에서 프로세스가 실행되는 동안 여러 상태를 보여주는 다이어그램입니다. 각 프로세스는 다양한 상태를 가질 수 있으며, 이 상태들 간의 전이가 어떤 방식으로 이루어지는지를 시각적으로 표현한 것이 상태 전이도입니다.

1️⃣ 프로세스 상태

  • New (새로운 상태) :
    • 프로세스가 생성되고 준비 상태로 이동하기 전에, 이 상태에서 프로세스가 준비됩니다.
  • Ready (준비 상태) :
    • 실행을 대기하는 상태로, CPU를 할당받기 전까지 대기하고 있는 프로세스입니다. Ready 상태에 있는 프로세스는 언제든지 CPU를 할당받을 수 있습니다.
    • 타임 슬라이스(Time Slice)가 끝나거나 인터럽트가 발생하면, 실행 상태에서 준비 상태로 전환됩니다. 이는 다른 프로세스가 CPU를 사용할 수 있도록 하기 위해 발생합니다.
  • Running (실행 상태) :
    • 프로세스가 CPU를 할당받아 실제로 명령어를 실행하고 있는 상태입니다. 이 상태에서 프로세스는 연산 작업, 명령어 실행, 데이터 처리 등을 수행합니다. 실행 상태는 프로세스의 주요 작업이 이루어지는 단계로, 프로세스는 CPU를 완전히 독점하여 작업을 처리합니다.
    • 종료 상태로 전환:
      프로세스의 작업이 완료되면, 프로세스는 종료 상태로 이동합니다. 이는 프로세스 수명 주기의 끝입니다.
    • 대기 상태로 전환:
      입출력 작업 또는 특정 자원이 필요하게 되면 프로세스는 대기 상태로 전환됩니다. 이는 필요한 작업이나 자원이 준비될 때까지 기다리기 위한 전환입니다.
    • 준비 상태로 전환:
      타임 슬라이스(Time Slice)가 끝나거나 인터럽트가 발생하면, 실행 상태에서 준비 상태로 전환됩니다. 이는 다른 프로세스가 CPU를 사용할 수 있도록 하기 위해 발생합니다.
  • Waiting (대기 상태) :
    • 프로세스가 실행 중에 I/O 작업이나 다른 이벤트를 기다릴 때, 해당 상태로 전이됩니다. 예를 들어, 파일 읽기/쓰기, 사용자 입력 등을 기다리는 동안 대기 상태에 있을 수 있습니다.
    • 입출력 작업 또는 특정 자원이 필요하게 되면 프로세스는 대기 상태로 전환됩니다. 이는 필요한 작업이나 자원이 준비될 때까지 기다리기 위한 전환입니다.
  • Terminated (종료 상태) :
    • 프로세스가 실행을 완료하고 종료된 상태입니다. 이 상태에 도달하면 프로세스는 더 이상 실행되지 않습니다.
    • 프로세스의 작업이 완료되면, 프로세스는 종료 상태로 이동합니다. 이는 프로세스 수명 주기의 끝입니다.

2️⃣ 프로세스 상태 전이

  • New → Ready :
    • 프로세스가 생성되면, 준비가 끝난 후 Ready 큐에 들어갑니다. 이제 CPU가 할당되기를 기다립니다.
  • Ready → Running :
    • 운영체제의 스케줄러가 Ready 큐에서 프로세스를 선택하여 CPU를 할당하면, 해당 프로세스는 Running 상태로 전이됩니다.
  • Running → Waiting :
    • 실행 중인 프로세스가 I/O 작업 또는 다른 이벤트를 기다릴 때, Running 상태에서 Waiting 상태로 전이됩니다.
  • Waiting → Ready :
    • I/O 작업이나 이벤트가 완료되면, Waiting 상태의 프로세스는 Ready 상태로 돌아갑니다.
  • Running → Ready :
    • 선점형 스케줄링을 사용하는 시스템에서는 실행 중인 프로세스가 CPU를 강제로 반납하고 Ready 큐로 돌아갈 수 있습니다. 예를 들어, 시간 할당량(Time Slice)이 초과된 경우입니다.
    • [참고] 프로세스 스케줄링 ▼
 

[정보처리기사] 프로세스 스케줄링 | 선점 스케줄링 기법, 비선점 스케줄링 기법 | 2020년 정보처

프로세스 스케줄링이란?프로세스 스케줄링은 운영체제에서 CPU를 프로세스들에게 효율적으로 배정하는 기술입니다. 여러 개의 프로세스가 실행 대기 상태에 있을 때, CPU를 어떻게 분배할 것인

august-jhy.tistory.com

 

  • Running → Terminated :
    • 프로세스가 실행을 완료하면 종료되고 Terminated 상태로 전이됩니다.

2020년 4회 정보처리기사 실기 기출문제

문제

다음 프로세스 상태 전이도의 빈 칸 (1)~(3)에 알맞은 프로세스 상태를 각각 쓰시오.

정답

1. 준비
2. 실행
3. 대기

해설

프로세스 상태 전이는 운영체제가 프로세스를 효율적으로 관리하기 위해 정의된 상태 변화입니다.

1. 준비(Ready)

  • 프로세스가 CPU를 사용할 준비가 된 상태입니다.
  • 실행을 대기하는 상태로, CPU를 할당받기 전까지 대기하고 있는 프로세스입니다. Ready 상태에 있는 프로세스는 언제든지 CPU를 할당받을 수 있습니다.
  • CPU 스케줄러에 의해 선택될 때까지 Dispatch를 대기합니다. CPU 사용이 가능해지면 Dispatch를 통해 실행 상태로 전이됩니다.

2. 실행(Running)

  • 프로세스가 CPU를 할당받아 실제로 실행 중인 상태입니다. 이 상태에서 프로세스는 명령을 수행하고 계산 작업을 처리합니다.
  • 실행 중 타임 슬라이스가 끝나거나 인터럽트가 발생하면 Time run out을 통해 준비 상태로 전환됩니다.
  • 입출력 작업과 같은 대기 작업이 필요하면 Block을 통해 대기 상태로 전환됩니다.
  • 실행이 끝나면 종료 상태로 전이됩니다.

3. 대기(Waiting)

  • 프로세스가 입출력 작업이나 특정 자원을 기다리는 상태입니다. CPU 외의 다른 자원(예: 디스크, 프린터 등)을 필요로 할 때, 프로세스는 실행 상태에서 대기 상태로 전환됩니다.
  • 이 상태에서는 작업이 완료되기를 기다리며, 자원이 준비되면 Wake Up을 통해 다시 준비 상태로 전환됩니다.
  • 대기로 전환(Block): 실행 중이던 프로세스가 입출력 작업이나 특정 이벤트를 요청할 때 실행 상태에서 대기 상태로 전환됩니다.
  • 준비로 전환(Wake Up): 대기 작업(예: 입출력 작업)이 완료되거나 필요한 자원이 확보되면 대기 상태에서 준비 상태로 전환됩니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형