ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ распрСдСлСнной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π° ΠΎΡ‚ ΡƒΡ€ΠΎΠ²Π½Ρ сСтСвых ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ, Π° ΡΠ·Ρ‹ΠΊ IDL обСспСчиваСт Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° RPC ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠΎΠ² программирования. Благодаря этому ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свои языковыС конструкции, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌΡ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ IDL-компилятором Π² ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ описания, Π° Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ IDL-описания ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ распрСдСлСнной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€

Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌΠΈ модулями (ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ спСцификация ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ (remote procedure call — RPC). Для установки связи, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° клиСнтский ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ процСссы ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ — клиСнтскому ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌ, ΠΈΠ»ΠΈ Π·Π°Π³Π»ΡƒΡˆΠΊΠ°ΠΌ (ΠΎΡ‚ Π°Π½Π³Π». stub — Π·Π°Π³Π»ΡƒΡˆΠΊΠ°, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ). Π­Ρ‚ΠΈ stub-ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ взаимодСйствия ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… (Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС) ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. КаТдая функция Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ процСсс.

БпСцификация ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ (remote procedure call— RPC) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ синхронный Ρ€Π΅ΠΆΠΈΠΌ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌΠΈ модулями (ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ). Для установки связи, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° клиСнтский ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ процСссы ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ — клиСнтскому ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌ, ΠΈΠ»ΠΈ Π·Π°Π³Π»ΡƒΡˆΠΊΠ°ΠΌ (ΠΎΡ‚ Π°Π½Π³Π».stub — Π·Π°Π³Π»ΡƒΡˆΠΊΠ°, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ). Π­Ρ‚ΠΈ stub-ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ взаимодСйствия ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… (Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС) ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. КаТдая функция Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ процСсс.

ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Π½Π°Ρ‡Π°Π»Π΅ выполняСтся Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ клиСнтского ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ°. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² вмСстС с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ пСрСдаСтся клиСнтскому ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΡƒ. ΠŸΡ€ΠΈ этом с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка описания интСрфСйсов (Interface Definition Language — IDL) производится ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ интСрфСйса ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ описаниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΅ΠΉ Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ RPC ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ RPC. Π—Π°Ρ‚Π΅ΠΌ это описаниС транслируСтся ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ся ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ сообщСния — ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³ (marshaling). ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму, которая пСрСсылаСт сообщСниС ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС сСрвСра. УдалСнная опСрационная систСма ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ сообщСниС сСрвСрному ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΡƒ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈ ΡΠΎΡΡ‚оящСму ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ получСния запроса ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, форматирования Π΄Π°Π½Π½Ρ‹Ρ… (Π΄Π΅ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³), Π²Ρ‹Π·ΠΎΠ²Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅) ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ. ΠšΠ»ΠΈΠ΅Π½Ρ‚ блокируСтся ΠΈ ΠΆΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π°, Π° Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ запускаСтся сСрвСрный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΠΉ сообщСниС Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ локальной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Π‘Π΅Ρ€Π²Π΅Ρ€ Π²ΠΈΠ΄ΠΈΡ‚ Π²Ρ‹Π·ΠΎΠ² ΠΊΠ°ΠΊ прямоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π΅Π³ΠΎ локальной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, выполняСт Π²Ρ‹Π·ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ сСрвСрному ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΡƒ. Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму сСрвСра. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма сСрвСра пСрСсылаСт сообщСниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ΠšΠ»ΠΈΠ΅Π½Ρ‚ выводится ΠΈΠ· ΡΠΎΡΡ‚ояния оТидания, Π΅Π³ΠΎ опСрационная систСма ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ сообщСниС ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ Π΅Π³ΠΎ клиСнтскому ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΠ· ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма сСрвСра пСрСсылаСт сообщСниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ΠšΠ»ΠΈΠ΅Π½Ρ‚ выводится ΠΈΠ· ΡΠΎΡΡ‚ояния оТидания, Π΅Π³ΠΎ опСрационная систСма ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ сообщСниС ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ Π΅Π³ΠΎ клиСнтскому ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΠ· ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ [33]. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ схСма ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ 4.

По ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ, RPC Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π² Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ срСдС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ структурного программирования. ΠšΠ»ΠΈΠ΅Π½Ρ‚ обращаСтся ΠΊ ΠΏΡ€ΠΎΡ†Π΅ΡΡΡƒ-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΡƒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ ΠΎΠ½ ΠΈ Π΅ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСрный процСсс, ΠΈ ΡΡ‚ΠΎΡ‚ Π²Ρ‹Π·ΠΎΠ² Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ ΠΎΡ‚личаСтся ΠΎΡ‚ Π²Ρ‹Π·ΠΎΠ²Π° локальной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, клиСнтский ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ сСрвСра. ΠŸΡ€ΠΈ этом Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚, Π½ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€ ΠΌΠΎΠ³ΡƒΡ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ «Π½Π΅ Π·Π½Π°Ρ‚ΡŒ» ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… дСйствиях.

ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π° ΠΎΡ‚ ΡƒΡ€ΠΎΠ²Π½Ρ сСтСвых ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ, Π° ΡΠ·Ρ‹ΠΊ IDL обСспСчиваСт Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° RPC ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠΎΠ² программирования. Благодаря этому ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свои языковыС конструкции, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌΡ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ IDL-компилятором Π² ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ описания, Π° Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ IDL-описания ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ языка программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° сСрвСрная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°.

Как ΠΈ Π² ΡΠ»ΡƒΡ‡Π°Π΅ нСраспрСдСлСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° ΡΠΎΠ±ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ управлСния этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ клиСнтской ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π²Ρ€Π΅ΠΌΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²Π°.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ асинхронныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° RPC. Асинхронный RPC Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ клиСнтского процСсса Π½Π° Π²Ρ€Π΅ΠΌΡ выполнСния запроса. Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сокращаСт объСм ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΠΈ ΡΠ΅Π°Π½ΡΠ΅ связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ RPC создаСт статичСскиС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ распрСдСлСнного прилоТСния: привязка клиСнтского процСсса ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ сСрвСрным ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌ происходит Π½Π° ΡΡ‚Π°ΠΏΠ΅ компиляции ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния, Ρ‡Ρ‚ΠΎ являСтся сущСствСнным нСдостатком ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° RPC. Π­Ρ‚ΠΎΡ‚ нСдостаток прСодолСваСтся Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°Ρ… ΠΈ Ρ‚Схнологиях, рассмотрСнных Π΄Π°Π»Π΅Π΅.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ систСм MW ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ RPC базируСтся Π½Π° ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π΅ DCERPC (DCE — Distributed Computing Environment — «ΡΡ€Π΅Π΄Π° распрСдСлСнных вычислСний») ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Open Group. Π­Ρ‚ΠΈ систСмы свободно Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ исходных ΠΊΠΎΠ΄ΠΎΠ² ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡΡ… ряда поставщиков ПО, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ этот ΠΊΠΎΠ΄ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму. Помимо Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° взаимодСйствия распрСдСлСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² DCE Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ для распрСдСлСнной срСды слуТбы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ слуТба ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ файловая систСма [35].

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