게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

4-3 질문입니다

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2013)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
정주성



가입: 2012년 10월 1일
올린 글: 4

올리기올려짐: 2013년10월26일 13:15    주제: 4-3 질문입니다 인용과 함께 답변

코드를 보면, 메모리의 주소(loc)는 base(int) * offset(int)의 형태임을 알 수 있습니다.

여기서 loccount 는 base의 범위일 뿐, offset과는 상관이 없다는 것도 알 수 있습니다.

그래서 base 0의 offset 0, offset 1, offset 2, ... 자리에 값을 하나씩 모두 넣을 수 있으며, 이렇게 8192개의 값을 넣어도 malloc을 추가로 하지 않는다면(다시 말해 base 0에서 벗어나지 않는다면) loccount 값은 1을 넘어가지 않게 됩니다.

정리하자면, 8192개의 값을 넣고도 gc를 실행해야 하는 조건에 걸리지 않을 수 있게 됩니다.

이거.. 문제 있다고 생각됩니다만, 답변해주시면 감사하겠습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
최준원



가입: 2007년 3월 30일
올린 글: 149

올리기올려짐: 2013년10월26일 13:32    주제: 인용과 함께 답변

인용:
그래서 base 0의 offset 0, offset 1, offset 2, ... 자리에 값을 하나씩 모두 넣을 수 있으며, 이렇게 8192개의 값을 넣어도 malloc을 추가로 하지 않는다면(다시 말해 base 0에서 벗어나지 않는다면) loccount 값은 1을 넘어가지 않게 됩니다.

정리하자면, 8192개의 값을 넣고도 gc를 실행해야 하는 조건에 걸리지 않을 수 있게 됩니다.

맞습니다. 이 시나리오대로 흘러가면 메모리 크기가 8192 를 초과하는데도 gc 가 호출되지 않게 됩니다.
이 문제를 조교팀에서 인지하고 있었고, 교수님과도 상의해 보았는데요.

결론적으로, 이런 케이스는 이번 숙제에서는 신경쓰지 않으셔도 됩니다.
아래 두 가지 사항을 참고해 주세요.

1) GC 는 문제 스펙과 같이 malloc 으로 할당 시 동작합니다.
"메모리 크기가 8192가 되었다"가 우선이 아니라 "malloc 명령을 시행한다"가 우선입니다.
2) 숙제 채점에서 위에 언급된 offset을 임의로 조작하여 location을 만들어내는 경우는 없을 것입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2013) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay