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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«QNX/UNIX: Анатомия ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 97

Автор Π¦ΠΈΠ»ΡŽΡ€ΠΈΠΊ ОлСг Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡

message exchange: number = 3347, stream = 0.507917 Mbit/sec

ΠŸΡ€ΠΈ взаимодСйствии ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с сСрвСром ΠΏΠΎ сСти Π² Ρ‚Π΅Ρ… ΠΆΠ΅ условиях, Ρ‡Ρ‚ΠΎ ΠΈ Π½Π° рис. 5.2, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΡƒΠΆΠ΅ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ процСссор Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π° 50% (рис. 5.3). Если ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с сСрвСром Π² нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (2-3), Ρ‚ΠΎ ΠΏΡ€ΠΈ максимальной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ процСссора ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΅Ρ‰Π΅ Π²Π΄Π²ΠΎΠ΅.

QNX/UNIX: Анатомия ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° - img_12.png

Рис. 5.3. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° процСссора ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈ сСтСвом взаимодСйствии ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с сСрвСром

# clr -nrtp -b100 -d

SRR repeater: vers. 1.03

server path: /net/rtp/dev/srr, block size = 100 bytes

CPU speed [c.p.s.]: client = 534639500, server = 451163200

manager exchange: number = 2167; stream = 0.480264 Mbit/sec

# clr -nrtp -b1000

SRR repeater: vers. 1.03

server path: /net/rtp/dev/srr, block size = 1000 bytes

CPU speed [c.p.s.]: client = 534639500, server = 451163200

message exchange: number = 1400; stream = 2.0555 Mbit/sec

# clr -nrtp -b1000 -d

SRR repeater: vers. 1.03

server path: /net/rtp/dev/srr, block size = 1000 bytes

CPU speed [c.p.s.]: client = 534639500, server = 451163200

manager exchange: number = 1626; stream = 2.00553 Mbit/sec

# clr -nrtp -b10000

SRR repeater: vers. 1.03

server path: /net/rtp/dev/srr, block size = 10000 bytes

CPU speed [c.p.s.]: client = 534639500, server = 451163200

message exchange: number = 366; stream = 4.73793 Mbit/sec

# clr -nrtp -b10000 -d

SRR repeater: vers 1.03

server path: /net/rtp/dev/srr, block size = 10000 bytes

CPU speed [c.p.s.]: client = 534639500, server = 451163200

manager exchange: number = 440; stream = 4.39515 Mbit/sec

ΠŸΡ€ΠΈ взаимодСйствии ΠΏΠΎ сСти Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ рСализациями ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° рСсурсов Π½Π΅ Ρ‚Π°ΠΊ Π·Π°ΠΌΠ΅Ρ‚Π½Π°. Π­Ρ‚ΠΎ ΠΈ понятно: ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ физичСской срСды ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π»ΠΎΠΊΠ°Ρ… ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (10 ΠšΠ±Π°ΠΉΡ‚) ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° (4.395–4.738*2, учитывая Ρ‡Ρ‚ΠΎ рСтрансляция вСдСтся Π² Π΄Π²ΡƒΡ… направлСниях) сильно приблиТаСтся ΠΊ физичСской пропускной способности ΠΊΠ°Π½Π°Π»Π° (10 ΠœΠ±ΠΈΡ‚/сСк, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅), Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΏΡƒΡ‚Π½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ вСсьма высокой эффСктивности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ сСти QNET.

Π§Ρ‚ΠΎ ΠΆΠ΅ Π² ΠΈΡ‚ΠΎΠ³Π΅?

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

Π”Π²Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡƒΡ‚ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Β«Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΒ», хотя это ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°. Они Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Β«Ρ€Π°Π·ΠΎΡˆΠ»ΠΈΡΡŒΒ» Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π»ΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅, Π½Π΅ воспроизводимыС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ способом Ρ‡Π΅Ρ€Ρ‚Ρ‹. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ процСсса, ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ сдСлано Π² ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΡŽ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Ρ€Π΅ΡˆΠ°Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями

(Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π—Π°ΠΉΡ†Π΅Π²)

