← All Posts

[TIL] 261005 공부기록

가용블록 공부하기

TIL#

오늘은 어제 공부를 하지않았기에 오전에 malloc 복습을 진행했고 책에 있는 Implicit free list를 오늘 하루종일 구현을 했다.. 말록 과제에서 책에있는 코드랑 과제 방향이랑 조금은 달랐는데 햇갈렸던 부분도있었고, 매크로구현,힙확장,뼈대만들기,쪼개기 등.. 여러개를 구현하다보니 벌써 코어타임까지 왔는데 다들 어떻게 다른 말록도 구현을 했을까..

코어타임이 끝나고나서 점수는 사실 59점이 나왔는데 발표가 좀 고민이였다. 다들 seglist를 쓰는것같은데 단순히 생각했을때 셋중 빠르고 메모리 최적화가 그나마 좋다고 점수를 받기 위해서 쓰는것보다 나는 무엇을 선택할지 트레이드 오프를 고민할지와 버디시스템을 좀 더 파게됐는데 버디시스템을 생각해보니까 아이디어가 좀 나오긴했다.. 결국엔 하이브리드를 생각하게됐는데 gpt한테 물어보니까 이론적으론 가능하다! 해서 고민에 빠져있는상태랄까.. 그외 발표주제가 3개정도는 나왔는데 더 생각해봐야될것 같다.. 그냥 좋아서 남들이 쓰는것보다 트레이드 오프를 고민해보는게 사실 운영진 티타임때 중요하다고해서 더 고민해봐야될것같다

배운점#

오늘은 place 함수를 구현하는데 find_fit()이 찾아준 기존 free block에 사용자의 요청 크기(asize)를 배치한다 기존 free block이 더 크고, 남는 공간이 최소 블록 크기 이상이면 블록을 둘로 분할하고, 그렇지 않으면 기존 블록 전체를 할당하는 기능이다

여기서 위치가 좀 햇갈렸었는데 bp는 기존 프리블록의 앞을 가리키지만 분할하고나면 다음 bp에서 얼만큼 이동해야되는지 이게 가장어려웠었다.. 오늘 배운것은 결국 bp는 기존 블록의 앞쪽이고, bp + asize로 이동한 next_bp는 남은 공간인 뒤쪽 블록이라는것이다

코어타임때는 copy write랑 demand zero memory 그리고 dma , 가상메모리 페이징을 대략적으로 배웠다 (내일 다시 공부할것)

느낀점#

코드구현은 얼추끝났는데 점수가 너무 충격적이라서 다른방식들이 여러가지 있는것은 알지만 오히려 단편화 부분과 단점에 대해서 개선할수있는 법은 없을까??를 더 중점적으로 고민하게 되다보니까 아이디어들이 나오는것같다.. 하지만 스토리 텔링이 중요한것같아서 좀 더 고민해보기로..