본문내용
RT(Shortest Remaining Time), MFQ(Multilevel Feedback Queue) 등이 있다. 이 중 RR에 대해 조금 더 자세히 알아보고 앞에서 FIFO를 적용한 문제에 다시 사용해보고자 한다.
RR 알고리즘은 프로세스를 Time Slice 동안만 실행하며, 우선순위를 따로 배정하지 않고 들어온 순서대로 작업하기 때문에 Time Slice가 실행시간보다 큰 경우 FIFO와 완전히 같은 과정을 보여주는 알고리즘이다.
FIFO에 Time Slice를 적용한 FIFO의 개선 알고리즘이기도 하다. FIFO 방식에서 먼저 도착한 프로세스가 긴 시간 동안 CPU를 차지하는 경우 필요한 CPU사이클이 얼마 되지 않는 가벼운 프로세스임에도 불구하고 처리하기까지 오랜 시간이 걸릴 수 있다는 문제점을 Time Slice 만큼의 시간씩만 프로세스에 할당하는 것으로 해결하였다.
Time Slice가 2사이클인 경우의 RR을 2-(1), 2-(2)의 문제에 적용한 경우 작업 과정을 시점과 함께 표시한 결과는 다음과 같다.
RR 알고리즘을 적용하게 되는 경우 A-B-C-D-E-A-B-E-A의 순서로 작업을 하게 된다. 반환시간은 도착 후 반환하는 데까지 걸리는 시간으로 프로세스가 끝나는 시간에서 도착시간을 빼는 것으로 구할 수 있다.
Time Slice: 2사이클
시간
상황
0사이클
프로세스 A 시작
2사이클
프로세스 A 중단, 프로세스 B 시작
4사이클
프로세스 B 중단. 프로세스 C 시작
5사이클
프로세스 C 종료, 프로세스 D 시작
7사이클
프로세스 D 종료, 프로세스 E 시작
9사이클
프로세스 E 중단, 프로세스 A 시작
11사이클
프로세스 A 중단, 프로세스 B 시작
12사이클
프로세스 B 종료, 프로세스 E 시작
14사이클
프로세스 E 종료. 프로세스 A 시작
16사이클
프로세스 A 종료
프로세스
CPU사이클
도착시간
대기시간
반환시간
A
6
0
2+1+2+2+1+2=10
16-0=16
B
3
2
1+2+2+2=7
12-2=10
C
1
3
1
5-3=2
D
2
5
0
7-5=2
E
4
7
2+1=3
14-7=7
따라서 프로세스 A의 반환시간은 160=16사이클, 프로세스 B의 반환시간은 122=10사이클, 프로세스 C의 반환시간은 53=2사이클, 프로세스 D의 반환시간은 75=2사이클, 프로세스 E의 반환시간은 147=7사이클이다. 평균 반환시간은 (16+10+2+2+7)/5=7.4사이클이다.
RR 알고리즘은 프로세스를 Time Slice 동안만 실행하며, 우선순위를 따로 배정하지 않고 들어온 순서대로 작업하기 때문에 Time Slice가 실행시간보다 큰 경우 FIFO와 완전히 같은 과정을 보여주는 알고리즘이다.
FIFO에 Time Slice를 적용한 FIFO의 개선 알고리즘이기도 하다. FIFO 방식에서 먼저 도착한 프로세스가 긴 시간 동안 CPU를 차지하는 경우 필요한 CPU사이클이 얼마 되지 않는 가벼운 프로세스임에도 불구하고 처리하기까지 오랜 시간이 걸릴 수 있다는 문제점을 Time Slice 만큼의 시간씩만 프로세스에 할당하는 것으로 해결하였다.
Time Slice가 2사이클인 경우의 RR을 2-(1), 2-(2)의 문제에 적용한 경우 작업 과정을 시점과 함께 표시한 결과는 다음과 같다.
RR 알고리즘을 적용하게 되는 경우 A-B-C-D-E-A-B-E-A의 순서로 작업을 하게 된다. 반환시간은 도착 후 반환하는 데까지 걸리는 시간으로 프로세스가 끝나는 시간에서 도착시간을 빼는 것으로 구할 수 있다.
Time Slice: 2사이클
시간
상황
0사이클
프로세스 A 시작
2사이클
프로세스 A 중단, 프로세스 B 시작
4사이클
프로세스 B 중단. 프로세스 C 시작
5사이클
프로세스 C 종료, 프로세스 D 시작
7사이클
프로세스 D 종료, 프로세스 E 시작
9사이클
프로세스 E 중단, 프로세스 A 시작
11사이클
프로세스 A 중단, 프로세스 B 시작
12사이클
프로세스 B 종료, 프로세스 E 시작
14사이클
프로세스 E 종료. 프로세스 A 시작
16사이클
프로세스 A 종료
프로세스
CPU사이클
도착시간
대기시간
반환시간
A
6
0
2+1+2+2+1+2=10
16-0=16
B
3
2
1+2+2+2=7
12-2=10
C
1
3
1
5-3=2
D
2
5
0
7-5=2
E
4
7
2+1=3
14-7=7
따라서 프로세스 A의 반환시간은 160=16사이클, 프로세스 B의 반환시간은 122=10사이클, 프로세스 C의 반환시간은 53=2사이클, 프로세스 D의 반환시간은 75=2사이클, 프로세스 E의 반환시간은 147=7사이클이다. 평균 반환시간은 (16+10+2+2+7)/5=7.4사이클이다.
추천자료
중소기업의 마케팅 강화를 위한 정보화 지원과제
운영체제 연습문제 풀이
컴퓨터과학개론 한금희,함미옥 공저 3장 연습문제
ipm(각종 운영체제 보안 바이러스 백신소프트웨어 업그레이드 패치 유지) pms(패치관리시스템)
중국의 WTO가입이 한국경제에 미치는 영향
운영체제의 기억장치 관리전략 및 스케줄링 정책
2018년 1학기 운영체제 중간시험과제물 공통(비선점 스케줄링 정책과 선점 스케줄링 정책)
2019년 1학기 운영체제 중간시험과제물 공통(프로세스의 개념과 다섯가지 상태 등)
2023년 1학기 방송통신대 운영체제 중간과제물)선점 스케줄링 정책과 비선점 스케줄링 정책 ...
소개글