반응형

스케줄링 알고리즘

 

1.선착순 알고리즘 : 먼저 오는 프로세스에게 먼저 프로세서를 할당

2.비선점 : 안뺏김

3. 일괄 시스템에 적합,  대화형 시스템에 부적합

 

즉, CPU가 계~속 일할 수 있다는 뜻, 하지만 그만큼 응답시간이 김.

burst time : 실행시간

 

2번때문에 그 뒤에 애들이 오래기다림 왜냐면 선착순이니까, 끝날때까지 기다려야함 ㅠ

 

 

RR

-Ready Queue기준 먼저 도착한 프로세스를 먼저 처리

-자원사용에 제한시간이 있음

-독점 방지를 위해

밑으로 다시 돌아오는 화살표가 추가 된 이유 : 제한시간이 존재하여, 일정시간 CPU를 쓴다음에 ->

다음 친구도 써야되니까 -> 맨뒤로 다시 가서 시간을 또 할당 받음

 

2초를 기준으로 할당 받음

1번 들어가고 -> 나오고 -> 2번이 있으면 2번 들어갔다가 -> 2번 나오고 -> 3번 없으면 -> 1번 다시 들어가고~~

 

 

SPN(Shortest-Process-Next) 

-Burst time이 가장 짧은 친구부터 처리하자~

휴지 한장 결제하려고 기다리는 사람

장점 : 평균 대기시간 최소화, 시스템내 프로세스 수 최소화(짧은거 빨리빨리 빼내줬으니까), 메모리 절약

단점 : 무한대기 현상 발생 (길이가 긴 프로세스는 자원을 할당 받지 못 할 수 있음 (Non-preemption(비선점))

         , 정확한 실행시간을 알 수 없음

2번이 두번째로 왔는데 맨 나중에 했음(제일 길어서)

 

SRTN(Shortest Remaining Time Next) 

-남은 시간이 가장 적은 너석을 가장 빨리 해줌 (선점)

단점 : 프로세스 생성시, 총 실행 시간 예측이 필요함, 잔여 실행을 계속 추적해야함

 

즉, 구현 및 사용이 비현실적

 

HRRN(High-Response-Ratio-Next)

-SPN의변형

-프로세스의 대기 시간(Waiting Time)을 고려하여 기회를 제공(Aging concepts : 나이가 많은 애를 배려하자)

필요한 BT대비 얼마나 기다렸는가, 실행시간예측 기법 필요

 

 

Basic Scheduling Algorithms

 

MLQ(Multi-Level-Queue)

-작업(or 우선순위)별 별도의 ready Queue를 둠 (이때까지 애들은 다 하나임)

-Queue사이에는 우선순위 기반의 스케줄링 사용

장점 : 빠른 응답시간(?) X 중요한 애들은 빨리 처리해줌, 중요하지 않은 애들은...Bye

단점 : 여러개의 Queue관리 등 스케줄링 overhead, 

 

 

 

MFQ(Multi-Level Feedback Queue)

-프로세스의 Queue간 이동이 허용

-Feedback을 통해 우선 순위 조정(현재까지의 프로세서 사용 정보,패턴 활용)

하위 큐로 이동 할 경우도 있음.

 

반응형

+ Recent posts