프로세스의 상태

헬리코박도·2022년 4월 20일
0

운영체제

목록 보기
7/10

프로세스의 상태

프로세스의 상태는 자원 간의 상호작용에 의해 결정됨

Created

  • Job을 커널에 등록한 상태
  • PCB가 할당되고 프로세스가 생성됨
  • 이 단계에서 커널은 가용 메모리를 체크하여 ready나 suspended ready 상태로 전이시킴

Active(Swapped in)

  • 메모리가 할당된 상태
  • Swap-out(suspended): 메모리 할당 해제되어 Suspended 상태로

Ready

  • 프로세서 할당 대기 상태
  • 메모리와 기타 필요한 자원이 모두 할당되어 있음
  • 프로세서만 할당 받으면 즉시 실행이 가능함

Running

  • 프로세서와 자원을 모두 할당 받은 상태
  • Preemption: Running -> Ready, 타임아웃이나 우선순위 등 프로세서 스케쥴링에 의해 발생
  • Block/Sleep: Running -> Asleep/Blocked, I/O 작업이 발생하면 발생

Blocked/Asleep

  • 프로세서 외에 다른 자원을 기다리는 상태
  • 메모리는 할당 되었으나 기타 자원 할당 X
  • Wake-up: Asleep/Blocked -> Ready, 바로 Running으로 가지 않음

Suspended(Swapped out)

  • 메모리가 할당되지 않은 상태
  • 메모리 이미지를 스왑 디바이스(프로그램 정보 저장을 위한 특별한 파일 시스템)에 보관함
  • Swap-in(resume): 메모리 할당하여 Active 상태로

Suspended ready

  • Ready 상태에서 메모리가 없을 때

Suspended blocked

  • Blocked 상태에서 메모리가 없을 때
  • Wake-up: Suspended blocked -> Suspended ready

Terminated/Zombie

  • 프로세스 수행이 끝난 상태
  • 모든 자원을 반납함
  • 커널 내에 일부 PCB 정보 남아 있음: 이후 프로세스 관리를 위해 정보를 수집하는 단계
  • 이후 완전 제거됨

한기대 김덕수 교수님 강의 복습용으로 만들어졌습니다.

profile
Data Engineer

0개의 댓글