XCIセマフォãŠã‚ˆã³å…±æœ‰ãƒ¡ãƒ¢ãƒªé–¢æ•°(semaphore)
ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€ã‚·ã‚¹ãƒ†ãƒ V セマフォを用ã„ã¦ã‚»ãƒžãƒ•ォ関数をæä¾›ã—ã¾ã™ã€‚
セマフォã¯ã€ãƒžã‚·ãƒ¼ãƒ³ä¸Šã®ãƒªã‚½ãƒ¼ã‚¹ã¸ã®æŽ’他的アクセス機能やã€
åŒæ™‚ã«ã‚るリソースを使用ã™ã‚‹ã“ã¨ãŒã§ãるプãƒã‚»ã‚¹ã®æ•°ã‚’制é™ã™ã‚‹ãŸã‚ã«
使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€ã‚·ã‚¹ãƒ†ãƒ V 共有メモリを使用ã—ã¦å…±æœ‰ãƒ¡ãƒ¢ãƒªé–¢æ•°ã‚‚
æä¾›ã—ã¾ã™ã€‚共有メモリã¯ã€ã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•°ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹æ‰‹æ®µã‚’æä¾›ã™ã‚‹ãŸã‚ã«
使用ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚別㮠httpd デーモンãŠã‚ˆã³
(Perl, C, ... ã®ã‚ˆã†ãª)ä»–ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã•ãˆã€ã‚°ãƒãƒ¼ãƒãƒ«ãƒ‡ãƒ¼ã‚¿äº¤æ›ã‚’
æä¾›ã™ã‚‹ã“ã®ãƒ‡ãƒ¼ã‚¿ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚
共有メモリã¯ã€åŒæ™‚アクセスã«é–¢ã—ã¦å®‰å…¨ã§ã¯ãªã„ã¨ã„ã†ã“ã¨ã‚’覚ãˆã¦ãŠã„ã¦
下ã•ã„。
åŒæœŸã‚’ã¨ã‚‹ã«ã¯ã€ã‚»ãƒžãƒ•ォを使用ã—ã¦ä¸‹ã•ã„。
表 1Unix OS ã«ã‚ˆã‚‹å…±æœ‰ãƒ¡ãƒ¢ãƒªã®åˆ¶é™
SHMMAX | å…±æœ‰ãƒ¡ãƒ¢ãƒªã®æœ€å¤§ã‚µã‚¤ã‚ºã€‚通常㯠131072
ãƒã‚¤ãƒˆ |
SHMMIN | å…±æœ‰ãƒ¡ãƒ¢ãƒªã®æœ€å°ã‚µã‚¤ã‚ºã€‚通常㯠1 ãƒã‚¤ãƒˆ |
SHMMNI | å…±æœ‰ãƒ¡ãƒ¢ãƒªã‚»ã‚°ãƒ¡ãƒ³ãƒˆã®æœ€å¤§æ•°ã€‚通常ã¯
100 |
SHMSEG | プãƒã‚»ã‚¹æ¯Žã®å…±æœ‰ãƒ¡ãƒ¢ãƒªã®æœ€å¤§æ•°ã€‚通常ã¯
6 |
注æ„
ã“れらã®é–¢æ•°ã¯ã€Windowsシステムã§ã¯å‹•作ã—ã¾ã›ã‚“。
- 目次
- ftok --
パスåã¨ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆIDã‚’System V IPCã‚ーã«å¤‰æ›ã™ã‚‹
- 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 -- セマフォを削除ã™ã‚‹
- shm_attach -- 共有メモリセグメントを作æˆã¾ãŸã¯ã‚ªãƒ¼ãƒ—ンã—ã¾ã™
- shm_detach -- 共有メモリセグメントã¸ã®æŽ¥ç¶šã‚’é–‰ã˜ã¾ã™
- shm_get_var -- 共有メモリã‹ã‚‰å¤‰æ•°ã‚’è¿”ã™
- shm_put_var -- 共有メモリã®å¤‰æ•°ã‚’挿入ã¾ãŸã¯æ›´æ–°ã—ã¾ã™
- shm_remove_var -- 共有メモリã‹ã‚‰å¤‰æ•°ã‚’削除ã—ã¾ã™
- shm_remove -- UNIX システムã‹ã‚‰å…±æœ‰ãƒ¡ãƒ¢ãƒªã‚’削除ã™ã‚‹