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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма UNIXΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 89

Автор АндрСй РобачСвский

На рис. 5.12 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° схСма Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² систСмС с использованиСм псСвдотСрминала.

Рис. 5.12. АрхитСктура ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ доступа с использованиСм псСвдотСрминала

ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° STREAMS

АрхитСктура подсистСмы ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° STREAMS Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±Ρ‹Π»Π° описана Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π ΠΈΡ‚Ρ‡ΠΈ "ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Π°Ρ систСма Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°" (Ritchie, D.M., "A Stream Input-Output System", AT&T Bell Laboratories Technical Journal, Vol. 63, No. 8, Oct. 1984) Π² 1984 Π³ΠΎΠ΄Ρƒ. Двумя Π³ΠΎΠ΄Π°ΠΌΠΈ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ эта систСма Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² коммСрчСской вСрсии UNIX SVR3.

Поводом для создания Π½ΠΎΠ²ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° послуТили нСсколько ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π².

Врадиционная систСма Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, ориСнтированная Π½Π° ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ рассмотрСнная Ρ€Π°Π½Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅, Π±Ρ‹Π»Π° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ числом низкоскоростных асинхронных Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… устройств. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма взаимодСйствуСт с Ρ‚Π°ΠΊΠΈΠΌΠΈ устройствами (Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π° Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€) Π½Π° достаточно высоком ΡƒΡ€ΠΎΠ²Π½Π΅, возлагая ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€. ΠŸΡ€ΠΈ этом Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ зависима. ΠžΡΡ‚Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠΉ для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ спСктра ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ оборудования. По ΠΌΠ΅Ρ€Π΅ роста числа ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой устройств использованиС стандартной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ подсистСмы Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ сущСствСнным Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ расходам, Π² частности, ΠΊ Π½Π΅ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎΠΌΡƒ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° Π² ядрС UNIX.

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

НаконСц, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСтСвых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ подсистСмы Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° сСтСвых Π΄Π°Π½Π½Ρ‹Ρ… производится Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ сообщСний, ΠΏΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сСтСвого ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ стандартныС интСрфСйсы взаимодСйствия с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ (Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΌ уровнями) ΠΈ ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΠΈ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ. НапримСр, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» IP (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 3 ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI)[56] ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня: TCP ΠΈ UDP. На Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» IP Ρ‚Π°ΠΊΠΆΠ΅ взаимодСйствуСт с нСсколькими ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ, обСспСчивая ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сСтСвыС интСрфСйсы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ethernet, Token Ring ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π»). Вакая организация сСтСвых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру подсистСмы Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ объСдинСниСм нСзависимых ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° STREAMS Π² большой стСпСни ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эти Π·Π°Π΄Π°Ρ‡ΠΈ. Она прСдоставляСт интСрфСйс ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, основанный Π½Π° сообщСниях, ΠΈ обСспСчиваСт стандартныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, управлСния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ STREAMS Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° сводится ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² нСзависимых модулях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ. Π‘Π°ΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ обСспСчиваСт Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, связывая Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Ρ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ качСство ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, связав нСсколько нСзависимых ΡƒΡ‚ΠΈΠ»ΠΈΡ‚.

БСгодня подсистСма STREAMS поддСрТиваСтся Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм UNIX ΠΈ являСтся основным способом Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСтСвых Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ². ИспользованиС STREAMS ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ устройства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π² UNIX SVR4.

АрхитСктура STREAMS

ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° STREAMS обСспСчиваСт созданиС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² β€” полнодуплСксных ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ процСссом ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ устройства[57]. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° STREAMS опрСдСляСт интСрфСйсы ΠΈ Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ», Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для взаимодСйствия Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… частСй этой систСмы ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ‚Π°ΠΊΠΎΠ΅ взаимодСйствиС ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

На рис. 5.13 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° общая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΌΠ΅ΠΆΠ΄Ρƒ процСссом ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ STREAMS. Π‘Π°ΠΌ ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ располагаСтся Π² пространствС ядра, соотвСтствСнно ΠΈ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² систСмном контСкстС. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ состоит ΠΈΠ· Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ модуля, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π“ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ взаимодСйствуСт с ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌΠΈ процСссами Ρ‡Π΅Ρ€Π΅Π· интСрфСйс систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π”Ρ€Π°ΠΉΠ²Π΅Ρ€, Π·Π°ΠΌΡ‹ΠΊΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, взаимодСйствуСт нСпосрСдствСнно с физичСским устройством ΠΈΠ»ΠΈ псСвдоустройством, Π² качСствС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ….

