OS의 memory map 정책을 어떻게 알 수 있을까요?
글쓴이: gracesky / 작성시간: 수, 2008/10/15 - 5:41오후
pmap을 해보면 해당 process의 공유메모리나 라이브러리 등이 어떻게 잡혀있는지 알 수 있지만 에초에 OS가 어느 범위에서 공유메모리나 라이브러리, 스택에 들어갈 공간을 할당해주는지 조사해야합니다.
회사에서 맡은 블럭을 linux, hp-ux, solaris8, aix 등에 포팅할 때 이런 정보가 필요한데 저는 유지, 보수만하는 프로그램인지라 처음에 공유메모리를 OS의 memory map에 디팬던트하게 설계할 수 밖에 없었는지는 약간 의문이네요.
약 5시간의 구글 검색 끝에 여기와서 질문 올립니다. 도와주시면 감사하겠습니다 ㅠㅜ
Forums:
알 방법이 없지 않나요?
심지어는 같은 linux 간에도 kernel 등에 따라 주소가 바뀌고 하는데, 그걸 항상 어디에 된다고 알 수 없을 것 같습니다.
그래서 base ptr + offset 방식을 사용하곤 하지 않던가요.
아마 linker script
아마 linker script 해킹을 좀 하면 될껍니다.
(http://www.bilmuh.gyte.edu.tr/gokturk/introcpp/gcc/ld_3.html )
댓글 달기