mmap

    0

    1답변

    Linux에서 실행되는 응용 프로그램 (예 : Java 응용 프로그램)에서 수행 한 mmap 호출을 추적 할 수있는 방법이 있습니까? 저는 응용 프로그램 (이 경우 - 자바 응용 프로그램)이 mmap 호출을 통해 할당하는 메모리의 양을 구체적으로 파악하려고합니다.

    2

    1답변

    NXP의 Imx6 SoC에서 실행중인 embeded linux 프로젝트가 있고 SPI를 사용하려고합니다. 마스터 모드와 슬레이브 모드를 모두 지원하는 드라이버가 없으므로 먼저 사용자 공간에서 직접 처리하려고했습니다. mmap을 사용하여 SPI 레지스터에 액세스했지만 mmap을 사용하여 읽기/쓰기를 시도하면 시스템이 멈추고 재부팅해야합니다. 그런 다음 사용자

    3

    1답변

    mmap()은 반환 값이 시스템에서 가장 큰 정렬에 정렬되도록합니까? 즉, mmap이 alignof(std::max_align_t)의 배수 인 포인터 값을 반환해야한다는 것을 POSIX 표준이 보장합니까? 나는 우분투 리눅스의 mmap (2) 매뉴얼 페이지 또는 (2) 매뉴얼 페이지

    1

    1답변

    프로세스가 mmap을 사용하여/proc/self/exe를 읽을 수 있습니까? 현재이 실수를하고 있습니다 $ cat e.c #include <fcntl.h> #include <unistd.h> #include <sys/mman.h> int main() { int f=open("/proc/self/exe",O_RDONLY); char

    2

    2답변

    Linux와 같은 운영 체제는 Copy-on-write 원칙에 따라 작동하므로 100GB라고 말하면서 10GB까지만 사용하더라도 10GB의 메모리 만 사용하게됩니다. 그런 큰 배열을 만드는 단점은 무엇입니까? 그래도 이점을 볼 수 있습니다. 동적 배열을 사용하는 것에 대해 걱정할 필요가 없기 때문에 재 할당 비용이들 것입니다.

    0

    1답변

    지도 파일의 각 항목은 으로 시작하고 및 끝 주소는 mmap'ed입니다. 라이브러리가 동적으로로드 된 경우 (아마도 dlopen()을 사용하여) 이전 항목의 주소가 어떤 방식 으로든 영향을 받습니까? (물론 프로세스의 PID가 변경되지 않았다고 가정). ADDR2 R-XP 00000000 8시 2분 135,522 /usr/lib64/lib_sample.so

    0

    1답변

    을 mmap()으로 설정하면 프로세스가 부모에서 공유 메모리로 매핑을 상속해야합니다. 부모를 공유하지 않는 프로세스간에 메모리를 공유 할 수있는 방법이 있습니까? shmat()이 최선의 솔루션 인 것처럼 보이지만 프로세스가 종료/종료시 메모리를 분리하지 않으면 정리가 필요합니다. 도메인 소켓은 익명 메모리를 사용하는 경우 mmap와

    0

    1답변

    mmap()에 파일 설명자가 있지만 오류가 발생했습니다. 제가 확인한로 LOG_BUFFER_SIZE은 500 printf("fcntl fd check: %d\n", fcntl(ss->fd_log, F_GETFD)); ss->log_mmap = mmap(NULL, LOG_BUFFER_SIZE, PROT_WRITE | PROT_WRITE, MAP_PRIVAT

    0

    1답변

    OCaml 프로그램의 문자열을 mmap의 메모리 영역 (Genarray.file_map을 통해 얻을 수 있음)으로 가능한 한 효율적으로 복사하고 싶습니다. 내 목표는 최소한의 오버 헤드로 OCaml 프로세스가 실행되는 동안 다른 프로세스가이 공유 메모리에서 읽도록 허용하는 것입니다. 완전한 동시성 기능은 필요하지 않습니다. 단 하나의 작성자와 하나의 판독기

    0

    1답변

    답변을 찾을 수는 있지만 모두 Linux에서만 작동합니다. 하지만 MacOS는 어때? 내 코드는 우분투에서 정상이므로 붙여 넣을 필요가 없습니다. 고맙습니다! --------------------------------------------- 수정하여 붙여 넣기하십시오. 암호. void unix_error(char* msg) { fprintf(st