Π£ΠΈΠ»ΡΡΠΌ Π‘ΡΠΈΠ²Π΅Π½Ρ
UNIX: Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²
ΠΠΠ‘Π’ΠΠ -ΠΠΠΠ‘Π‘
ΠΡΠ΅ΠΌΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ Usenet, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π§Π°ΠΠΎ Ρ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ Π½Π° Π²ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΡΠ»ΡΡΠ°ΠΈ ΠΆΠΈΠ·Π½ΠΈ
ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΈΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠΎΡΠΌ ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ (IPC β Interprocess Communication). ΠΡΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π»ΡΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΡΡΠΎΡΡΠ΅Π΅ ΠΈΠ· ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ΅ΠΌ ΠΎΠ΄Π½Ρ Π±ΠΎΠ»ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ»Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ°ΠΏΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ:
1. Π‘Π½Π°ΡΠ°Π»Π° Π±ΡΠ»ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°Π»ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅. ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°Π»ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π²ΡΠΈΡ ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΡΠ΅ΡΠ΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
2. ΠΠΎΡΠΎΠΌ ΡΡΠ°Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² IPC. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Unix Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈΡΠ΅ΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΊΠ°Π½Π°Π»Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°.
3. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΡΡΠΎΡΡΠΈΠ΅ ΠΈΠ· Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΡΠΎΠΊΠΎΠ². Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½ IPC, Ρ ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½.
ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π΄Π²ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°: Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ², Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ.
ΠΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ°Π΅ΠΌΡΡ Π·Π°Π΄Π°Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. Π ΠΌΡΠ»ΡΡΠΈΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ ΠΏΠΎΠ²ΡΡΠΈΡΡ Π΅Π³ΠΎ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ΅ΡΡΡΠ΅ ΡΠΎΡΠΌΡ IPC:
1. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ (ΠΊΠ°Π½Π°Π»Ρ, FIFO, ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ).
2. Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ (Π²Π·Π°ΠΈΠΌΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΡΠ΅ΠΌΠ°ΡΠΎΡΡ).
3. Π Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ (Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ).
4. Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΡΠ΅Π΄ΡΡ (Π΄Π²Π΅ΡΠΈ, Sun RPC).
ΠΠ΄Π΅ΡΡ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ ΠΏΠΎ ΡΠ΅ΡΠΈ. Π’Π°ΠΊΠ°Ρ ΡΠΎΡΠΌΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΡΠ΅ΠΊΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² TCP/IP; ΡΡΠΈ ΡΠ΅ΠΌΡ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Ρ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠΎΠΌΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ([24]).
ΠΠ°ΠΌ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·ΡΠ°Π·ΠΈΡΡ, ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° IPC, Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΡΠ΅ΡΠΈ, Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ°ΡΡΠ΅ΡΠΎΠΌ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅ΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° IPC, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π°, ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π²ΡΠ΅, Π΄Π° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΠ΅. Π Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ β ΠΎΠ½ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π°. ΠΠΏΡΡ ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠΈ ΠΊΠ°ΠΊ Π½Π΅ΡΠ΅ΡΠ΅Π²ΡΡ , ΡΠ°ΠΊ ΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΎΡΠΌ IPC.
Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΎΠΌΠ° ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠΈΡ ΠΊΠ½ΠΈΠ³:
β UNIX Network Programming, ΡΠΎΠΌ 1, 1998 [24];
β Advanced Programming in the UNIX Environment, 1992 [21];
β TCP/IP Illustrated, ΡΠΎΠΌ 1, 1994 [22];
β TCP/IP Illustrated, ΡΠΎΠΌ 2, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π² ΡΠΎΠ°Π²ΡΠΎΡΡΡΠ²Π΅ Ρ ΠΠ°ΡΠΈ Π Π°ΠΉΡΠΎΠΌ (Gary Wright),1995, [27];
β TCP/IP Illustrated, ΡΠΎΠΌ 3, 1996 [23].
ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ, ΡΡΠΎ Ρ ΠΎΠΏΠΈΡΡΠ²Π°Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° IPC Π² ΠΊΠ½ΠΈΠ³Π΅, Π·Π°Π³Π»Π°Π²ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»ΠΎΠ²Π° Β«Network ProgrammingΒ». ΠΠ°ΠΌΠ΅ΡΡ, ΡΡΠΎ IPC ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ Π² ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π² ΠΏΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠΈ ΠΊ ΠΊΠ½ΠΈΠ³Π΅ Β«UNIX Network ProgrammingΒ» 1990 Π³ΠΎΠ΄Π° ΠΈΠ·Π΄Π°Π½ΠΈΡ, Β«Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ² ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ (IPC)Β».
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΡΠΡΠΎΡ ΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π³Π»Π°Π²Ρ 3 ΠΈ 18 ΠΊΠ½ΠΈΠ³ΠΈ Β«UNIX Network ProgrammingΒ» 1990 Π³ΠΎΠ΄Π° ΠΈΠ·Π΄Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΠΎΠ², ΠΎΠ±ΡΠ΅ΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΡΡ Π² ΠΏΡΡΡ ΡΠ°Π·. ΠΠΈΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΡ:
β Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΠΌ System V IPC (ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΡΠ΅ΠΌΠ°ΡΠΎΡΡ, ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ) ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Posix, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ ΡΡΠΈ ΠΆΠ΅ ΡΡΠΈ ΡΠΎΡΠΌΡ IPC. Π ΡΡΠ°Π½Π΄Π°ΡΡΠ°Ρ Posix Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 1.7. Π Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Posix, ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ System V.
β Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Posix: Π²Π·Π°ΠΈΠΌΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ. ΠΡΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΡΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
β Π ΡΡΠΎΠΌ ΡΠΎΠΌΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² Posix (Pthreads), ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ (Π° Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
β ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΈ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΎ Π½Π° ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ Posix.
β Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² IPC ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠΆΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠ² Posix (Π²ΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ). ΠΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠ² Posix ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡΡ. Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΎΡΠΌΠ΅ΡΠ°ΡΡΡΡ Π²Π°ΠΆΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΡΠΈΡΡΠ°ΡΠΈΠΈ Π³ΠΎΠ½ΠΎΠΊ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΎΠ² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ). ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° Π²Π΅Π΄Π΅Ρ ΠΊ Π»ΡΡΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
β ΠΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ RPC ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Sun RPC. Π Π°ΡΡΠΊΠ°Π· ΠΏΡΠ΅Π΄Π²Π°ΡΡΠ΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π²Π΅ΡΠ΅ΠΉ Π² Solaris, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡ ΠΎΠΆ Π½Π° RPC, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π°. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π²Π΅ΡΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π±Ρ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π²Π°ΠΆΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°Π½Π° ΡΡΠ° ΠΊΠ½ΠΈΠ³Π°?ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ IPC ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ². Π’Π΅ΠΊΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° ΡΠ΅ΡΡΡΠ΅ ΡΠ°ΡΡΠΈ:
β ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ;
β ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ;
β ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ;
β ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΡΠ΅Π΄ΡΡ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ Π±ΡΠ΄ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»ΠΎΠ². ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π³Π»Π°Π² ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ , Ρ ΠΎΡΡ Π² Π³Π»Π°Π²Π΅ 2 ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠ±ΡΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΠ΅Π΄ΡΡΠ² Posix IPC, Π² Π³Π»Π°Π²Π΅ 3 β System V IPC, Π° Π³Π»Π°Π²Π° 12 ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠ°ΠΌΡΡΡ (ΠΊΠ°ΠΊ Posix, ΡΠ°ΠΊ ΠΈ System V). ΠΡΠ΅ΠΌ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ Π³Π»Π°Π²Ρ 1, Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π·Π΄Π΅Π» 1.6, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΊΠ½ΠΈΠ³Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ-ΠΎΠ±Π΅ΡΡΠΊΠΈ. ΠΠ»Π°Π²Ρ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Posix IPC, ΠΌΠΎΠ³ΡΡ ΡΠΈΡΠ°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ Π³Π»Π°Π², ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ System V IPC. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΡΠΎΠΈΡ ΠΎΡΠΎΠ±Π½ΡΠΊΠΎΠΌ. ΠΠ²Π΅ Π³Π»Π°Π²Ρ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ Π²ΡΠ·ΠΎΠ²Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠΈΡΠ°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ ΠΏΡΠΎΡΠΈΡ .
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°. ΠΠ»Ρ ΡΠΈΡΠ°ΡΡΠΈΡ ΡΠ΅ΠΊΡΡ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π».
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Ρ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π°Π²ΡΠΎΡΠ° (Π°Π΄ΡΠ΅Ρ β Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΡ). ΠΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·ΡΡΠΈΡΡ IPC β ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ»ΡΡΡΠΈΡΡ ΠΈΡ . ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ ΡΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Ρ Π΄Π°ΡΡΡΡ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ, ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΡΠΎΡΡΡ Π΄Π°Π½Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π.
Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΉΡΠΈ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π°Π²ΡΠΎΡΠ°.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈΠ₯ΠΎΡΡ Π½Π° ΠΎΠ±Π»ΠΎΠΆΠΊΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΡΡΠΎΠΈΡ ΠΈΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠ°, Π² Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π»ΡΠ΄Π΅ΠΉ. ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ΡΠ»Π΅Π½Ρ ΡΠ΅ΠΌΡΠΈ Π°Π²ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠΈΡΠΈΠ»ΠΈΡΡ Ρ ΡΡΠ΅Π΄ΡΠΈΠΌΠΈ Π½Π° Π΅Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°ΡΠ°ΠΌΠΈ. ΠΡΠ΅ ΡΠ°Π· ΡΠΏΠ°ΡΠΈΠ±ΠΎ, Π‘Π°Π»Π»ΠΈ, ΠΠΈΠ»Π», ΠΠ»Π»Π΅Π½ ΠΈ ΠΡΠ²ΠΈΠ΄.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π» ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠ°ΡΠ° ΠΏΠΎΠΌΠΎΡΡ Π±ΡΠ»Π° ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΎΡΠ΅Π½ΠΈΠΌΠΎΠΉ (135 ΠΏΠ΅ΡΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡ). ΠΡ ΠΈΡΠΏΡΠ°Π²Π»ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ ΡΠ΅ΡΠΊΠΎΡΡΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π²Π°ΠΌ, ΠΠ΅Π²ΠΈΠ½ ΠΠΎΡΠΈ, ΠΠ»Π»Π΅Π½ ΠΡΠΈΠ³Π³Ρ, ΠΠ΅ΠΉΠ² ΠΡΡΠ΅Π½Ρ ΠΎΠ², ΠΠ°Π½-Π’Π΅Ρ Π§Π°Π½Π³, ΠΡΠΈΡ ΠΠ»ΠΈΠ»ΡΠ½Π΄, ΠΠΎΠ± Π€ΡΠΈΡΠ½Π°Π½, ΠΠ½Π΄ΡΡ ΠΠΈΠ΅ΡΡ, Π‘ΠΊΠΎΡΡ ΠΠΆΠΎΠ½ΡΠΎΠ½, ΠΠ°ΡΡΠΈ ΠΠ΅ΠΈΡΠ½Π΅Ρ, ΠΠ°ΡΡΠΈ ΠΠ°ΠΊ-ΠΠΎΠΉ, ΠΡΠ΅ΠΉΠ³ ΠΠ΅ΡΠ·, ΠΠΎΠ± ΠΠ΅Π»ΡΡΠΎΠ½, Π‘ΡΠΈΠ² Π ΡΠ³ΠΎ, ΠΠΆΠΈΠΌ Π Π΅ΠΉΠ΄, Π‘Π²Π°ΠΌΠΈ Π. Π‘ΠΈΡΠ°ΡΠ°ΠΌΠ°, ΠΠΆΠΎΠ½ Π. Π‘Π½Π΅ΠΉΠ΄Π΅Ρ, ΠΠ°Π½ ΠΠ°Π½Ρ Π’Π΅ΠΉΠ»ΠΎΡ, Π ΠΈΠΊ Π’ΠΈΡ ΠΈ ΠΠ½Π΄ΠΈ Π’Π°ΠΊΠ΅Ρ.
ΠΠ½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ ΠΈ ΡΠ΅, ΠΊΡΠΎ ΠΎΡΠ²Π΅ΡΠ°Π» Π½Π° ΠΌΠΎΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΠΏΠΈΡΡΠΌΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΠΎΠΉ Π±ΡΠ»ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ². ΠΠ°ΡΠΈ ΠΎΡΠ²Π΅ΡΡ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠ½ΠΈΠ³Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎΠΉ ΠΈ ΡΡΠ½ΠΎΠΉ: ΠΡΠ²ΠΈΠ΄ ΠΠ°ΡΡΡΠΌ, ΠΠ΅ΠΉΠ² ΠΡΡΠ΅Π½Ρ ΠΎΠ², ΠΠΈΠ»Π» ΠΠΎΠ»ΠΌΠ΅ΠΉΡΡΠ΅Ρ, ΠΠ°ΠΊΠ΅Ρ ΠΡΠΊΠ΅Ρ, ΠΡΠ°ΠΉΠ°Π½ ΠΠ΅ΡΠ½ΠΈΠ³Π°Π½, ΠΠ°ΡΡΠΈ ΠΠ°ΠΊΠΠΎΠΉ, Π‘ΡΠΈΠ² Π ΡΠ³ΠΎ, ΠΠ΅ΠΉΡ Π‘ΠΊΠΎΡΠ²ΡΠ°Π½, ΠΠ°ΡΡ Π‘ΠΌΠ°Π°Π»Π΄Π΅ΡΡ, ΠΠ½Π΄ΠΈ Π’Π°ΠΊΠ΅Ρ ΠΈ ΠΠΆΠΎΠ½ Π£ΡΠΉΡ.
ΠΡΠ΄Π΅Π»ΡΠ½Π°Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ ΠΠ°ΡΡΠΈ Π Π°ΡΡΠΊΠΈ ΠΈΠ· GSquared. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, Π³ΠΎΠ²ΠΎΡΡ Ρ NOAO, Π‘ΠΈΠ΄Π½Π΅Ρ ΠΡΠ»ΡΡΡ, Π ΠΈΡΠ°ΡΠ΄Ρ ΠΡΠ»ΡΡΡ ΠΈ Π‘ΡΠΈΠ²Ρ ΠΡΠ°Π½Π΄ΠΈ Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΡ ΡΠ΅ΡΡΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ. ΠΠΆΠΈΠΌ ΠΠ°ΡΠ½Π΄, ΠΡΡΡ Π’ΠΎΠΌΠ°Ρ, ΠΡΡΠΈ ΠΠ»Π°ΡΡΠ΅Ρ ΠΈ ΠΠ°ΡΠ± ΠΠ»ΠΎΠ²Π΅Ρ ΠΈΠ· Digital Equipment Corp. ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Alpha, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. Π§Π°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π±ΡΠ»Π° ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π° ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΠΠ°ΠΉΠΊΠ»Ρ ΠΠΆΠΎΠ½ΡΠΎΠ½Ρ ΠΈΠ· Red Hat Software (Π·Π° Π½ΠΎΠ²Π΅ΠΉΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Red Hat Linux), ΠΠ΅ΠΉΠ²Ρ ΠΠ°ΡΠΊΡΠ°ΡΠ΄ΡΡ ΠΈ ΠΠΆΠ΅ΡΡΠΈ Π₯Π°ΡΠ³ Π·Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ RS/6000 ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π²Π΅ΡΡΠΈΡΠΌ AIX.