for(;;) {
Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ xdrmem_create ΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ ΡΠΊΠΎΠ±ΠΊΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ xdr_free. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° Π΅Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π² ΠΏΠ°ΠΌΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ps. Π£Π΄Π°Π»ΠΈΡΠ΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ ΡΠΊΠΎΠ±ΠΊΡ ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΡΠ΅ Π΅Π΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° xdr_free. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° Π΅Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π΅ΡΠ΅ ΡΠ°Π·.
ΠΠΏΠΈΠ»ΠΎΠ³
Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΠ΅ΡΡΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ (IPC):
1. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ (ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ, ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Posix ΠΈ System V).
2. Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ (Π²Π·Π°ΠΈΠΌΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΡΠ΅ΠΌΠ°ΡΠΎΡΡ Posix ΠΈ System V).
3. Π Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ (Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ, ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² Posix ΠΈ System V).
4. ΠΡΠ·ΠΎΠ²Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ (Π΄Π²Π΅ΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Solaris, ΠΏΠ°ΠΊΠ΅Ρ Sun RPC).
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅, Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. Π Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ, Π½Π°ΠΏΡΠΎΡΠΈΠ², Π΄Π»Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅, ΡΠΎ Π΅ΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΡ ΠΏΡΠΎΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² IPC.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ 16 Π³Π»Π°Π² Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ: ΠΊΠ°ΠΊΡΡ ΡΠΎΡΠΌΡ IPC ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ? Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅Π΄ΡΡΠ² IPC Π² Unix Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ Π½Π΅Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ΅ΡΠΈΡΡ Π²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ (ΠΈΠ»ΠΈ Ρ ΠΎΡΡ Π±Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ). ΠΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ ΠΎΡΡΠ°Π΅ΡΡΡ, β ΡΡΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ Π²ΡΠ΅Ρ ΡΠΎΡΠΌ IPC ΠΈ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ Π³Π»Π°Π²Π½ΡΠ΅ ΠΏΠΎ Π²Π°ΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ IPC Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
1. Π‘Π΅ΡΠ΅Π²ΠΎΠ΅ ΠΈΠ»ΠΈ Π½Π΅ΡΠ΅ΡΠ΅Π²ΠΎΠ΅. ΠΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΆΠ΅ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΈ IPC ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΌΠΈΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·Π»Π΅. ΠΡΠ»ΠΈ Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ IPC, ΡΡΠΎΠ±Ρ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π»Π΅Π³ΠΊΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΡΠ΅Π²ΠΎΠ΅.
2. ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ (Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΠ°Π±Π». 1.3). ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Unix ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ° Posix. Π 1998 Π³ΠΎΠ΄Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° IPC System V (ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΡΠ΅ΠΌΠ°ΡΠΎΡΡ ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠ°ΠΌΡΡΡ), ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π»ΠΈΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΠΈ ΡΠ΅ ΠΆΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ° Posix. ΠΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Posix IPC, Π½ΠΎ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ Unix 98. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊΠΈ Posix (Π²ΠΊΠ»ΡΡΠ°Ρ Π²Π·Π°ΠΈΠΌΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅) ΠΈΠ»ΠΈ ΡΡΠ°Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΡ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅ΠΌ Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Posix, Π½Π΅ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΡΠΈΠ±ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠ½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ, ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Unix 98, Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΊΠΎΡΠ΅ Π²ΠΎΠΉΡΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡ Posix, ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΡΠ΅ΠΌ ΡΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π²ΠΈΠ΄ΠΎΠ² ΡΠ°ΠΊΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ. ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΈΡΠΎΠΊΠΎ, ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Unix-ΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΠΈΠ±ΠΎ /dev/zero, Π»ΠΈΠ±ΠΎ MAP_ANON). Π‘ΡΠ΅Π΄ΡΡΠ²Π° Sun RPC Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π° Π²ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Unix, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π΄Π²Π΅ΡΠΈ ΠΏΠΎΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² Solaris.
3. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡΠ»ΠΈ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΡΠΈΡΠΈΡΠ½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅Π΄ΡΡΠ² IPC, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π. ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΈΠΌΠΈΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π΄Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅Π΄ΡΡΠ² IPC Π² ΡΡΠΎΠΉ ΡΡΠ΅Π΄Π΅.
4. ΠΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Posix Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ (ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΡΠ΅ΠΌΠ°ΡΠΎΡΡ, Π²Π·Π°ΠΈΠΌΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΌΠ°ΡΠΎΡΠ°, Π² Π²ΡΠ·ΠΎΠ²Π΅ ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΠΌΡΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΠΌΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΠ»Ρ ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠ² System V ΡΡΠΎ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² IPC, ΠΌΡ Π²ΠΊΡΠ°ΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ:
β ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΡΠΎΠΊΠΈ Π±Π°ΠΉΡΠΎΠ² Π±Π΅Π· Π³ΡaΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Posix ΠΈ System V ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ ΡΡΠΎ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°: TCP β ΡΡΠΎ ΠΏΠΎΡΠΎΠΊ Π±Π°ΠΉΡΠΎΠ², a UDP β ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Ρ ΡΠ²Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ.
β ΠΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Posix ΠΌΠΎΠ³ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΈΠ³Π½Π°Π» ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π² ΠΏΡΡΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ System V ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΈΠΏΠΎΠ² ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ select ΠΈ poll (Π³Π»Π°Π²Π° 6 [24]), Ρ ΠΎΡΡ Π½Π΅ΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΠ»ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ Π»ΠΈΡΡΠΈΠ½Π³Π° 5.12 ΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 6.9.
β ΠΠ°Π½Π½ΡΠ΅ Π² ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΈ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠ°Π½Π°Π»Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ (FIFO). ΠΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Posix ΠΈ System V ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°. ΠΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Posix Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ Π½Π°ΠΈΠ²ΡΡΡΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ. ΠΠ»Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ System V ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΈΠΏ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
β ΠΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Posix ΠΈΠ»ΠΈ System V ΠΈΠ»ΠΈ Π² ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ»ΠΈ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ°Π½Π°Π» ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΠΈΡΡΠ²Π°ΡΡΠ΅ΠΌΡ ΠΏΠΎΡΠΎΠΊΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ Π°Π΄ΡΠ΅ΡΠ°ΡΠ°ΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΈ XTI ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° UDP β Π³Π»Π°Π²Ρ 18 ΠΈ 19 [24]).
β ΠΠ·Π°ΠΈΠΌΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ ΠΈΠΌΠ΅Π½ Π½Π΅ ΠΈΠΌΠ΅ΡΡ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΉ Π΄Π»Ρ ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ. Π‘Π΅ΠΌΠ°ΡΠΎΡΡ Posix Π±ΡΠ²Π°ΡΡ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ²: ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΌΠ°ΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ (ΠΎΠ½ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΡΡ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Posix IPC), Π° ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π‘Π΅ΠΌΠ°ΡΠΎΡΡ System V ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ (Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΏΠ° key_t), ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ.
β ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ fcntl Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ½ΠΈΠΌΠ°ΡΡΡΡ ΡΠ΄ΡΠΎΠΌ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠ°ΠΌ ΠΎΠ± ΡΡΠΎΠΌ Π½Π΅ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡ. ΠΠ»Ρ ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠ² System V ΡΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ. ΠΠ»Ρ Π²Π·Π°ΠΈΠΌΠ½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠ² Posix ΡΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ.
β ΠΠ°ΠΆΠ΄Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° fcntl Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π±Π°ΠΉΡΠΎΠ² (Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Π·Π°ΠΏΠΈΡΡΡ) Π² ΡΠ°ΠΉΠ»Π΅, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°. ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π½ΠΈ Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ.
β Π Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ Posix ΠΈ System V ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΆΠΈΠ²ΡΡΠ΅ΡΡΡΡ ΡΠ΄ΡΠ°. ΠΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π° ΡΠ²Π½ΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ.
β Π Π°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Posix ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ. Π Π°Π·ΠΌΠ΅Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ System V ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ.
β OΠ³ΡaΠ½ΠΈΡeΠ½ΠΈΡ ΡΠ΄ΡΠ° Π½Π° ΡΡΠΈ ΡΠΈΠΏΠ° System V IPC ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΡΡΠ½ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π΄Π»Ρ Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΡΠ°Π·Π΄Π΅Π» 3.8). OΠ³ΡaΠ½ΠΈΡeΠ½ΠΈΡ Π½Π° ΡΡΠ΅Π΄ΡΡΠ²Π° Posix IPC ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
β ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ System V IPC (ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°, Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Ρ. ΠΏ.) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ XXXctl Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ IPC_STAT ΠΈ ΠΏpoΠ³ΡaΠΌΠΌoΠΉ ipcs. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ Posix ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ stat ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ls, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ Posix IPC Π² ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ ΠΆΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ.
β ΠΠ· Π²ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ β Π²Π·Π°ΠΈΠΌΠ½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π·Π°ΠΏΠΈΡΠΈ, ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠ² β ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ² (ΡΠ°Π±Π». 5.1): sem_post ΠΈ fcntl.
β ΠΠ· Π²ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ β ΠΊΠ°Π½Π°Π»ΠΎΠ², ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Posix ΠΈ System V β ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ²: read ΠΈ write (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΈ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ).
β ΠΠ· Π²ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ (ΡΠ°Π·Π΄Π΅Π» 15.5). Π ΡΠ°Π·Π΄Π΅Π»Π΅ 5.4 ΠΌΡ ΡΠΏΠΎΠΌΡΠ½ΡΠ»ΠΈ Π΄Π²Π° Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅: Π΄ΠΎΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎΠΊΠ΅ΡΡ Π² BSD/OS (ΡΠ°Π·Π΄Π΅Π» 14.8 [24]) ΠΈ ΠΊΠ°Π½Π°Π»Ρ Π² SVR4, Π΅ΡΠ»ΠΈ ΠΏΠΎ Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π° (ΡΠ°Π·Π΄Π΅Π» 15.3.1 [21]).