X

CPU 비선점 스케줄링 기법

I. 타 프로세스 선점 불가, CPU 비선점 스케줄링 기법

가. CPU 비선점 기법의 개념

  • 프로세스 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유가 불가능한 스케줄링 기법

나. CPU 비선점 기법 개요도

II. CPU 비선점 기법

알고리즘 처리방식
우선순위
스케줄링
(Priority)
– 각 프로세스의 우선순위에 따라 CPU 할당
– 동일한 우선 순위는 FCFS 처리
– 우선순위 결정: 관리자에 의한 결정, 자원요구량에 의한 결정, CPU처리 시간에 의한 결정, 시스템에서 보낸 시간에 의한 결정 등 사용
– 우선순위가 높은 작업이 계속적으로 들어오게 될 우선순위가 낮은 프로세스는 Starvation 발생 à Aging 기법으로 해결 가능
기한부
스케줄링
(Deadline)
– 작업들이 명시된 시간이나 기한 내 완료 계획
– 사용자는 작업이 요구하는 정확한 자원 제시
– 작업시간이나 상황 등 정보 미리 예측 어려움
FCFS
(First Come First Service = FIFO)
– 프로세스가 대기큐 도착한 순서에 따라 CPU 할당
– 가장 간단한 FIFO(First Input First Out) 알고리즘
– Burst time이 긴 프로세스가 CPU 독점
– 단독적 사용이 거의 없으며, 다른 스케줄링 알고리즘에 보조적으로 사용(우선순위, RR 등)
SJF
(Shortest Job First)
– 준비 큐 내 수행시간이 가장 짧은 프로세스 수행
– CPU Burst 길이를 비교하여 CPU 이용 가능해지면 가장 작은 CPU Burst를 가진 프로세스 할당
– 주어진 프로세스 집합에 대해서 평균 대기 시간이 최소가 되는 최적 알고리즘
– CPU 요구 시간이 긴 작업과 짧은 작업 간 불평등 심하여, CPU 요구 시간 긴 프로세스는 Starvation 발생 → HRN 사용
HRN
(Highest Response Ratio Next)
– 응답 비율 = (대기시간+서비스 시간)/서비스 시간
– 대기중인 프로세스 중 현재 Response Ratio 가 가장 높은 것을 선택
– SJF의 약점을 보완한 기법으로 긴 작업과 짧은 작업 간 불평등 완화
– 우선순위 계산식 = (대기 시간 + 서비스 시간) / 서비스 시간

 

III. CPU 선점과 비선점 기법 비교

구분 선점(Preemptive)
스케줄링
비선점(Non-preemptive)
스케줄링
개념 – 우선순위가 높은 다른 프로세스가 현재 프로세스를 중지 시키고 자신이 CPU 점유 – 한 프로세스가 CPU를 할당 받으면 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유불가
특징 – 하드웨어(Timer) 필요
– 공유 데이터에 대한 프로세스 동기화 필요
– 특수 하드웨어(Timer) 없음
– 종료 시까지 계속 CPU 점유
장점 – 비교적 빠른 응답
– 대화식 시분할 시스템에 적합
– 응답시간 예상이 용이
– 모든 프로세스에 대한 요구를 공정하게 처리
단점 – 높은 우선순위 프로세스들이 들어오는 경우 오버헤드를 초래 – 짧은 작업을 수행하는 프로세스가 긴 작업 종료 시까지 대기
알고리즘 Round Robin, SRT, 다단계 큐, 다단계 피드백 큐 우선순위 스케줄링, 기한부 스케줄링, FCFS, SJF, HRN
활용 – 실시간 응답 환경, Deadline 응답 환경 – 처리시간 편차가 적은 특정 프로세스 환경

 

Categories: CA/운영체제
도리: