리눅스 스케줄링 알고리즘 CFS를 위한 시뮬레이션 모델
暂无分享,去创建一个
스케줄러는 CPU 자원을 프로세스들에게 분배하는 주요한 운영체제의 일부분이다. 2007년 발표 된 리눅스 커널 2.6.23의 스케줄러인 CFS(Completely Fair Scheduler)는 RSDL(Rotating Staircase Deadline) 스케줄러를 기초로 한 RB-트리(Red-Black Tree) 데이터구조를 사용하는 O(log n) 성능을 가지는 스케줄러이다. CFS는 실제 하드웨어 상에서 이상적이고 정확한 다중 태스킹(multi-tasking)을 모델로 하며 대화형 태스크의 성능을 저해하지 않으면서 CPU 자원을 공정하게 분배하려는 목적으로 만들어졌다. 아울러 CFS는 시간단위로 나노초를 사용하여 종래의 타임 슬라이스 개념을 없애고 프로세스가 대화형인지를 판단하는데 사용하는 경험적 지식들의 사용을 최소화 하였다. 본 논문에서는 CFS의 주요 이론을 살펴보고 CFS의 시뮬레이션 모델을 구축한 다음, 그 결과를 측정된 프로세스 처리량 및 계산으로 예상되는 값과 비교 검토해 보고자 한다. 구축된 모델은 CFS의 성능을 검정하는데 사용할 수 있을 뿐만 아니라 주요 변수를 변화 시켜 성능을 예측하는데 사용할 수 있을 것이다.