질문 메모리 기초 주소체계...
글쓴이: 익명 사용자 / 작성시간: 금, 2002/10/11 - 3:27오후
메모리 주소체계가 가상, 선형, 물리 주소가 있는데요..
커널, 프로세스에서 메모리 할당 신청을 했을 때
kmalloc(size), malloc(size) 이렇게 하겠지요..
그러면 모두 buddy, slab을 사용해서 할당한 주소 영역을 반환하잖아요..
이때 반환되는 주소가 어떤 주소인지 모르겠습니다...
또 프로세스가 슬랩을 사용하는 것인지에 대해서도 정확히 모르겠구요..
(지금까지 물리적 주소를 가상 주소로
바꾸어 반환한다고 생각했는데요..
누가 물어보더라구요...
정확이 몰라서 어물어물 거렸지 몹니까...T.T)
Forums:
Re: 질문 메모리 기초 주소체계...
http//www.ezdoum.com/upload/segpaging.gif
논리적인 주소(Logical Address) – 세그먼트(segment)와 옵셋(offset)으
로 구성되며, 세그먼트 경계로 얼마만큼 떨어져 있냐(offset)를 나타내는
주소 지정 방식이다. x86과 구조에서는 세그먼트를 나타내는 레지스터와
옵셋을 나타내는 레지스터가 구분되어 사용된다.
선형주소(Linear Address) – 세그먼트와 옵셋으로 나타내진 주소를 단일
의 32bit 주소로 만든 것으로 4Gbytes까지 지정이 가능하다 . 0x00000000
에서 0xFFFFFFFF까지를 말한다. 선형주소는 전체 프로세스가 접근할 수 있
는 영역을 말하며, 리눅스의 경우는 3Gbytes를 프로세스에서, 나머지
1Gbytes를 커널에서 사용한다.
물리적인 주소(Physical Address) – 시스템에 있는 전체 물리적인 메모
리 공간을 말한다. 이 역시 32bit의 형태로 나타나며, 시스템의 주소 버스
(Address Bus)에 전기적인 신호(signal)로 메모리의 특정 주소를 나타낸
다. 이것은 현재 시스템에 설치된 메모리의 크기로 한정된다.
http//www.ezdoum.com/upload/memalloc.gif
두번째 질문은 위의 그림을 보고 찬찬히 생각을 해보세요;;
전 아래의 자료가 커널의 메모리 관리를 이해하는데
도움이 되더군요..
http//www.ezdoum.com/stories.php?story=02/05/01/2631437
그럼 이만.
Re^2: (강추) Virtual Memory Tutorial Map
쩝. 이것도 제가 공부할때 찾은 자료중에 하나인데,,
지하철 지도 비스무레 만들어서 가상메모리를 이해 시키는데
도움을 줍니다.
특히나 각 역에서 제공되는 자바 애플릿과,,
각 호선이 만나는 곳을 잘 보면 둘의 연관 관계를
이해 하는데 도움이 됩니다...
http//cne.gmu.edu/modules/vm/submap.html
댓글 달기