Semaphore 소개
이 모듈은 System V IPC 함수 제품군에 대한 래퍼를 제공합니다. 여기에는 세마포어, 공유 메모리 및 IPC(프로세스 간 메시징)가 포함됩니다.
세마포어는 현재 시스템의 리소스에 대한 독점적인 액세스를 제공하거나 리소스를 동시에 사용할 수 있는 프로세스의 수를 제한하는 데 사용할 수 있습니다.
이 모듈은 System V 공유 메모리를 사용하여 공유 메모리 함수도 제공합니다. 공유 메모리는 전역 변수에 대한 액세스를 제공하는 데 사용할 수 있습니다. 다른 httpd-데몬과 다른 프로그램(예: Perl, C, ...)도 이 데이터에 액세스하여 전역 데이터 교환을 제공할 수 있습니다. 공유 메모리는 동시 액세스에 대해 안전하지 않다는 것을 기억하십시오. 동기화를 위해 세마포어를 사용합니다.
Unix OS에 의한 공유 메모리의 한계
SHMMAX | 공유 메모리의 최대 크기, 일반적으로 131072바이트 |
SHMMIN | 공유 메모리의 최소 크기, 일반적으로 1바이트 |
SHMMNI | 시스템의 최대 공유 메모리 세그먼트 양, 일반적으로 100 |
SHMSEG | 프로세스당 최대 공유 메모리 세그먼트 양, 일반적으로 6 |
메시징 함수를 사용하여 다른 프로세스와 메시지를 주고받을 수 있습니다. Unix 도메인 소켓을 사용하여 대안을 설정할 필요 없이 프로세스 간에 데이터를 교환하는 간단하고 효과적인 수단을 제공합니다.
참고: Windows에서는 공유 메모리 함수와 ftok()만 사용할 수 있습니다. 해당 플랫폼에서는 세마포어나 프로세스 간 메시징 함수가 모두 지원되지 않습니다.