SNU-ARC / 2024_spring_sysprog_Lab3

7 stars 0 forks source link

mm_free에서의 coalescing과 LIFO 관련 질문드립니다. #34

Closed YueunLee closed 5 months ago

YueunLee commented 5 months ago

안녕하세요.

mm_free에서 coalescing을 통해 만들어진 free'd block은 LIFO에 따라 리스트의 맨 앞에 삽입하라고 하셨는데, 만약 mm_free가 호출된 블럭의 앞에는 allocated block이, 뒤에는 free'd block이 있어서 뒤의 블럭과의 병합만을 진행했다면 이 블럭의 헤더는 변하지 않을 텐데, 그럼에도 LIFO에 따라 리스트 내에서의 위치를 변경해 주어야 하나요? 아니면 이 경우는 어떻게 해도 상관없나요? 그리고 어떻게 구현하는 것이 더 성능 면에서 뛰어나다고 할 수 있나요?

감사합니다.

m-joon-ixix commented 5 months ago

저는 TA는 아닙니다만, (#28 issue에서) 같은 고민을 많이 해본 수강생으로써 지나가다 의견 남깁니다.

block을 free 시킬때는 수업시간에도 좌우 free block 상관없이 coalescing 할때는 항상 LIFO에 따라 free list에서의 위치를 변경해주는 것으로 배웠습니다. mm_free 시에는 LIFO를 적용해야 한다고 TA들께서도 명시적으로 말씀하신만큼, LIFO 적용하는게 맞을것 같네요~

YueunLee commented 5 months ago

아차차... 수업을 열심히 듣지 않은 걸 티내버렸네요. 조언 감사합니다!!