ОбмСн сообщСниями (message passing) являСтся основой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ОБ QNX, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ строится Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ слуТСбных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ систСмы. НСсмотря Π½Π° свою Β«ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ€Π½ΠΎΡΡ‚ΡŒΒ», ΠΎΠ½ являСтся ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ (ΠΈ Π² силу своСй «нативности» Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ эффСктивным!) ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ для нСпосрСдствСнной ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами. ΠžΡΠΎΠ±Ρ‹ΠΉ ΠΆΠ΅ ΡˆΠ°Ρ€ΠΌ этого ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ вмСстС с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (Π½Π° основС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Send/Receive/Reply) ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… процСссов.

И хотя Π² QNX 6 появилось Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠΎΡ‰Π½ΠΎΠ΅ срСдство для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ рСсурсов, Π° Ρ‚Π°ΠΊΠΆΠ΅ имССтся Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ срСдств синхронизации, способный ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ любого программиста, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² POSIX-совмСстимых систСмах, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ остаСтся ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ срСдством, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ нСпосрСдствСнно Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО. ОсобСнно ΠΎΡ‚Ρ‡Π΅Ρ‚Π»ΠΈΠ²ΠΎ это проявляСтся Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΌΠΈΠ³Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсий ОБ QNX, ΠΈ вряд Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ объяснСно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ…, программистов, консСрватизмом.

ВмСстС с Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ QNX 4 ΠΊ QNX 6 Π²Ρ‹Π·Π²Π°Π» измСнСния Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями ΠΈ, ΠΊΠ°ΠΊ слСдствиС, API-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ этого стал ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ процСссам, ΠΏΡ€ΠΈ этом ΠΎΠ±ΠΌΠ΅Π½ сообщСниями стал ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами [43], Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ. БоотвСтствСнно измСнился ΠΈ «адрСсат» сообщСния. Π’ QNX 4 Π² этом качСствС выступал процСсс ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ β€” Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ (ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΠ·Π»Π΅) ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° (Β«virtual circuitΒ») ΠΏΡ€ΠΈ ΠΌΠ΅ΠΆΡƒΠ·Π»ΠΎΠ²Ρ‹Ρ… сообщСниях. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ сообщСниС (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΈΠ· сСмСйства

Send*()
) Π² адрСс Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ сСрвСра, процСссу-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ достаточно Π±Ρ‹Π»ΠΎ Β«Π·Π½Π°Ρ‚ΡŒΒ» этот ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. ΠŸΠΎΠ»ΡƒΡ‡Π°Π» ΠΎΠ½ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π»ΠΈΠ±ΠΎ ΠΎΡ‚ «родитСля» искомого процСсса, Π»ΠΈΠ±ΠΎ Ρ‡Π΅Ρ€Π΅Π· сСрвис глобального пространства ΠΈΠΌΠ΅Π½ (
qnx_name_attach()
ΠΈ
qnx_name_locate()
).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΆΠ΅, Π² QNX 6, Π² качСствС «адрСсата» сообщСния стал Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ соСдинСния (

coid
), ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ трСбуСтся ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ сСмСйства
MsgSend*()
. Для создания ΠΆΠ΅ соСдинСния с сСрвСром ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Β«Π·Π½Π°Ρ‚ΡŒΒ» Ρ‚Ρ€ΠΈΠ°Π΄Ρƒ соСдинСния: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ этого процСсса-сСрвСра (
pid
), дСскриптор ΡƒΠ·Π»Π° (
nd
), Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сСрвСр выполняСтся, ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ созданного сСрвСром ΠΊΠ°Π½Π°Π»Π° (
chid
).

Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ Β«Π²ΠΎΠ·ΠΌΡƒΡ‰Π΅Π½ΠΈΠ΅ΠΌΒ», привнСсСнным QNX 6 Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΡƒΡŽ ΠΈ ΡΠ»ΠΎΠΆΠΈΠ²ΡˆΡƒΡŽΡΡ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, явился ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΡƒΠ·Π»ΠΎΠ² (

nid
), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ являлись ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… сСти ΠΈ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ опрСдСляли ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠ·Π΅Π», ΠΊ дСскрипторам ΡƒΠ·Π»ΠΎΠ² (nd), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π°, Π½ΠΎ Π½Π΅ Π² сСти. Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… сСти Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΡƒΠ·Π»ΠΎΠ².