Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«UNIX: взаимодСйствиС процСссов». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 111

Автор Уильям БтивСнс

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]).