memory 용량 산정 문제...
글쓴이: yoen / 작성시간: 월, 2008/09/22 - 10:54오전
현재 system 구성중인데 memory 용량 산정 때문에 고민하고 있습니다.
사용중인 source 가 static library 를 사용하고 있는데, memory를 많이 차지해서
shared library 를 이용하면 혹시 줄어들지 않을까 싶습니다만...
정확하게 실행될 때, 두 library 차이를 몰라서 고민중입니다.
A.c 프로그램이 B.a C.a 의 static library를 이용해서 컴파일 하게 되면,
실제로 사용하는 .a 화일만 가져와서 컴파일 하는 것으로 알고 있습니다.
(B.a 만 쓴다면, 메모리에는 A.c + B.a 만 올라간다)
그런데, 이걸 그대로 shared library로 적용한다면,
A.c 에서 B.so 와 C.so 를 가져와 컴파일 할 경우
실행시 A.c + B.so + C.so 가 올라가나요
아니면 A.c + B.so 만 올라갈까요?
Forums:
공유라이브러리를
공유라이브러리를 사용할시에는 실제 물리 메모리에는 해당 공유 라이브러리는 한개의 이미지만 올라가게 됩니다.
그리고 프로그램에서 그 공유라이브러리를 쓸려고 할때는 운영체제가 해당 프로그램의 프로세스 메모리영역에
공유라이브러리 주소를 매핑해줍니다.
따라서 실제 물리메모리는 단일본만 차지하게 되며 프로세스 입장에서는 자신의 프로세스 영역에 주소가 매핑되므로
프로세스가 보기에는 자신의 메모리 영역에 복사된것 처럼 보입니다.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
댓글 달기