logo

WIL - PintOS:Project1 / Advanced Scheduler

* 관련 기술 스택이 없습니다
emoji

• **MLFQ 스케줄러 구현**: 4.4 BSD 스케줄러의 MLFQ를 큐 없이 구현하며, 스레드의 우선순위를 결정하는 여러 지표들(우선순위, nice 값, recent_cpu)을 계산하는 함수를 작성한다.
• **우선순위 계산 공식 및 코드**: 우선순위는 recent_cpu와 nice 값을 기반으로 계산되며, 관련된 코드와 공식이 제공된다. recent_cpu는 스레드가 최근에 얼마나 CPU를 사용했는지를 나타내며, nice 값은 스레드가 CPU 시간을 양보하는 정도를 나타낸다.
• `recent_cpu`와 `load_avg`는 PintOS에서 고정 소수점을 사용하여 계산되며, `recent_cpu`는 각 스레드의 최근 CPU 사용량을 나타내고, `load_avg`는 지난 1분 동안 실행할 준비가 된 평균 스레드 수를 추정한다.
• 고정 소수점 연산을 위한 매크로들이 정의되어 있으며, 이를 통해 실수 연산을 효율적으로 수행할 수 있다. 예를 들어, `CONV_TO_FIXED`, `CONV_TO_INT_NEAREST`, `ADD`, `SUBTRACT` 등의 매크로가 있다.

thumbnail
북마크
공유하기
신고하기
13분 분량
조회수 167
profile-imagedev.Cuma
일 년 전
Copyright © 2025. Codenary All Rights Reserved.