Semaphore 소개

이 모듈은 System V IPC 함수 제품군에 대한 래퍼를 제공합니다. 여기에는 세마포어, 공유 메모리 및 IPC(프로세스 간 메시징)가 포함됩니다.

세마포어는 현재 시스템의 리소스에 대한 독점적인 액세스를 제공하거나 리소스를 동시에 사용할 수 있는 프로세스의 수를 제한하는 데 사용할 수 있습니다.

이 모듈은 System V 공유 메모리를 사용하여 공유 메모리 함수도 제공합니다. 공유 메모리는 전역 변수에 대한 액세스를 제공하는 데 사용할 수 있습니다. 다른 httpd-데몬과 다른 프로그램(예: Perl, C, ...)도 이 데이터에 액세스하여 전역 데이터 교환을 제공할 수 있습니다. 공유 메모리는 동시 액세스에 대해 안전하지 않다는 것을 기억하십시오. 동기화를 위해 세마포어를 사용합니다.

Unix OS에 의한 공유 메모리의 한계

SHMMAX 공유 메모리의 최대 크기, 일반적으로 131072바이트
SHMMIN 공유 메모리의 최소 크기, 일반적으로 1바이트
SHMMNI 시스템의 최대 공유 메모리 세그먼트 양, 일반적으로 100
SHMSEG 프로세스당 최대 공유 메모리 세그먼트 양, 일반적으로 6

메시징 함수를 사용하여 다른 프로세스와 메시지를 주고받을 수 있습니다. Unix 도메인 소켓을 사용하여 대안을 설정할 필요 없이 프로세스 간에 데이터를 교환하는 간단하고 효과적인 수단을 제공합니다.

참고: Windows에서는 공유 메모리 함수와 ftok()만 사용할 수 있습니다. 해당 플랫폼에서는 세마포어나 프로세스 간 메시징 함수가 모두 지원되지 않습니다.