https://programmers.co.kr/learn/courses/30/lessons/42627
운영체제 스케쥴링 알고리즘
CJSF 알고리즘
First Come First Start
" 온 순서대로 업무를 처리한다. "
단점: waiting time 이 길다.
SJF 알고리즘
Shortest Job First
"소요 시간이 짧은 업무부터 처리한다. "
장점: waiting time 이 단축된다.
단점: 미래에 올 업무의 소요 시간을 예측할 수 없어 실제로 사용할 순 없다.
Priority Scheduling
" 우선순위에 따라 업무를 처리한다. "
단점: 우선순위가 낮은 업무는 영원히 처리되지 않을 수도 있다!
해결책: 우선순위를 갱신해준다 (aging)
문제풀이
해당 알고리즘 문제는 SJF 알고리즘을 이용하여 풀 수 있다.
(고려사항)
1. 소요 시간이 짧은 업무부터 처리한다.
2. 업무를 수행하지 않는 상황이라면 먼저 들어온 업무를 수행한다.
3. 업무를 수행하는 중에 들어온 업무에 대하여 : 소요 시간 순으로 자동 정렬해주는 heap을 사용한다.
4. 업무가 시작하는 시간과 끝나는 시간을 갱신하는 방법을 생각한다.
github 링크[클릭]
'오늘의 공부 > 코딩테스트' 카테고리의 다른 글
[Hacker Rank] Sherlock and Anagrams (0) | 2020.05.09 |
---|---|
[HackerRank] New Year Chaos (0) | 2020.05.09 |
네트워크 Graph, BFS 알고리즘 (0) | 2020.02.27 |
[프로그래머스] 조이스틱 (0) | 2020.02.26 |
[프로그래머스] level 1 - 체육복 (0) | 2020.02.26 |