Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ
1. ΠΠΎΡΠ΅ΠΌΡ Π½Π° ΡΠΈΡ. 30.2 ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠΉ ΡΠΎΠΊΠ΅Ρ ΠΎΡΠΊΡΡΡΡΠΌ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π·Π°ΠΊΡΡΡΡ Π΅Π³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π½Ρ Π²ΡΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ?
2. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° 30.9 ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π΅ΠΉΡΠ°Π³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Π΄ΠΎΠΌΠ΅Π½Π½ΡΠΉ ΡΠΎΠΊΠ΅Ρ Unix Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠΊΠ΅ΡΠ° Π΄ΠΎΠΌΠ΅Π½Π° Unix. Π§ΡΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ?
3. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈΠ· ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅.
ΠΠ»Π°Π²Π° 31
ΠΠΎΡΠΎΠΊΠΈ (STREAMS)
31.1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΠΎΠ±Π·ΠΎΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² STREAMS ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠΎΡΠΎΠΊΡ. ΠΠ°ΡΠ° ΡΠ΅Π»Ρ β ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ TCP Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ TPI β ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠΌΡ ΡΡΠΎΠ²Π½Ρ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠΊΠ΅ΡΠ°ΠΌΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΠΏΠΎΡΠΎΠΊΠ°Ρ . ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΡΠΎΠΊΠ°Ρ , Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ ΡΠ΄Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΠΏΠΎΡΠΎΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² [98].
ΠΠ ΠΠΠΠ§ΠΠΠΠΠ’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π±ΡΠ»Π° Π²Π²Π΅Π΄Π΅Π½Π° ΠΠ΅Π½ΠΈΡΠΎΠΌ Π ΠΈΡΡΠΈ (Dennis Ritchie) [104] ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ SVR3 Π² 1986 Π³ΠΎΠ΄Ρ. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ POSIX ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ STREAMS ΠΊΠ°ΠΊ Β«Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π³ΡΡΠΏΠΏΡΒ», ΡΠΎ Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊΠΈ STREAMS, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ, ΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ POSIX. ΠΡΠ±Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°Ρ ΠΎΡ System V, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊΠΈ, Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ 4x.BSD ΠΏΠΎΡΠΎΠΊΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ.
ΠΠΎΡΠΎΠΊΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΡΡΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ STREAMS, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΠΊΡΠΎΠ½ΠΈΠΌΠΎΠΌ, ΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ Β«ΠΏΠΎΡΠΎΠΊΠΈΒ».
ΠΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΌΠ΅ΡΠΈΠ²Π°ΡΡ Β«ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°Β» (streams I/O system), ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅, ΠΈ Β«ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°Β» (standard I/O streams), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ (threads). ΠΡΠΎΡΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ, ΠΊΠ°ΠΊ fopen, fgets, printf ΠΈ Ρ.ΠΏ.).
31.2. ΠΠ±Π·ΠΎΡ
ΠΠΎΡΠΎΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 31.1. Π₯ΠΎΡΡ Π½ΠΈΠΆΠ½ΠΈΠΉ Π±Π»ΠΎΠΊ Π½Π° ΡΡΠΎΠΌ ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΌΡ ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ, Π΅Π³ΠΎ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΡΠ΅Π²Π΄ΠΎΡΡΡΡΠΎΠΉΡΡΠ²Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ).
Π ΠΈΡ. 31.1. ΠΠΎΡΠΎΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ
ΠΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΡΠΎΠΊΠ° (stream head) ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ΄ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΠΏΠΎΡΠΎΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ read, putmsg, ioctl ΠΈ Ρ.ΠΏ.).
ΠΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ (processing modules) ΠΌΠ΅ΠΆΠ΄Ρ Π³ΠΎΠ»ΠΎΠ²Π½ΡΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ. Π’Π°ΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΈΠΉ ΡΠΈΠΏ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠΎΡ ΠΎΠ΄ΡΡΠΈΡ Π² ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎ ΠΏΠΎΡΠΎΠΊΡ. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 31.2.
Π ΠΈΡ. 31.2. ΠΠΎΡΠΎΠΊ Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ
Π ΠΏΠΎΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΎ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠΎΠ΄ ΡΠ»ΠΎΠ²ΠΎΠΌ Β«ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΒ» (push) Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ (Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ β Π½ΠΈΠΆΠ΅) Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΏΡΠ΅Π²Π΄ΠΎΠ΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΎΡΠΎΠΌ (multiplexor). ΠΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ². ΠΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΏΠΎΡΠΎΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² TCP/IP, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² SVR4, ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π½Π° ΡΠΈΡ. 31.3.
Π ΠΈΡ. 31.3. Π£ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ Π²ΠΈΠ΄ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π°Π±ΠΎΡΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² TCP/IP, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° ΠΏΠΎΡΠΎΠΊΠ°Ρ
β ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΎΠΊΠ΅ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΡΠΎΠΊΠ΅ΡΠΎΠ² Π² ΠΏΠΎΡΠΎΠΊ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ sockmod. ΠΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ API ΡΠΎΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
β ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° XTI Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ XTI Π² ΠΏΠΎΡΠΎΠΊ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ timod. ΠΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ XTI ΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ API XTI Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
ΠΠ ΠΠΠΠ§ΠΠΠΠΠΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΌΠ΅ΡΡ, Π³Π΄Π΅ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± XTI. ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π»ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ XTI ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, Π½ΠΎ ΠΎΠ½ ΡΠΆΠ΅ Π²ΡΡΠ΅Π» ΠΈΠ· ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ, ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ POSIX Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΅Π³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ°Π²ΡΠΈΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΠΌΠΈ Π³Π»Π°Π²Ρ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠ° ΡΠΈΡ. 31.3 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ XTI. Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎ Π½Π΅ΠΌ, Π½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΈΡΠΈΠ½ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ XTI Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Ρ.
β ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ read ΠΈΠ»ΠΈ write Π² ΡΠΎΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ° XTI ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΏΠΎΡΠΎΠΊ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ tirdwr. ΠΡΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌ TCP, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° ΡΠΈΡ. 31.3 ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΌ ΡΠ»Π΅Π²Π°. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΎΡΠΊΠ°Π·Π°Π»ΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ XTI, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ±ΡΠ°Π»ΠΈ Π½Π°Π΄ΠΏΠΈΡΡ Β«Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° XTIΒ» ΠΈΠ· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°.
β Π€ΠΎΡΠΌΠ°Ρ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΏΠΎ ΠΏΠΎΡΠΎΠΊΠ°ΠΌ Π²Π²Π΅ΡΡ ΠΈ Π²Π½ΠΈΠ·, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΡΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ . TPI (Transport Provider Interface β ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΡ ΡΠ»ΡΠΆΠ±) [126] ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠΌ ΡΡΠ»ΡΠ³ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, TCP ΠΈΠ»ΠΈ UDP). NPI (Network Provider Interface β ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ) [125] ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠΌ ΡΡΠ»ΡΠ³ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, IP). DLPI (Data Link Provider Interface) β ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΠΊΠ°Π½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ [124]. ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ TPI ΠΈ DLPI, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘, β ΡΡΠΎ [98].
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΡΠΎΠΊΠ° β Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅Ρ β ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΠΎ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΏΠ°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ: ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π° Π·Π°ΠΏΠΈΡΡ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 31.4.
Π ΠΈΡ. 31.4. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΡΠΎΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΏΠ°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ
Π’ΠΈΠΏΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΠΎΡΠΎΠΊΠΎΠ²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ (high priority), Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π² ΠΏΠΎΠ»ΠΎΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° (priority band) ΠΈ ΠΎΠ±ΡΡΠ½ΡΠ΅ (normal). Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 256 ΠΏΠΎΠ»ΠΎΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ 0 ΠΈ 255, ΠΏΡΠΈΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΏΠΎΠ»ΠΎΡΠ΅ 0. ΠΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠΌ (flow control). ΠΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ, Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ.
ΠΠ° ΡΠΈΡ. 31.5 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
Π ΠΈΡ. 31.5. ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°
Π₯ΠΎΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ 256 ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠΎΠ»ΠΎΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°, Π² ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΠΎΡΠ° 1 Π΄Π»Ρ ΡΡΠΎΡΠ½ΡΡ (Π²Π½Π΅ΠΏΠΎΠ»ΠΎΡΠ½ΡΡ ) Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠ»ΠΎΡΠ° 0 Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ ΠΠΠΠ§ΠΠΠΠΠΠ½Π΅ΠΏΠΎΠ»ΠΎΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ TCP Π² TPI Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΈΡΡΠΈΠ½Π½ΡΠ΅ ΡΡΠΎΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. Π ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π² TCP ΠΏΠΎΠ»ΠΎΡΠ° 0 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ Π²Π½Π΅ΠΏΠΎΠ»ΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ»ΠΎΡΠ° 1 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΡΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°Ρ , Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΎΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ (Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΠΎΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΊΠ°ΠΊ Π² TCP) ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈΡΡ ΠΊ ΡΠ΅ΡΠΌΠΈΠ½Ρ Β«ΠΎΠ±ΡΡΠ½ΡΠΉΒ» (normal). Π ΡΠΈΡΡΠ΅ΠΌΠ°Ρ SVR, ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ SVR4, Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΠΎΠ»ΠΎΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°, Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄Π΅Π»ΠΈΠ»ΠΈΡΡ Π½Π° ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠ΅ (priority messages). Π SVR4 Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ ΠΏΠΎΠ»ΠΎΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°, ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ getpmsg ΠΈ putpmsg, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π²ΡΠΊΠΎΡΠ΅ ΠΎΠΏΠΈΡΠ΅ΠΌ. ΠΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ, ΠΈ Π²ΡΡΠ°Π» Π²ΠΎΠΏΡΠΎΡ, ΠΊΠ°ΠΊ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΠΏΠΎΠ»ΠΎΡΠ°ΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° ΠΎΡ 1 Π΄ΠΎ 255. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ [98], ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π½Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΏΠΎΠ»ΠΎΡΠ°ΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°. Π’Π΅ΡΠΌΠΈΠ½ Β«ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅Β» Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΏΠΎΠ»ΠΎΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° 0.
Π₯ΠΎΡΡ ΠΏΠΎΠΊΠ° ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ ΠΈ ΠΎΠ± ΠΎΠ±ΡΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ , ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 12 ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠΊΠΎΠ»ΠΎ 18 ΡΠΈΠΏΠΎΠ² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ getmsg ΠΈ putmsg, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΠΏΠΈΡΠ΅ΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅, Π½Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ: M_DATA, M_PROTO ΠΈ M_PCPROTO (PC ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«priority controlΒ», ΡΠΎ Π΅ΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ). Π ΡΠ°Π±Π». 31.1 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΈ ΡΡΠΈ ΡΠΈΠΏΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ write ΠΈ putmsg.