X

프로세스 상태 전이

I. 프로세스 상태 전이도

가. 프로세스 상태 전이도

  • 멀티 프로세스 시스템 사용 시 프로세스 생성 ~ 종료까지 성능 최적화를 위한 프로세스 제어 기법

나. 프로세스 상태

상태 설명
생성
(Created)
– 프로세스 최초 상태로, 주기억장치 적재되지 않고
보조 기억 장치에 저장되어 있는 실행 파일 상태
준비
(Ready)
– 프로세스가 CPU를 사용하여 실행 준비 된 상태
– 프로세스 상태 리스트 중 준비 리스트에 들어감
– 프로세스가 우선순위에 의해 정렬됨
실행
(Running)
– 프로세스가 CPU를 차지하여 실행중인 상태
– 명령어들이 실행되고 있는 상태
대기
(Waiting)
– 기다림(waiting) 또는 블록(block) 상태
– I/O 동작의 완료 등 사건 발생을 기다리는 상태
– 프로세스 상태 리스트 중 블록 리스트에 들어감
종료(Exit) 프로세스 실행이 완료되어 자원을 반납한 상태

II. 프로세스 상태 전이

상태 전이 전이 과정 설명
Dispatch 준비→실행 – 프로세스 생성 상태에서 프로세서만 할당 받으면 실행 상태로 전이 과정
– 준비 프로세스 중 하나가 CPU 할당 받아 실행 상태로 전이
– 스케줄링 알고리즘에 의해 수행
Timeout 실행→준비 – 일정 시간이 지나면 스케줄러에 의해 PCB에 저장, 프로세서 반납 후 준비 상태로 전이
Block 실행→슬립 – I/O 등의 자원 요청 후 즉시 할당 받을 수 없어, 할당 받을 때까지 기다리고 있는 상태로 전이
– I/O 처리는 CPU가 아닌 I/O 프로세스가 담당하기 때문에 발생
Wake up
(조건만족)
슬립→준비 – 필요한 자원이 할당되면 프로세스는 준비 상태로 전이
– 장치 관리자로부터 신호 또는 페이지 인터럽트 처리 의해 발생
– 준비 리스트의 맨 뒤에 붙음
Swap-out
(suspend)
준비→지연
대기→지연
– 프로세스 생성 후 메모리 부족, 또는 준비 상태의 프로세스가 기억장치를 잃은 경우 커널에 의해 메모리를 회수 당하고 중단 상태인 디스크로 Swap-out 됨
Swap-in
(resume)
지연→준비
지연→대기
– 기억장치가 다시 할당되는 경우, 지연 준비 상태로 전이, 디스크에서 다시 활동 상태인 메모리 영역으로 Swap-in됨
Suspend
/ Resume
– 지연대기상태(suspendedasleep)도 지연준비상태(suspendedready)처럼 suspend/resume 되며 I/O 작업 요청이 완료되면 Wake up에 의해 지연준비상태(suspended ready)로 전이됨

 

III. 프로세스 지연상태 발생원인

구분 발생원인 설명
시스템
용량확보
측면
자원
절감
– 시스템 부하 시 리소스 절감하기 위해 프로세스 지연 상태 발생
메모리 확보 – 커널에 의해 메모리 회수 후
중단 상태로 Swap-out
대기 지연 – I/O, 인터럽트 발생 후 대기 시간 증가 시 중단 상태로 Swap-out
시스템
성능확보
측면
CPU
스케줄링
– CPU 스케줄링 알고리즘에 따라 타 프로세스 할당 위해 Swap-out
성능 회복
목적
– 실행 중 프로그램이 많거나 커서 시스템 성능 하락 경우 지연 발생
시스템
안정성
측면
프로세스
의심
– 프로세스의 특정 부분 의심 시
확인 목적으로 지연 발생
시스템
장애
– 시스템 장애 발생 시
장애 제거 목적으로 중단
  • 프로세스 상태 전이 절차는 멀티 프로세스 시스템의 용량, 성능, 안정성위해 진행되며 최적화방안 존재

 

IV. 멀티 프로세스 시스템 효율화 방안

구분 방안 설명
H/W
측면
하이퍼스레딩 기술 적용 – 여러 프로세스가 동시에 처리 되도록 파이프라인 효율화
NUMA 아키텍처 – 공유 캐시 메모리를 이용하여 다중 프로세스 처리 시 성능 향상
S/W
측면
Multi-Thread 사용 – 효율적 자원 공유 가능
– 태스크가 분리되어 간결한 코드
병행 처리 기법 고도화 – 동시에 여러 프로세스가 병행 처리되도록 프로그램 개발
  • Multi-Thread는 복잡성 및 동기화 문제가 발생하므로 임계영역, 세마포어 등 동기화 기법 적절 활용 필요
  • 멀티 프로세스 시스템은 근본적으로 Context Switching으로 인해 성능저하가 발생하므로 근본 원인 차단이 중요
Categories: CA/운영체제
도리:

View Comments (1)