스케줄링 알고리즘
1.선착순 알고리즘 : 먼저 오는 프로세스에게 먼저 프로세서를 할당
2.비선점 : 안뺏김
3. 일괄 시스템에 적합, 대화형 시스템에 부적합
즉, CPU가 계~속 일할 수 있다는 뜻, 하지만 그만큼 응답시간이 김.
burst time : 실행시간
2번때문에 그 뒤에 애들이 오래기다림 왜냐면 선착순이니까, 끝날때까지 기다려야함 ㅠ
RR
-Ready Queue기준 먼저 도착한 프로세스를 먼저 처리
-자원사용에 제한시간이 있음
-독점 방지를 위해
밑으로 다시 돌아오는 화살표가 추가 된 이유 : 제한시간이 존재하여, 일정시간 CPU를 쓴다음에 ->
다음 친구도 써야되니까 -> 맨뒤로 다시 가서 시간을 또 할당 받음
1번 들어가고 -> 나오고 -> 2번이 있으면 2번 들어갔다가 -> 2번 나오고 -> 3번 없으면 -> 1번 다시 들어가고~~
SPN(Shortest-Process-Next)
-Burst time이 가장 짧은 친구부터 처리하자~
장점 : 평균 대기시간 최소화, 시스템내 프로세스 수 최소화(짧은거 빨리빨리 빼내줬으니까), 메모리 절약
단점 : 무한대기 현상 발생 (길이가 긴 프로세스는 자원을 할당 받지 못 할 수 있음 (Non-preemption(비선점))
, 정확한 실행시간을 알 수 없음
SRTN(Shortest Remaining Time Next)
-남은 시간이 가장 적은 너석을 가장 빨리 해줌 (선점)
단점 : 프로세스 생성시, 총 실행 시간 예측이 필요함, 잔여 실행을 계속 추적해야함
즉, 구현 및 사용이 비현실적
HRRN(High-Response-Ratio-Next)
-SPN의변형
-프로세스의 대기 시간(Waiting Time)을 고려하여 기회를 제공(Aging concepts : 나이가 많은 애를 배려하자)
MLQ(Multi-Level-Queue)
-작업(or 우선순위)별 별도의 ready Queue를 둠 (이때까지 애들은 다 하나임)
-Queue사이에는 우선순위 기반의 스케줄링 사용
장점 : 빠른 응답시간(?) X 중요한 애들은 빨리 처리해줌, 중요하지 않은 애들은...Bye
단점 : 여러개의 Queue관리 등 스케줄링 overhead,
MFQ(Multi-Level Feedback Queue)
-프로세스의 Queue간 이동이 허용됨
-Feedback을 통해 우선 순위 조정(현재까지의 프로세서 사용 정보,패턴 활용)
'개발언어 > JAVA' 카테고리의 다른 글
안드로이드 메모 + 음성녹음 앱 (2) | 2021.03.13 |
---|---|
안드로이드, 자바 개념 정리2 (0) | 2021.02.09 |
안드로이드, 자바 개념 정리 (0) | 2021.01.26 |
안드로이드 골뱅이 쓰는이유 (0) | 2021.01.13 |
안드로이드 getinstance() 란? (0) | 2021.01.13 |