# 운영체제 과제
---
#### 05.25 (코드 리뷰 및 업무 분담)
1. 여인수
- https://replit.com/join/nwoshttdyq-insu12
- cpp로 구현
- 참고 사이트: https://ddonglabb.tistory.com/38
- 다른 스케줄링 알고리즘 및 Process priority 제거
- 프로세스 수를 입력 -> 각 프로세스의 도착 시간, Burst Time 입력 -> Time Quantum입력
- 결과: 
- 테스트 케이스 1: Quantum이 작은 경우 (최소 1이므로 1로 할 생각)
: Quantum이 작으면 context switching이 너무 많이 일어나서 Dispather delay 증가 및 Context switching 비용 증가 ()
- 테스트 케이스 2: Quanutm이 큰 경우 (burst time이 제일 큰 프로세스를 기준으로 할 생각)
: FCFS가 되어 버림
- 테스트 케이스 3: Quantum이 적당한 경우(리눅스의 CFS 적용)
: 모든 프로세스가 한 번은 스케줄링하게 됨과 동시에 Time Quantum을 최소로 하는 값을 찾는다.
- 최적의 Quautum값 계산 (리눅스의 CFS 방법 응용)
:
- 결론: Time Slice가 너무 짧으면 반응성은 좋지만 context-switching이 너무 자주 일어나서 오버헤드가 길어지고, Time slice가 너무 길면 context-switching은 최소화되지만 반응 시간이 길어져 실시간 서비스에 적합하지 않음. 그래서 RR에서는 최적의 time slice 값을 찾아서 기능을 최적화 해야하는 것이 중요하다.