IEIP_Note

Process


Process State

프로세스 상태 설명
생성 상태
Create
사용자에 의해 프로세스가 생성된 상태
준비 상태
Ready
CPU 할당 받을 수 있는 상태
준비 리스트: 각각의 우선 순위를 부여하고
가장 높은 순위를 갖는 프로세스가 다음 순서의 CPU 할당 받는다.
실행 상태
Running
프로세스가 CPU 할당 받아 동작, 실행 중인 상태
대기 상태
Waiting
프로세스 실행 중, IO 처리 등으로 인해 CPU 양도하고
IO 처리가 완료될 때까지 대기 리스트에서 기다리는 상태
대기 리스트 : 우선 순위 존재 X
완료 상태
Complite
프로세스가 CPU 할당 받아 주어진 시간 내에
완전히 수행을 종료하는 상태

Process State Transition, 프로세스 상태 전이


Process Scheduling, 프로세스 스케쥴링 ☆☆☆

Process Scheduling의 목적
- 모든 작업에 대한 공평성을 유지해야 한다.
- 처리량 (처리율, CPU 이용률)을 최대화해야 한다.
- 경과 시간의 예측이 가능해야 한다.
- Overhead, 응답시간, 반환시간, 대기시간을 최소화 해야한다.

선점형 스케쥴링 / Preemptive Scheduling
Overhead
=> 프로그램 실행 흐름에서 나타나는 현상 중 하나
=> 프로세스 실행 도중, 다른 프로세스를 실행해야 할 경우가 생겼을 때
	추가적인 시간이나 메모리 등의 자원이 사용되는 현상
=> 특정 기능을 수행하는데 드는 간접적인 시간, 메모리 등의 자원
Time Sharing System 시분할 시스템
- CPU Scheduling과 다중 프로그래밍을 이용해서
- 각 사용자들에게 컴퓨터 자원을 시간적으로 분할하여 
- 이용할 수 있게 하는 대화식 시스템

비선점형 스케쥴링 / Non Preemptive Scheduling
기아 현상 (Starvation 현상)
- 시스템 부하가 많아서 낮은 등급의 준비 Queue에 있는 
	프로세스가 무한정 기다리는 현상

프로세스 교착 상태

교착 상태 (Deadline)

발생 조건 설명
상호 배제
Mutual Exclusive
프로세스가 자원을 배타적으로 점유하여
다른 프로세스가 그 자원을 사용할 수 없는 상태
점유와 대기
Hold & Wait
한 프로세스가 자원을 점유하고 있으면서
또 다른 자원을 요청하여 대기하고 있는 상태
비 선점
Non Preemption
한 프로세스가 점유한 자원에 대해 다른 프로세스가 선점할 수 없고
오직 점유한 프로세스 만이 해제가 가능한 상태
원형 대기
Circular Wait
2개 이상의 Process 간 자원의 점유와 대기가 하나의 원형을 구성한 상태

교착상태 해결 방법

기법 설명 세부 기법
예방
Prevention
상호 배제를 제외한 나머지 교착 상태
발생 조건을 위배, 하는 방안
점유 자원 해제 후
새 자원 요청
회피
Avoidance
교착 상태의 발생 가능성을 배제하지 않고
이를 적절하게 피해나가는 방법
은행원 알고리즘
Wound-wait, Wait-die
발견
Detection
시스템의 상태를 감시 알고리즘 통해서
교착 상태를 검사하는 방법
자원 할당 그래프
Wait for Graph
복구
Recovery
교착 상태가 없어질 때까지
프로세스를 Kill, 순차적으로 제거
희생될 프로세스 선택해야 한다. 기아 상태가 발생
Process Kill
자원 선점
은행원 알고리즘
- 사용자 Process는 사전에 자기 작업에 필요한 자원의 수를 제시하고
- 운영체제가 자원 상태를 감시, 안정 상태인 경우에만 자원을 할당하는
- 교착 상태 '회피' 기법