Forum und email

세마포어(semaphore)와 공유 메모리(shared memory) 함수

이 모듈은 System V 세마포어가 사용하는 세마포어 함수를 포함한다. 세마포어는 현재 머신에 자원을 한정적으로 접근하는데 사용되거나 프로세스가 일제히 자원을 사용하는 개수를 제한하는데 사용된다.

이 모듈은 또한 System V의 공유 메모리를 사용하기 위한 공유 메모리 함수도 포함한다. 공유 메모리는 전역 변수에 접근하는데 사용된다. 각기 다른 httpd-daemon과 다른 프로그램(Perl, C와 같은) 조차도 전역 데이터 교환을 지원하여 이 데이터를 접근할 수 있다. 주의할 점은, 공유 메모리는 동시 접근에는 안전하지 않다는 것이다. 동기화를 위해서는 세마포어를 사용하면 된다.

Unix OS에 의한 공유 메모리의 제한
SHMMAX 공유 메모리의 최대값, 보통 131072 바이트임.
SHMMIN 공유 메모리의 최소값, 보통 1바이트임.
SHMMNI 시스템 상의 공유 메모리 세그먼트의 최대 합계, 보통 100임.
SHMSEG 프로세서당 공유 메모리 세그먼트의 최대 합계, 보통 6임.

Note: 이 함수는 윈도우즈 시스템에서 동작하지 않는다.

Table of Contents

  • ftok — Convert a pathname and a project identifier to a System V IPC key
  • msg_get_queue — Create or attach to a message queue
  • msg_receive — Receive a message from a message queue
  • msg_remove_queue — Destroy a message queue
  • msg_send — Send a message to a message queue
  • msg_set_queue — Set information in the message queue data structure
  • msg_stat_queue — Returns information from the message queue data structure
  • sem_acquire — 세마포어를 획득
  • sem_get — 세마포어 id를 얻음
  • sem_release — 세마포어 릴리즈
  • sem_remove — Remove a semaphore
  • shm_attach — 공유 메모리 세그먼트를 열거나 생성
  • shm_detach — 공유 메모리 세그먼트 접속을 종료
  • shm_get_var — 공유 메모리로부터 변수를 반환
  • shm_put_var — 공유 메모리 변수를 삽입하거나 경신
  • shm_remove_var — 공유 메모리로부터 변수를 제거
  • shm_remove — Unix 시스템에서 공유 메모리를 제거