[운영체제] CPU 스케줄링 알고리즘

Local Gaji·2023년 6월 19일
0

운영체제

목록 보기
7/15

🎈 1. 선입선출 스케줄링

큐에 삽입된 순서대로 처리 (비선점형)

호위 효과
CPU를 오래 사용하는 프로세스 때문에 뒤에 프로세스들이 계속 기다려야 하는 현상


🎈 2. 최단 작업 우선 스케줄링

사용시간이 짧은 순서대로 처리 (비선점형)


🎈 3. 라운드 로빈 스케줄링

선입선출 스케줄링에 시간 제한 (타임 슬라이스)을 적용한다.
순서대로 CPU를 이용하다가 정해진 시간이 지나면 맨뒤로 쫓겨난다.

타임 슬라이스
각 프로세스가 CPU를 사용할 수 있는 정해진 시간
프로세스마다 타임 슬라이스를 다르게 설정할 수 있으니, 타임 슬라이스를 적절히 설정하는 것이 중요하다


🎈 4. 최소 잔여시간 우선 스케줄링

(최단 작업 우선 스케줄링과 라운드 로빈 스케줄링을 합친 알고리즘)

정해진 타임슬라이스만큼 CPU를 사용하고, 다음 프로세스로는 남아있는 시간이 가장 짧은 프로세스를 선택한다.


🎈 5. 우선순위 스케줄링

프로세스에 우선순위를 부여하고, 높은 우선순위부터 실행

기아 현상 : 우선 순위가 낮은 프로세스가 계속해서 실행이 연기되는 현상
에이징 : 오래 대기한 프로세스의 우선순위를 점차 높이는 방식
기아 현상을 에이징으로 해결할 수 있다.


🎈 6. 다단계 큐 스케줄링

우선순위별로 큐를 따로 두고 사용하는 방식
큐 마다 다른 스케줄링 알고리즘을 사용하거나, 타임 슬라이스를 다르게 설정할 수 있는 장점이 있다.


🎈 7. 다단계 피드백 큐 스케줄링

그런데 에이징을 하면 프로세스의 우선 순위가 바뀔 수 있다고 했다. 다단계 큐 스케줄링 형태에서, 우선순위가 변경된 프로세스들이 다른 큐로 이동할 수 있도록 만든 방식이 다단계 피드백 큐 스케줄링이다.

또 CPU를 오래 사용해야 하는 프로세스들을 한번 실행하고도 타임 슬라이스가 남아있을 수 있다. 이렇게 실행하고 남은 슬라이스들은 낮은 우선순위의 큐로 강등된다.

0개의 댓글