2013-09-23 4 views
1

현재 창문을 연구 중이며 Windows에서 시스템 공간 주소 공간에 페이징 풀과 비 페이징 풀이라는 메모리의 두 섹션을 사용하고있는 것으로 나타났습니다. 따라서 Windows의 중요 섹션 만 비 페이징 풀 (요구 페이징을 사용하지 않음)에 보관됩니다. 내가 리눅스에서 모든 시스템 공간 주소 공간은 요구 페이징의 개념을 사용하지 않는다는 것을 배웠다. 그 모든 정보가 맞다면 나는 창문이 리눅스보다 더 적은 양의 램을 필요로한다고 결론 내어야합니까 ??리눅스의 전체 시스템 공간 주소 공간이 요구 페이징을 사용하지 않는 것이 사실입니까?

+1

Windows에서 커널의 일부분을 페이징 할 수 있도록 허용하더라도 (Linux에서는 그렇지 않음) 자동으로 Windows가 Linux보다 적은 RAM을 사용한다는 것은 아닙니다. – BraveNewCurrency

+1

리눅스 커널은 스스로 스왑 아웃을 허용하지 않습니다. http://sourcefrog.net/weblog/software/linux-kernel/swap.html – BraveNewCurrency

+0

@BraveNewCurrency 네 말이 맞습니다 !! 나는 단지 하나의 요소를 보면서 결론을 내려서는 안된다. 그러나 리눅스 커널이 더 가볍다 고해도 더 가볍게 만들 수 있습니까? 그런 다음 그들은 그러한 심한 이식을 선택 했습니까 ?? –

답변

1
While I was taught that in linux all the system space address space does not use 
the concept of virtual memory? 

이것은 잘못되었습니다. 리눅스 커널과 그것의 구성 요소 (드라이버, 서브 시스템 등)는 가상 메모리를 사용합니다. 함수 포인터, 할당 루틴에 의해 반환 된 포인터는 가상 주소입니다.

+0

당신은 내게 당신이 진술 한 것을 증명할 수있는 링크를 줄 수 있습니까?vmalloc()에 의한 메모리 리턴은 가상적으로 인접 해 있지만 가상 메모리에 의해 나는 단지 요구 페이징을 의미한다. 내 질문에 특정되지 않는 것에 대한 미안하지만, 나는 그것을 지금 편집했다 !! –

+0

귀하의 질문에 답변했습니다. vmalloc에 ​​대한 내용이 옳지 않다고 생각 되긴하지만 편집이 늦게 처리되었습니다. 나는 그것을 제거 할 것이다. –

+0

?? 나는 아직 대답을 얻지 못했다! 이것을 읽으십시오 http://www.ibm.com/developerworks/library/l-kernel-memory-access/ 보다 구체적으로이 "커널 페이지는" –

0

메모리 관리에 대해 이야기하고 있다면 아래의 단어로 대답 할 수 있기를 바랍니다.

Linux에는 가상 주소와 실제 주소라는 두 가지 종류의 메모리 주소 공간이 있습니다.
메모리는 페이지 단위로 관리됩니다.
가상 주소가 실제 주소에 매핑됩니다.
가상 주소는 코드를 작성할 때 사용하는 주소입니다.
실제 주소는 디스크 또는 다른 위치의 메모리에있을 수 있습니다.
디스크가 저렴하고 메모리보다 크지 만 메모리가 디스크보다 빠릅니다.
그래서 커널은 메모리를 선호합니다.
욕심 많은 프로세스를위한 공간을 확보하기 위해 커널은 메모리에서 디스크로 일부 페이지를 스왑하므로 여유 메모리를 사용할 수 있습니다.

그러나 커널 주소 공간의 대부분의 메모리는 커널과 다른 모든 것들을 관리하기 때문에 디스크로 스왑되지 않아야합니다. 이는 비 페이징 된 Windows 풀과 유사합니다.

나는 리눅스와 윈도우 모두 비슷한 메카니즘을 관리한다고 생각한다. 그래서 적은 것을 사용하는 것은 어렵습니다.

+0

"을 스와핑 할 후보는 아니지만 커널 주소 공간의 대부분의 메모리" 그것은 대부분 또는 모두 ?? 내가 알아야 할게있어? –

+0

일부 검색을 수행 한 후에는 모든 커널 공간을 스왑 할 수 없다고 생각합니다. 스왑은 프로세스와 관련이 있습니다. http://www.tldp.org/LDP/tlk/mm/memory.html – z7z8th

+0

위의 url은 ** demand paging ** – z7z8th

0

커널은 vmalloc 할당에 가상 메모리를 사용하지만 항상 물리적 메모리로 백업됩니다. 이것은 커널이 페이지 폴트를하지 않는다는 것을 의미합니다. 대기 시간을 예측 가능하게 유지합니다. 저장소 (mm, nfsd, 파일 기반 스왑)에 액세스하는 몇 가지 커널 하위 시스템은 vfs에 페이지를 매핑하도록 명시 적으로 요청해야합니다. 이것은 그것이 속한 복잡성을 유지합니다.

0

커널 공간의 커널 이미지 부분은 전체 커널 공간이 아닌 스왑 아웃 될 수 없습니다. 예를 들어, 물리적 메모리가 부족 해지면 디스크가 지원하는 페이지 캐시를 절대 페이징 할 수 있습니다.