-mlfqs
옵션으로 활성화됨thread_mlfqs
가 true
일 때 MLFQS 사용thread_set_priority()
와 thread_get_priority()
는 무시되거나, 현재 계산된 우선순위를 리턴해야 함int nice
: -20 ~ 20, 기본값은 0. 부모 스레드로부터 상속.fixed_point recent_cpu
: 스레드가 최근에 얼마나 CPU를 사용했는지 나타내는 값.아무래도 아래 값은 스레드 구조체에 포함되는 속성이 아니라 시스템 전체에 대해 사용하는 값이다보니 전역 변수로 두는 듯 하다.
fixed_point load_avg
: 시스템 전체의 평균 ready thread 수priority = PRI_MAX - (recent_cpu / 4) - (nice * 2)
yield()
필요.