강의 소개
현재 수강하고 있는 KOCW 내 이화여자대학교 운영체제(2017, 반효경) 강의의 내용을 정리하였습니다.
개발자 관점에서 운영체제 기초를 학습하는 무료 강의로 자세한 강의 내용은 수강을 추천드립니다.
CPU 스케줄링 알고리즘의 평가 방법
앞서 다양한 알고리즘이 있었다. 이 알고리즘의 성능을 평가할 때 어떻게 평가를 진행하는지 알아본다.
1. 큐잉 모델(Queueing moel)
이론적인 방법으로 CPU스케줄링뿐 아니라 컴퓨터 시스템과 관련하여 예전에 사용하던 방식이다.
확률 분포를 통해 프로세스들의 도착률과 CPU의 처리율을 수식에 대입하여 각종 성능 지표인 CPU의 처리량, 프로세스의 평균 대기 시간 등을 계산한다.
2. 구현(Implementation)과 성능 측정(Measurement)
직접 운영체제의 커널의 소스를 수정하여 측정하는 방법이다.
운영 체제 커널의 소스 코드 중에서 CPU 스케줄링을 수행하는 코드에 알고리즘을 넣어 즉, 수정해서 커널을 컴파일한 후 시스템에 설치한다. 그런 다음 동일한 프로그램을 원래 커널과 CPU 스케줄러를 수정한 커널에서 수행해 보며 성능을 직접 측정한다.
3. 시뮬레이션
가상으로 CPU 스케줄링 알고리즘의 원칙을 만들어서 계산해보는 것이다. 특정 작업 요청이 있을 때(특정 작업을 trace라 한다.) 어느 정도 걸리는지 확인한다.
이렇게 가상으로 평균 대기시간을 구해주는 등의 프로그램을 시뮬레이터라 한다.
새로 만든 알고리즘과 기존 운영체제의 시뮬레이터를 만들어 성능을 알아보는 것이다.
이때, 대입할 입력값인 trace의 신빙성을 위해서 실제 시스템에서 추출하기도 한다. trace에 프로세스가 언제 CPU를 요청하는지 등 실제 시스템을 대변할 수 있는 구체적인 정보가 있으면 시뮬레이션의 신빙성이 높아진다.
출처: 운영체제와 정보기술의 원리(반효경 저)
'교육, 학습 > CS스터디_반효경 운영체제' 카테고리의 다른 글
운영체제 - 경쟁조건(Race Condition)의 발생: 동기화의 문제점 (0) | 2022.01.15 |
---|---|
운영체제 - CPU스케줄링 알고리즘(선점형, 비선점형) (0) | 2022.01.15 |
운영체제 - CPU스케줄링이 필요한 이유, CPU스케줄링 성능척도 (0) | 2022.01.08 |
운영체제 - CPU burst와 I/O burst, CPU bound job과 I/O bound job (0) | 2022.01.08 |
운영체제 - 프로세스 관련 시스템 콜(fork, exec, wait, exit) (0) | 2022.01.08 |
댓글