Programming,  컴퓨터와 인터넷

[C] 정해진 주소 영역에서만 할당하도록 malloc 수정하기

[ CnUnix ] in KIDS
글 쓴 이(By): redhot76 ()
날 짜 (Date): 2000년 7월 3일 월요일 오전 11시 33분 53초
제 목(Title): [급질] malloc() 에 관한 질문입니다.

malloc()에 관한 질문이 있어서 고수님들의 답변 부탁 드립니다.

malloc() 이랑 free()랑 같은 기능을 하면서 특정 메모리 번지 내에서만 작업하도록 할 수 있나요? malloc는 사용 하능한 모든 메모리 내에서 비어있는 공간의 주소값을 리턴 하잖아요.. 선택한 메모리 번지 내에서만 비어있는 주소를 찾아서 리턴하게 할 수 있나요?

고수님들의 빠른 답변 부탁 드립니다.. 그럼… 감사합니다..

[ CnUnix ] in KIDS
글 쓴 이(By): Zaharang ( 고소영)
날 짜 (Date): 2000년 7월 3일 월요일 오후 01시 24분 43초
제 목(Title): Re: [급질] malloc() 에 관한 질문입니다.

어떤 OS를 쓰시는데요? 이 보드가 CnUnix이니 만큼 Unix계열을 쓰신다면… memory제어를 맘대로 하실 수가 없습니다. 다만 방법은 Gnu Malloc같은 것을 고치셔서 일정 영역 Memory Chunk를 확보한담에 그 안에서만 malloc이 이루어지도록 malloc library를 고치는 것은 가능합니다만… 저는 테스트를 위해서 (가령 100K에서만 돌아가는 프로그램을 보려면) Quick Fit Malloc을 고쳐서 malloc library를 바꿔치기 해서 사용합니다만… 원하시는게 영역의 위치까지라면… 방법이 있을랑가 모르겠군요.

Windogs는 어떻게 돌아가는지 잘 모르겠습니다. 직관적으로 Dos나 이전 버전이라면 되겠지만 요즘 윈도그는 맘대로 몬하지 싶은데…

[ CnUnix ] in KIDS
글 쓴 이(By): unixboy (세탁소주인)
날 짜 (Date): 2000년 7월 3일 월요일 오후 01시 27분 42초
제 목(Title): Re: [급질] malloc() 에 관한 질문입니다

그럼 gcc 의 malloc library를 고치는 건가요? 오~ 궁금해서 그럽니다만, 좀 자세히 알 수 없을까요?

[ CnUnix ] in KIDS
글 쓴 이(By): redhot76 ()
날 짜 (Date): 2000년 7월 3일 월요일 오후 01시 44분 19초
제 목(Title): 고소영님 보세요..

저…. 대단히 죄송한 말씀을 드려야 겠네여… 혹시.. 직접 만드셨다는… malloc Source를 좀 보내주실 수 없나요? 급해서 그럽니다…

제발… 부탁 드립니다… 감사합니다…
redhot@danal.co.kr

[ CnUnix ] in KIDS
글 쓴 이(By): Zaharang ( 고소영)
날 짜 (Date): 2000년 7월 3일 월요일 오후 02시 20분 56초
제 목(Title): malloc summary

altavista에서 mmalloc, the GNU memory-mapped malloc package 라는 이름으로 때려보면 무진장 나올 겁니다.

제가 만든(? 만들었다기보다 저위의 것을 기반으로 뜯어고친거죠) 소스는 psos테스트용으로 제작된거라서 범용적으로 쓰일 수 있을런지는 약간의 의문이 있습니다. 저위의 것 갖다가 compile하셔서 좀 뜯어고치시면 될 듯 합니다 단 위의 것은 범용적으로 제작된거라서
space효용성이나 efficiency가 아주 떨어집니다. 한마디로 허덥하게 느리죠. 훌륭한 GNU! 그리고 GNU style이라서 mmap에 대한 이해도가 높거나, code를 들여다보는 뛰어난 통찰력이 없기전에는 고치기 힘든 아주 난해한 코드라는 문제점이 있습니다만…

해서 quick fit이라고 빠르기에만 주력한 program을 쓰고 있는데, 이것은 copyright문제로 드릴 수가 없군요.mmalloc 가져다가 열씨미 들여다보기를 권장합니다. 건투를…

[ CnUnix ] in KIDS
글 쓴 이(By): wshan (크로니)
날 짜 (Date): 2000년 7월 3일 월요일 오후 06시 20분 59초
제 목(Title): Re: [급질] malloc() 에 관한 질문입니다.

자신이 memory management를 하세요. malloc source는 고치는 것은 아주 바람직 하지 못함

[ CnUnix ] in KIDS
글 쓴 이(By): terzeron (microkid)
날 짜 (Date): 2000년 7월 4일 화요일 오후 06시 23분 03초
제 목(Title): Re: [급질] malloc() 에 관한 질문입니다.

앞서서 많은 분들께서 좋은 말씀을 해주셨네요.

wshan님 말씀대로 특정 번지에서만 메모리를 할당하고 관리하고 싶으신 거라면, #define malloc(size) my_malloc(size)처럼 my_malloc을 대신 사용하게 하시고, my_malloc을 구현하시면 됩니다.

퍼포먼스를 추구하시려면 기존의 malloc소스를 사용하도록 하시구요. 간단하고 직관적인 코드를 필요로 하신다면 특정 애플리케이션에서 사용되는 따로 개발된 소스를 구하시면 됩니다.

예를 들면, 간단한 DBMS 프로그램들은 저마다 malloc을 따로 구현해놓고 쓰거든요. 여기 들어가는 malloc은 OS처럼 퍼포먼스를 따지지 않기 때문에 코드들이 대개 이해하기 쉽습니다. 이런 걸 구해서 쓰시면 될 겁니다.

mSQL, MySQL, Berkeley DB 등등…

답글 남기기