Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BS, CHUNKSIZE, SHRINKTHLD과 같은 상수 값에 대한 질문드립니다. #38

Open
YueunLee opened this issue Apr 28, 2024 · 1 comment

Comments

@YueunLee
Copy link

YueunLee commented Apr 28, 2024

안녕하세요.

스켈레톤에서 주어진 상수 값이 고정되어 있다고 가정하고 구현해도 무방할까요?
다시 말해, 예를 들어 SHRINKTHLD를 사용하지 않고 1<<14 로 직접 만들어서 구현해도 되나요?
또는 BS가 32임을 가정하고 <<5 이런 식으로 코드 내에서 직접 이를 확인하는 방식으로 구현해도 되는지 궁금합니다.

추가)
질문이 하나 더 있습니다.
mm_driver를 통해 확인할 수 있는 것과 채점 시에 확인하는 부분은 동일한가요?
예시로 주어진 테스트 케이스에서 코드를 돌리면 나오는 'Block size coherent' 라는 메시지가 출력되면 적어도 이 테스트케이스에 한해서는 제대로 구현한 것이라고 확신해도 되는 것인지 궁금합니다.
제대로 allocation과 free 작업을 수행하는지와, LIFO policy를 잘 지키는지, 그리고 블럭 내 payload 정보가 잘 보존되는지가 정확도 측면에서 채점되는 부분이라고 생각되는데, 채점 시에 이러한 부분들 외에 반영하시는 내용들이 있는지, 그리고 이 부분들을 mm_driver을 통해 체크해볼 수 있는지 알고 싶습니다.
감사합니다.

@kwonsw055
Copy link
Collaborator

상수 값들은 고정되어 있다고 가정하셔도 무방합니다.

'Block structure coherent'는 mm_check에서 발생하는 메시지입니다. memmgr.c의 소스 코드를 보시면 아시겠지만, mm_check가 단편적으로 header와 footer의 mismatch만 찾기 때문에, mm_check의 통과가 제대로 된 구현을 보장하지 않습니다.

mm_driver도 이와 마찬가지로 모든 correctness 관련 내용을 다 체크하는 것이 아니기에, mm_driver의 통과가 제대로 된 구현을 보장하지 않습니다. 채점 때도 더 종합적인 correctenss의 확인을 위해 수정된 mm_driver가 사용될 수 있습니다.

채점에 반영하고자 하는 내용들을 구체적으로는 말씀드릴 수 없습니다. 다만, README에 맞추어 충실히 구현되었는지와 기능 상 문제가 없는지를 중점적으로 채점할 예정입니다.

이처럼 mm_driver로 확인되지 않는 correctness 관련 이슈가 있을 수도 있으니, mm_test를 수정하시어 필요한 부분을 확인하시는 것이 적절해 보입니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants