(시스템 프로그래밍) 10-3 메모리 관련 함수

업데이트:
최대 1 분 소요

시스템 프로그래밍 - 메모리 관련 함수

1. 메모리 매핑 활용 데이터 교환

  • 부모 프로세스와 자식 프로세스가 메모리 매핑을 사용하여 데이터 교환 가능

1) 매핑된 메모리 동기화 : msync

  • 매핑된 메모리의 내용과 백업 내용이 일치하도록 동기화 필요
  • addr로 시작하는 메모리 영역에서 len 길이 만큼의 내용을 백업 저장장치에 기록
  #include <sys/mman.h>

  int msync(void *addr, size_t len, int flags);
  • addr : 매핑된 메모리의 시작 주소
  • len : 메모리 영역의 크기
  • flags : 동기화 동작

(1) flags : 함수의 동작 지시

  • MS_ASYNC : 비동기 쓰기 작업
  • MS_SYNC : 쓰기 작업을 완료할 때까지 msync 함수는 리턴 안함
  • MS_INVALIDATE : 메모리에 복사되어 있는 내용을 무효화

2) 데이터 교환하기

  • 부모 프로세스나 자식 프로세스가 매핑된 메모리의 내용을 변경하면 다른 프로세스도 변경 내용을 알 수 있다.

댓글남기기