Π Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Β«Π²Π²ΠΎΠ΄-ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°-Π²ΡΠ²ΠΎΠ΄Β». Π Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ΄Π½Π° ΡΠ°ΡΡΡ ΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½Π° Π·Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΊΡΠ΄Π°-Π»ΠΈΠ±ΠΎ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , Π΄ΡΡΠ³Π°Ρ ΡΠ°ΡΡΡ β Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ (ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ), ΡΡΠ΅ΡΡΡ ΡΠ°ΡΡΡ β Π·Π° ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΊΡΠ΄Π° Π½Π°Π΄ΠΎ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²ΠΠ°Π²Π°ΠΉΡΠ΅, Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΎΡΠΌΡΡΠ»ΠΈΠΌ, ΡΡΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΠΌΠ΅ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠ»Ρ Π½Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ Π½Π°Ρ Π±ΡΠ»ΠΎ Π±Ρ ΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° β ΠΏΡΠΎΡΠ΅ΡΡ Β«Π²Π²ΠΎΠ΄Π°Β», ΠΏΡΠΎΡΠ΅ΡΡ Β«ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈΒ» ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ Β«Π²ΡΠ²ΠΎΠ΄Π°Β»:
Π‘ΠΈΡΡΠ΅ΠΌΠ° 1: ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
Π ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ Π½Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ Π² Π²ΡΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½Π°, Π½ΠΎ ΠΈ Π² ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Β«ΡΠ»Π°Π±ΠΎ ΡΠ²ΡΠ·Π°Π½Π°Β». ΠΡΠΎΡΠ΅ΡΡ Β«Π²Π²ΠΎΠ΄Π°Β» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ Π½ΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ Β«ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈΒ», Π½ΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ Β«Π²ΡΠ²ΠΎΠ΄Π°Β» β ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠ±ΠΎΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°ΠΏ (Β«ΡΡΠ°ΠΏ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈΒ»).
ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ Β«ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈΒ» ΠΈ Β«Π²ΡΠ²ΠΎΠ΄Π°Β» β ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. Π’Π°ΠΊΠΆΠ΅ Π·Π΄Π΅ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ (Β«Π²Π²ΠΎΠ΄ β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°Β» ΠΈ Β«ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° β Π²ΡΠ²ΠΎΠ΄Β») ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ, ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ POSIX, ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ QNX/Neutrino β ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ).
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡΠ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ , ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΆΠ΅Π»Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ ΡΠ²ΡΠ·Π΅ΠΉ. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΡΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°ΡΡ ΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° Β«ΡΠ΅ΡΠ½Π΅Π΅Β». ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ ΡΡ Π΅ΠΌΡ Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ (Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΡΠΎΠ»ΡΡΡΠ΅ ΡΡΡΠ΅Π»ΠΊΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊΠΈ Π΄Π°Π½Π½ΡΡ ; ΡΠΎΠ½ΠΊΠΈΠ΅ ΡΡΡΠ΅Π»ΠΊΠΈ β ΠΏΠΎΡΠΎΠΊΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ):
Π‘ΠΈΡΡΠ΅ΠΌΠ° 2: ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π±ΡΡΠ΅ΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΠΌΡ Β«ΠΏΠΎΠ΄ΡΡΠ½ΡΠ»ΠΈΒ» ΡΠ²ΡΠ·Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠΉ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΌΡ Π·Π΄Π΅ΡΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Β«ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉΒ» ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½ΡΡ Π΅Π΅ Π½Π΅ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ²Π‘ΠΈΡΡΠ΅ΠΌΠ° Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠ²ΡΠ·ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡ Π΅ΠΌΠ΅:
Π‘ΠΈΡΡΠ΅ΠΌΠ° 3: ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ².
ΠΠ΄Π΅ΡΡ ΠΌΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅ΡΡ Ρ ΡΡΠ΅ΠΌΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ. ΠΡΠ΅ ΡΡΠΈ ΠΏΠΎΡΠΎΠΊΠ° Π½Π΅ΡΠ²Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ±ΠΌΠ΅Π½ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΄Π° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² (ΠΌΡ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π»ΠΈ Π΄Π΅Π»ΠΎ Ρ ΠΌΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Π±Π°ΡΡΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΠΌΠ°ΡΠΎΡΠ°ΠΌΠΈ β ΡΠΊΠΎΡΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅).
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ°Π²Π½ΠΈΠΌ ΡΡΠΈ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΠΎ ΡΡΠ΄Ρ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΠΈ Π²Π·Π²Π΅ΡΠΈΠΌ Π²ΡΠ΅ Β«Π·Π°Β» ΠΈ Β«ΠΏΡΠΎΡΠΈΠ²Β».
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ 1 ΡΠ²ΡΠ·Ρ Π±ΡΠ»Π° ΡΠ°ΠΌΠΎΠΉ ΡΠ»Π°Π±ΠΎΠΉ. ΠΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ (ΡΠΎ Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π² ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ/ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ΅) Π·Π°ΠΌΠ΅Π½Π΅Π½ Π΄ΡΡΠ³ΠΈΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ. ΠΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΈΡΠΎΠ΄Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Β«Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΠΈΒ» Π·Π΄Π΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ. Π‘ΠΈΡΡΠ΅ΠΌΠ° 1 ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ· Π²ΡΠ΅Ρ ΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΏΠΎ ΡΠ·Π»Π°ΠΌ ΡΠ΅ΡΠΈ QNX/Neutrino. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ²ΡΠ·ΠΈ Π·Π΄Π΅ΡΡ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½Ρ Π΄ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠΈ ΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π² ΡΠ΅ΡΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΡΠΌ ΡΠ°ΠΊΡΠΎΡΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ Π² ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ β Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΡ ΡΠ΅ΡΡ Π΄ΠΎ ΡΠΎΡΠ΅Π½ ΡΠ·Π»ΠΎΠ², Π»ΠΈΠ±ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΠΈΠ½Π°ΡΠ΅ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΌΡ ΡΠ΅ΡΡΠ΅ΠΌ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠΎ ΡΠ΅ΡΠΈ. QNX/Neutrino Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² Π‘ΠΈΡΡΠ΅ΠΌΠ΅ 2 ΠΌΡ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ»ΠΈ ΡΠ΅Π±Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Ρ ΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΌΠ°ΡΠΈΠ½Π΅. ΠΡ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π»Π΅Π³ΠΊΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π²ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ.
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ 3 ΠΌΡ ΡΠ΅ΡΡΠ΅ΠΌ Π²ΡΠ΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·Π»Π°Ρ (Ρ ΠΎΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ Π² SMP-ΡΠΈΡΡΠ΅ΠΌΠ΅). Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ Π½Π°ΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ β ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ· Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Β«Π²Π²ΠΎΠ΄Π°Β», Β«ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈΒ» ΠΈ Β«Π²ΡΠ²ΠΎΠ΄Π°Β» ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ (ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΊΠ°ΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ β DLL).
Π’Π°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ, ΠΊΠ°ΠΊ Π² Π‘ΠΈΡΡΠ΅ΠΌΠ΅ 3? ΠΠΎΡΠ΅ΠΌΡ Π±Ρ ΠΌΠ½Π΅ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ Π½Π΅ Π²ΡΠ±ΡΠ°ΡΡ Π‘ΠΈΡΡΠ΅ΠΌΡ 1?
ΠΡ, Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΡΠΎΠΌ, ΡΡΠΎ Π‘ΠΈΡΡΠ΅ΠΌΠ° 3 ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΠ³ΠΈΠ΄Π½ΠΎΠΉ, ΠΎΠ½Π°, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ°ΠΌΠΎΠΉ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅ΠΉ. Π Π½Π΅ΠΉ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ , ΠΌΠ½Π΅ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠ°ΠΌΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΏΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ², ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ POSIX ΠΈΠ»ΠΈ ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ QNX/Neutrino Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ β Ρ ΡΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ°. ΠΡΡΠ³ΠΈΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΡΡΠΎΡΡΠ΅ΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° (Ρ ΡΡΠ΅ΠΌΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ), Ρ ΠΌΠΎΠ³Ρ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠ½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄Π°Π»Π΅Π΅, ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ Ρ Π½ΠΎΡΠΈΡΠ΅Π»Ρ (ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΡΠΎΠΌ Π½Π΅ Π²ΡΡΡΠ½ΠΈΡΡΡ ΡΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ° Β«ΠΠΏΠ°! Π Π½ΡΠΆΠ½ΠΎΠ³ΠΎ-ΡΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΈ Π½Π΅ΡΡ...Β») Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π‘ΠΈΡΡΠ΅ΠΌΠ° 3 ΡΠ°ΠΊΠΆΠ΅, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π±ΡΠ΄Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²).
ΠΠΎΡΠ°Π»Ρ: Π·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ»ΠΈΡ ΠΊΠ°ΠΊΠΈΠ΅ Π²ΡΠ³ΠΎΠ΄Ρ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΡΠ΅ΡΠΈ, ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ
ΠΡ ΡΠΆΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ:
β’ ΠΌΡΡΠ΅ΠΊΡΡ;
β’ ΡΠ΅ΠΌΠ°ΡΠΎΡΡ;
β’ Π±Π°ΡΡΠ΅ΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°Π²Π΅ΡΡΠΈΠΌ Π½Π°ΡΡ Π΄ΠΈΡΠΊΡΡΡΠΈΡ ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΠ±ΡΡΠ΄ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
β’ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ (reader/writer locks);
β’ ΠΆΠ΄ΡΡΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (sleepons);
β’ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (condition variables);
β’ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ QNX/QNX/Neutrino.
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎΡΠ½ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ: Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Β«ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉΒ» ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡ Π² ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Β«ΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉΒ», ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ Β«ΠΏΠΈΡΠ°ΡΠ΅Π»ΡΒ» ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡ Π² ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Β«ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉΒ» ΠΈ Π΄ΡΡΠ³ΠΈΡ Β«ΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉΒ».
ΠΡΠ° ΡΠΈΡΡΠ°ΡΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠΈΡΠΈΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ.
Π£ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π³ΡΡΠΏΠΏΠΎΠΉ ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ. ΠΡΠ»ΠΈ Π±Ρ Π·Π°ΠΏΠΈΡΡ Π²Π΅Π»Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΎΠ΄Π½ΠΈ ΠΏΠΎΡΠΎΠΊΠΈ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΡ Π΄Π°Π½Π½ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΠ»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ ΠΏΠΎΡΠΎΠΊ-Β«ΠΏΠΈΡΠ°ΡΠ΅Π»ΡΒ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΡΠΊΠ»ΡΠ·ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ (Β«rwlockΒ»), ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠ² ΡΡΠΈΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΡΡΠΊΡΡΡΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΎ Π΄ΠΎΡΡΡΠΏΠ° Β«ΡΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ Π½Π° Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΠ½ΡΡ Π½Π°ΡΠ°Π»Π°Ρ Β» β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΡΡΠ΅Π½ΠΈΡ/ Π·Π°ΠΏΠΈΡΠΈ, Π·Π°Π²ΠΈΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ Π²Π°Ρ.
Π‘ Β«ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌΠΈΒ» ΡΠΈΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Π°Ρ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π°Π½Π½ΡΡ β Π½Π΅ΡΠ°Π·ΡΡΡΠ°ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π»ΡΠ±ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ (Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡ ΠΆΠ΅ ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ). Π‘Π»ΠΎΠΆΠ½ΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ Π·Π΄Π΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π΅Π΄Π΅ΡΡΡ ΡΡΠ΅Π½ΠΈΠ΅. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Β«Π²Π²Π΅Π΄Π΅Π½Ρ Π² Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅Β» β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠΎΠΊ ΠΌΠΎΠ³ Π±Ρ ΡΡΠΈΡΠ°ΡΡ ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ , Π·Π°ΡΠ΅ΠΌ Π±ΡΡΡ Π²ΡΡΠ΅ΡΠ½Π΅Π½Π½ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ-Β«ΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΌΒ» Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΡΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ! ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΡΠ·ΠΎΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ.
ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° Π²ΡΠ·ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ rwlock-Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ (ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ):
int pthread_rwlock_init(pthread_rwlock_t *lock,
const pthread_rwlockattr_t *attr);