virtual-memory

    1

    1답변

    페이지가 가상 메모리에 있지만 주 메모리에는없는 경우 어떻게됩니까? 어떻게 실행됩니까? 프로그램이 가상 메모리에서 주 메모리로로드 되었습니까? 가상 메모리에서 주 메모리로로드되면 디스크에 있기 때문에 IO 작업이됩니다. 그렇다면 가상 메모리를 사용하는 것이므로 실행하기 위해 IO 작업을해야합니다. 그리고 use program이 논리 주소를 생성하고 MMU가

    1

    1답변

    최신 OS에는 모든 프로세스마다 고유 한 주소 공간이 있습니다. 모든 프로세스에 자체 가상 페이지 테이블이 있음을 의미합니까? 또는 가상 페이지 테이블은 OS의 모든 프로세스에 공통적으로 사용됩니까? 모든 프로세스에 공통적 인 경우 로컬 프로세스의 주소 공간 주소가 가상 주소에서 어떻게 변환됩니까? 누구에게 책임이 있습니까?

    1

    1답변

    How do I recover from EXC_BAD_ACCESS?에서 나는 EXC_BAD_ACCESS에서 복구하는 방법을 알았지 만, 심하게 액세스 한 포인터를 전역에 저장했습니다. 분명히, 이것은 확장되지 않습니다. iOS 시뮬레이터 (i386)에서 코드를 실행하면 catch_exception_raise 함수 내부에있을 때 faultvaddr 레지스터가

    0

    1답변

    나는 루프에서 4096 바이트 (4KB)를 할당하는 프로그램을 가지고 있고, 4 번째 반복 후에는 가상 메모리 크기가 16KB 증가한 것을 볼 수있다. 즉, 블록 크기가 16KB임을 의미합니다. 이것을 찾으려면 유닉스 명령은 무엇입니까? getconf PAGE_SIZE를 사용하여 4KB 인 페이지 크기를 얻을 수 있지만 블록 크기를 찾아야합니다.

    1

    1답변

    증가하는 목록에만 사용되는 mmap/MAP_ANONYMOUS과 함께 다수의 페이지를 할당했습니다. 커널을 Linux에서 액세스하기 전에 여러 페이지를 미리 지능적으로 사전 오류 처리 할 수있는 방법이 있습니까? MAP_POPULATE 플래그는 MAP_ANONYMOUS에 대해 운영되지 않는 것으로 보입니다. 내가 할 수있는 원인 스타일의 포인터를 통해 단지

    0

    2답변

    컴퓨터는 46 비트 가상 주소, 32 비트 실제 주소 및 3 단계 페이징 페이지 테이블 조직을 사용합니다. 페이지 테이블 기본 레지스터는 첫 번째 레벨 테이블 (T1)의 기본 주소를 저장하며, 은 정확히 한 페이지를 차지합니다. T1의 각 항목은 두 번째 수준 테이블의 페이지 (T2)의 기본 주소를 저장합니다. T2의 각 항목은 세 번째 수준 테이블 (T3

    0

    1답변

    나는 안드로이드 ndk와 가상 메모리 관리를 찾고 있는데 안드로이드 ndk의 VirtualAlloc/Free 제품군에 해당하는 것이 있는지 궁금 해서요. 그렇다면 어디서 찾을 수 있습니까? 감사합니다.

    1

    2답변

    가상 메모리 관리, 특히 주소 변환에 대한 질문이 있습니다. 응용 프로그램이 실행되면 CPU는 가상 메모리 주소가 포함 된 명령을 받아 페이지 테이블을 통해 실제 주소로 변환합니다. 제 질문은 페이지 테이블이 메모리 블록 옆에 있기 때문에 CPU가 단일 메모리 액세스 명령어에서 메모리를 두 번 액세스해야한다는 것입니다. 대답이 '아니요'인 경우 실제로 어떻

    4

    1답변

    가상 메모리와 관련된 몇 가지 문제에 대답하고 있으며이 작업이 어떻게 수행되는지에 대한 이해를 돕기 위해 도움이 필요합니다. 다음 질문은 : 32 비트 워드와 바이트 - 어 드레서 블 시스템 4기가바이트의 가상 어드레스 공간 1기가바이트의 물리 어드레스 공간에, 4 킬로바이트 페이지 크기가 주어 . 페이지 테이블 엔트리가 4 바이트로 반올림된다는 가정이 있

    1

    1답변

    주어진 주소에 대한 페이지 오프셋을 계산하기 위해이 알고리즘을 사용했습니다. //naive solution: int getAlignedValue(int pageSize, int valueToAlign) { int index = valueToAlign/pageSize; return index * pageSize; } //faster