<aside>
🔗 github : https://github.com/oyes8/pintos-kaist
</aside>
깃허브 세팅 : 방법1 과 방법2 중 선택해서 하기
❗️👀Topic
- MAJOR:
Threads
, Context Switching
, Scheduler
, Synchronization
- Minor:
4BSD
, nice
, TCB
, MLFQS
, 4BSD
, QEMU
⁉️🧐오예스의 target
- [x] 🚨**
Alarm clock
**
- [x] 📝**
Priority Scheduling
**
- [x] 👻**
condv
**
- [ ] ☠️**
Advanced Scheduler
**
📕Ref.
FRI
11.11
권영진 교수 강의, P6
Alarm 시작
- [x] 권교수 강의 듣기
- [x] 과제 이해하기
- [x] 개념탄탄 완료
- [x] 환경셋팅
- 18.04
- QEMU
- gh auth login
- [x] Alarm 1줄이상 코딩
❗️TIL
- ubuntu 18.04에서는 gh auth 를 설치할 때 git tools 를 설치하라는 제안이 나오는데, 이 제안을 따라서는 안된다! gh auth 만 설치해야 함.
SAT
11.12
P6
Alarm 달리기
- [x] ready_list, sleep_list차이인지
- [x] Busywaiting 이해
—-저녁—-
❗️TIL
- busy waiting, sleep / wait 의 차이는 while로 지속적으로 스케줄링 vs 일정 시간 후에 알아서 일어나기
SUN
11.13
P6
Alarm 끝
- [x] GDB
- [x] 디버깅
- [x] Alarm-system 갈무리
Alarm-system done
❗️TIL
타이머 인터럽트
함수가 매 tick 마다 호출되면서 전역 tick을 하나씩 올려준다. 이것은 cpu 의 tick과 동일하게 올라간다.
- interrupt_disable 자주 시키면 생기는 문제
- 프로그래머가 악의적으로 interrupt를 disable시키고, 무한루프를 돌리게 된다면, OS를 Power-off시키지 않는한 어떤 방법으로도 종료시킬 수 없는 프로그램을 만들 수 있음 (
Ctrl + C
가 먹지 않음)
- CPU의 실제 ticks와 slip이 생기므로 사용자들은 sluggy하다고 느낄 수 있음
- 따라서 interrupt_disable은 최소화 시켜야 함
MON
11.14
P7
Priority Scheduling 시작
- [x] Priority 갈무리
- [x] Nested Donation 그림이해
Alarm-Priority done
❗️TIL
최초 빌드시 이슈 공유