<aside> 🔗 github : https://github.com/oyes8/pintos-kaist
</aside>
Threads
, Context Switching
, Scheduler
, Synchronization
4BSD
, nice
, TCB
, MLFQS
, 4BSD
, QEMU
Alarm clock
**Priority Scheduling
**condv
**Advanced Scheduler
**11.11
권영진 교수 강의, P6
Alarm 시작
11.12
P6
Alarm 달리기
—-저녁—-
11.13
P6
Alarm 끝
타이머 인터럽트
함수가 매 tick 마다 호출되면서 전역 tick을 하나씩 올려준다. 이것은 cpu 의 tick과 동일하게 올라간다.Ctrl + C
가 먹지 않음)11.14
P7
Priority Scheduling 시작
11.15
P8
schdlng & sync
—-저녁—-
P9
1줄이상 구현시작Condvar
Monitor으로도 불리는 방식이다
Waiters안에 semaphore가 있고, 그 속에 value와 semaphore가 있다.
semaphore의 wait_list는 하나의 elem만 들어갈 수 있다. 우리의 Condvar는 Binary-monitor방식으로 구현되어 있기 때문이다.
Condvar 장점
compare함수에 인자로 전달할 때는, 해당 요소가 어떤 struct인지 잘 생각해보아야 한다.(thread? sema?)