리눅스에서 메모리 세그멘테이션 기법에 관한 질문 이요~~
글쓴이: shinmans / 작성시간: 금, 2005/06/03 - 5:26오후
세그멘테이션 기법중 세그먼트디스크립터 있는 베이스 레지스터 값을 논리주소의 offset값을 더하여 선형 주소값을 얻어내는데요..
그런데 리눅스에서 CS와 DS의 디스크립터의 베이스 필드가 모두 0x00000000값으로동일한 값이더군요..
그렇다면 각각의 다른 세그먼트는 모두 같은 시작주소값을 갖는다는 결론인데요.....가상메모리의 선형주소에서 각각의 세그먼트는 모두 다른 시작주소값을 갖고 있는걸로알고 있는데....어떻게 된건가요?
혹시 메모리에 접근할때 세그먼트 셀렉터의 저장된 인덱스 값(__KERNEL_CS매크로 KERNEL_DS등....)이 세그먼트 디스크립의 베이스 필드에 각각 값이 저장되는건가요?
Forums:
하나의 세그먼트 만을 이용..
리눅스에서는 세그멘테이션 기법을 사용하지 않고
페이징 기법을 사용하여 메모리를 관리합니다.
(하나의 세그먼트만을 사용합니다.)
MMU가 없는 Tiny시스템을 위해서세그멘테이션도 지원하는 걸로 알고
MMU가 없는 Tiny시스템을 위해서
세그멘테이션도 지원하는 걸로 알고 있는데염...
댓글 달기