Alarm clock
Busy waiting으로 구현되어있던 thread를 sleep 시키는 기능을, sleep / wake-up으로 구현했다. CPU자원을 효율적으로 쓸 수 있었다.
Priority Scheduling / Advanced Scheduling
Round Robin 방법으로 구현되어있던 것을 우선순위 방법으로 개선하였고, 이후에 MLFQ 방법으로 구현했다.
아. low-level로 내려가다보면은 끝이 없구나!
깊게 파다간 전자공학까지 내려갈라!
깊이있게 공부하는거랑, 어느정도 깊이만 공부하고 넓게 공부하는거랑. 둘 사이의 상충관계를 잘 이해하고 공부해야하는 듯 하다.
Pintos 공부하면서, 하나부터 열까지 다 이해하고 싶었지만 그렇게 하지는 못했다. 모든 개념을 이해하고 구현하기는 힘든 듯 하다. 교안과 각종 자료를 참고해서 구현해보았고, 잘 돌아가지 않는 경우에는 로직을 확인해보고 디버깅을 했다. 새로운 개념이 필요할 때에면 개념을 숙지하는 것을 반복하면서 공부했다.
Alarm Clock
https://bowbowbow.tistory.com/20
OS 기초개념 및 RR. MLQ, monitor 개념
상호 배제를 구현하기 위해 만든 개념
Linux Kernel Stack에 대한 오해
https://m.blog.naver.com/PostView.nhn?blogId=lache96&logNo=140051813931&proxyReferer=https:%2F%2Fvelog.io%2F&view=img_1
운영 체제 : 컴퓨터 과학 특강 # 18
https://youtu.be/26QPDBe-NB8?t=288
Kernel Space와 User Space를 나타내는 그림
http://www.linux.it/~rubini/docs/ksys/#:~:text=A%20system%20call%20is%20implemented,in%20the%20other%20processor%20registers.
Caller(콜러)와 Callee(콜리)
http://cr3denza.blogspot.com/2015/03/caller-callee.html
-> Caller Callee Push Pop을 통한 저장/복원
https://itinformation.tistory.com/54
MLFQ 개념 설명
https://www.youtube.com/watch?v=fvkSXMZaBNY&ab_channel=NesoAcademy