# 운영체제 과제 --- #### 05.25 (코드 리뷰 및 업무 분담) 1. 여인수 - https://replit.com/join/nwoshttdyq-insu12 - cpp로 구현 - 참고 사이트: https://ddonglabb.tistory.com/38 - 다른 스케줄링 알고리즘 및 Process priority 제거 - 프로세스 수를 입력 -> 각 프로세스의 도착 시간, Burst Time 입력 -> Time Quantum입력 - 결과: ![](https://i.imgur.com/wL8D537.png) - 테스트 케이스 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 값을 찾아서 기능을 최적화 해야하는 것이 중요하다.