시스템 프로그래밍-공유 메모리 기반 IPC

YuWan·2024년 7월 3일

linux

목록 보기
14/26

공유 메모리

  • 다수의 프로세스가 공유 가능한 메모리 영역
  • 공유하는 메모리를 읽고 씀으로써 프로세스간 통신이 가능

    공유 메모리 생성/열기->mmap->...->munmap->공유 메모리 삭제

공유 메모리 열기/생성하기

int shm_open(const char* name, int oflag, mode_t mode);
  • Parameter

    • name: "슬래시로 시작하는" 공유 메모리 이름(e.g. /myshm)
    • oflag:플래그 설정
    • mode:권한 설정
  • O_RDONLY:읽기 전용

  • O_RDWR:읽기 쓰기

  • O_CREAT:생성하기

  • O_EXCL:같은 이름을 가진 공유 메모리가 있는지 검사

  • O_TRUNC:존재할 경우 0바이트 초기화

  • Return

    • 성공시 공유 메모리 descriptor
    • 실패시 -1

공유 메모리 삭제하기

int shm_unlink(const char *name);
  • Parameter
    • name: 슬래시로 시작하는 공유 메모리 이름(e.g. /myshm)
  • Return
    • 성공시 0
    • 실패시 -1
profile
공부 블로그

0개의 댓글