SJF
-
Operating System - CPU SchedulingComputer Science/Operating System 2022. 1. 14. 14:30
CPU Scheduling CPU Scheduling이란? ㆍ 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업을 의미한다. CPU Scheduling의 목적 ㆍ 공정한 스케줄링, 처리량의 극대화, 응답 시간의 최소화 ㆍ 균형 있는 자원의 사용, 프로세스 실행의 무한한 연기를 배제, 반환시간 예측 가능 Scheduling Criteria 스케줄링의 척도 1. CPU Utilization(CPU 이용률) : CPU가 얼마나 놀지 않고 부지런히 일하는가 2. Throughput(처리율) : 시간 단위당 실행을 완료한 프로세스의 수 (시간당 몇 개의 작업을 처리하였는가) 3. Turnaround Time(반환시간) : 작업이 Ready Queue에 처음 들어갔을 때부터..
-
CPU 스케줄링 기법들의 구현 및 벤치마킹 프로그램을 통한 모의실험Projects/Toy Projects 2021. 9. 23. 10:27
프로젝트의 목적 ㆍ 다양한 스케줄링 알고리즘을 직접 구현해 봄으로써 각 스케줄링 기법의 동작 과정을 이해한다. ㆍ 각 스케줄링 알고리즘의 간트차트를 분석하여 특성을 파악한다. ㆍ 구현한 프로그램을 통해 모의실험을 함으로써 각 스케줄링 알고리즘을 평가해 본다. 프로젝트의 내용 ㆍ 여러 가지 스케줄링 기법에 대응하는 벤치마킹 프로그램을 구현한다. ㆍ 구현한 벤치마킹 프로그램을 이용해 모의실험을 진행한다. ㆍ 모의실험을 통해 각각의 스케줄링 기법을 평가한다. 스케줄링 알고리즘의 테스트 ㆍ 각 스케줄링 알고리즘을 공평하게 평가하기 위하여 위 표와 같은 입력 예제를 각 스케줄링 알고리즘에게 동일하게 주어 테스트를 진행하였다. ㆍ 도착시간을 고려하지 않고 구현한 Round Robin 스케줄링은 형평성을 위해 테스트..