이태영
가입: 2011년 9월 19일 올린 글: 34
|
올려짐: 2012년10월25일 1:32 주제: 숙제 4-3 : sm5 모듈에서 gc를 만드는 것 외에 다른 요소를 건드려도 되나요? |
|
|
변경 전의 sm5 모듈을 보면 malloc을 할 때 새로운 위치를 할당하기 위해 loccount라는 변수를 두고, newl()이 loccount의 값을 1씩 증가시키면서 새로운 주소를 리턴하고 있는데요
gc를 만드는 방법에는 예를 들면
(0, 0) |-> 1
(1, 0) |-> 2
(2, 0) |-> 3
(3, 0) |-> 4
라는 메모리가 있을 때 (1, 0)이 gc의 대상이라고 가정하면
1)
(0, 0) |-> 1
(2, 0) |-> 3
(3, 0) |-> 4
처럼 단순히 해당 슬롯만 삭제하는 경우와
2)
(0, 0) |-> 1
(1, 0) |-> 3
(2, 0) |-> 4
처럼 슬롯 번호를 전부 밀어주는 경우가 있는 것 같습니다.
현재 구현되어 있는 newl()의 기능을 변경하지 않고 gc만 장착한다면 2)번의 방법으로만 가능할 것 같은데, 혹시 gc를 장착하기 위해 newl()의 내부 구현을 바꿔주어도 괜찮을까요? |
|