Рис. 5.13. Базовая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΠΎΡ‚ΠΎΠΊΠ°

ΠŸΡ€ΠΎΡ†Π΅ΡΡ взаимодСйствуСт с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ стандартныС систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ open(2), close(2), read(2), write(2) ΠΈ ioctl(2). Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ poll(2), putmsg(2) ΠΈ getmsg(2). ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΏΠΎΡ‚ΠΎΠΊΡƒ осущСствляСтся Π² Π²ΠΈΠ΄Π΅ сообщСний, содСрТащих Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚ΠΈΠΏ сообщСния ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ сам Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ β€” ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ чтСния (read queue) ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ записи (write queue). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ обСспСчиваСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΈΡ… Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ модуля. ΠŸΡ€ΠΈ этом ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ записи осущСствляСтся Π²Π½ΠΈΠ· ΠΏΠΎ ΠΏΠΎΡ‚ΠΎΠΊΡƒ (downstream), Π° Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ чтСния β€” Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ ΠΏΠΎΡ‚ΠΎΠΊΡƒ (upstream). НапримСр, Π½Π° рис. 5.13 ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ записи модуля 2 сообщСниС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ записи модуля 1, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ сообщСниС ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ чтСния модуля 2 пСрСдаСтся Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ чтСния Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ модуля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ процСссу Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° систСмный Π²Ρ‹Π·ΠΎΠ² read(2). Когда процСсс выполняСт систСмный Π²Ρ‹Π·ΠΎΠ² write(2), Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ ΠΈ Π΄Π°Π»Π΅Π΅ Π²Π½ΠΈΠ· ΠΏΠΎ ΠΏΠΎΡ‚ΠΎΠΊΡƒ.

БообщСния Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² ΠΏΠ°Ρ€Π½ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ записи модуля 1 сообщСниС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ чтСния Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ модуля, Π° Π·Π°Ρ‚Π΅ΠΌ, ΠΏΡ€ΠΈ нСобходимости, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ ΠΏΠΎΡ‚ΠΎΠΊΡƒ. ΠŸΡ€ΠΈ этом ΠΌΠΎΠ΄ΡƒΠ»ΡŽ Π½Π΅Ρ‚ нСобходимости Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ части ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ β€” Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ, ΠΈΠ»ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρƒ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π·Π°Ρ‚Π΅ΠΌ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… комбинациях ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ….

ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° STREAMS обСспСчиваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ благодаря ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ динамичСского встраивания (push) модуля Π² ΠΏΠΎΡ‚ΠΎΠΊ. ВстраиваниС модуля Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ нСпосрСдствСнно послС Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ модуля. ΠŸΡ€ΠΈ этом Π±ΡƒΠ΄ΡƒΡ‚ установлСны связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ очСрСдями встраиваСмого модуля, Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ модуля ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π²Π½ΠΈΠ· ΠΏΠΎ ΠΏΠΎΡ‚ΠΎΠΊΡƒ. ПослС этого встроСнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ проходящих Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π΅ΠΌ самым измСняя ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠ°. ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ (pop) ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ°.

На рис. 5.14 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ, созданныС ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… стандартных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСтСвых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² сСмСйства TCP/IP. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ IP, TCP ΠΈ UDP ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ, Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Ethernet ΠΈΠ»ΠΈ Token Ring ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ производитСлями сСтСвых Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ². Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ встраивания Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° TCP Ρ‡Π΅Ρ€Π΅Π· Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ Ethernet, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° UDP Ρ‡Π΅Ρ€Π΅Π· Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ Token Ring.

Рис. 5.14. ИспользованиС ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²

ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° STREAMS Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ нСскольким модулям ΠΊΠ°ΠΊ Π²Π²Π΅Ρ€Ρ…, Ρ‚Π°ΠΊ ΠΈ Π²Π½ΠΈΠ· ΠΏΠΎ ΠΏΠΎΡ‚ΠΎΠΊΡƒ. Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€ΠΎΠ² β€” Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ ΠΏΠΎΡ‚ΠΎΠΊΡƒ, Π½ΠΈΠΆΠ½ΠΈΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½ΠΈΠ· ΠΏΠΎ ΠΏΠΎΡ‚ΠΎΠΊΡƒ, ΠΈ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΉ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Ρ‹ΡˆΠ΅ ΠΈ Π½ΠΈΠΆΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€Π°.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΏΠΎΡ‚ΠΎΠΊΠΈ, прСдставлСнныС Π½Π° рис. 5.14, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ нСсколько ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ИмСнно Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСти Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… вСрсиях ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX. ВозмоТная организация ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² STREAMS ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° рис. 5.15.