custom_less 함수를 만들어서 list_insert_ordered를 이용하는 식으로 구현해서
ready_list는 항상 priority가 높은 순서대로 관리되게 된다.
timer_interrupt 함수가 tick마다 계속 도는 함수이므로, 거기에 계속 thread 상태를 검사하는 루틴을 넣었다.
원본 코드에서는 무한정 cpu를 점유하는 busy waiting 방식이었던 것에 비해 성능이 좋아졌다.
반응형
'OS > Pintos 개발일지' 카테고리의 다른 글
[Pintos] 1. background (0) | 2018.10.22 |
---|---|
[Pintos 개발일지] Priority scheduling 17/27 tests passed. (2) | 2014.06.01 |
[Pintos 개발일지] [pass] priority-donate-nest (2) | 2014.05.29 |
[Pintos 개발일지] 음...Kernel Panic이나 Unexpected interrupt 0x0E 에러에 대해 (1) | 2014.05.27 |