
PintOS
Project 1 : Alarm clock - BeAPro
Alarm clock /* tests/thread/alarm-priority.c */ .... timer_sleep (wake_time - timer_ticks ()); alarm을 테스트하는 c파일에서는 timer_sleep() 함수를 불러온다. 현재 PintOS는 busy waiting 방식으로 알람이 구현되어 있다. void timer_sleep (int64_t ticks) { int64_t start = timer_ticks (); ASSERT (intr_get_level () == INTR_ON); while (timer_elapsed (start) < ticks) thread_yield (); } busy waiting 방식은 아무것도 하지 않는 쓰레드가 CPU를 점유하고 있는 매우 비효율적인..