ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° QNX
ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ, Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΠΌΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡΡ Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ (embedded) ΡΠΈΡΡΠ΅ΠΌ. Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /dev Π½Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ ΠΊΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π½Π΅Π½ΡΠΆΠ½ΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌ. ΠΡΠ°ΠΉΠ²Π΅ΡΡ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΡΡΠΎ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π ΡΠ΄Π°Π»ΡΡΡ (ΠΊΡΠΎΠΌΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ J) Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° QNX (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ° QNX Π±ΡΡΡΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π»Π°ΡΡ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΡ ΠΈΠ· ΡΠ·ΠΊΠΎΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΠ‘ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ [3]. ΠΠ΄Π½Π°ΠΊΠΎ Π΅Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΡΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΎΡ ΠΏΠΎΠΏΡΡΠΎΠΊ «Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΡΡΠ½ΠΊΡΠΈΡ» Π² QNX, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎΡ ΠΏΡΡΡ Π²Π΅Π΄Π΅Ρ Π² ΡΡΠΏΠΈΠΊ.
QNX ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ½ΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ — ΡΡΠ°Π²Π½ΠΈΡΡ ΠΈΡ .
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ API, ΡΡΠ° ΠΠ‘ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° Unix. ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Unix Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ QNX Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ — Π² Π½Π΅ΠΉ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅ΡΡ Π½Π°Π±ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΡΡ ΠΈ X Window, ΡΠ°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ TCP/IP. ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, Π·Π½Π°ΡΡΠΈΠΉ Unix, ΡΠΎ Π΄Π»Ρ Π²Π°Ρ Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΄Π° ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ GNU/Free-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² QNX. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Apache ΠΈ Mosaic Ρ ΠΎΡΠΎΡΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ API.
ΠΠ΄Π½Π°ΠΊΠΎ QNX — ΡΡΠΎ Π½Π΅ Π²Π΅ΡΡΠΈΡ Unix. ΠΠ½Π° Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Ρ Π½ΡΠ»Ρ ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Π½Π° ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΄ΡΡΠ³ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ , Π½ΠΎ Ρ ΡΡΠ΅ΡΠΎΠΌ Π³ΡΡΠΏΠΏΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² POSIX, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Unix. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π΄Π΅ΡΡΡ ΠΊΠ°Π½Π°Π΄ΡΠΊΠΎΠΉ ΡΠΈΡΠΌΠΎΠΉ QNX Software Systems Limited (Π΄Π°Π»Π΅Π΅ — QSSL).
QNX — ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ ΠΠ‘, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ ΠΌΠΈΠΊΡΠΎΡΠ΄ΡΠ° ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ (Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ) ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ (ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ), ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π²ΠΈΠ΄ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΡΠΈ ΠΈΠ΄Π΅ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ»ΠΈ ΡΡΠ΄ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ².
ΠΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡΡ, ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡΡ ΠΊ Π·Π°Π΄Π°ΡΠ°ΠΌ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΈ ΠΎΠ΄Π½Π° Π²Π΅ΡΡΠΈΡ Unix Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ΡΠ΅Π΅Π½ΡΡΠ°Π±Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΄ΡΠ° ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊ. ΠΡΠ±ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π² Unix ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠ΅. Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Windows NT, Π³Π΄Π΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ISR (ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ) ΠΈ DPC (Π²ΡΠ·ΠΎΠ² ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ).
ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ, Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΠΌΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡΡ Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ (embedded) ΡΠΈΡΡΠ΅ΠΌ. Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /dev Π½Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ ΠΊΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π½Π΅Π½ΡΠΆΠ½ΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌ. ΠΡΠ°ΠΉΠ²Π΅ΡΡ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΡΡΠΎ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π ΡΠ΄Π°Π»ΡΡΡ (ΠΊΡΠΎΠΌΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ J) Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½Ρ, ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΡΡΠΈΠ»ΠΈΠΉ ΠΈ Π½Π΅ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π Π°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠ΄ΡΠΎ, ΡΠΈΡΠΊΡΡ Π²ΡΠ·Π²Π°ΡΡ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² (ΡΠ΅ΡΠ²ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ) ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠ»ΡΡΠ΅ 3, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΈ, Π½Π΅ ΠΎΠΏΠ°ΡΠ°ΡΡΡ Π·Π° ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ°ΠΉΠ²Π΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠ»ΡΡΠ΅ 1 ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π½ΠΎ Π½Π΅ ΡΠ°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΡΠΎΡΠ½Π½Π°Ρ Π³ΠΎΠ»ΠΎΠ²Π½Π°Ρ Π±ΠΎΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ Linux — ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ DMA-ΡΡΡΡΠΎΠΉΡΡΠ² — ΡΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΈ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎ, ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΡ mmap ().
ΠΡΡΡΡΡΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» FLEET, ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΉ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ, Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΏΡΡΡΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ°. ΠΠ½ Π½Π΅ ΡΠ°ΠΊ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½, ΠΊΠ°ΠΊ TCP/IP, Π½ΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅.
ΠΠΎΠ³Π°ΡΡΠΉ Π²ΡΠ±ΠΎΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ QNX Windows, X11R5 ΠΈ Photon, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΈΡ ΡΠ΅Π»Π΅ΠΉ. ΠΠ»Ρ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ QNX ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° X11 ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΠΆΠ΅Π»ΠΎΠ²Π΅ΡΠ½Π°, Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Photon, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π½Π° ΡΠ΅Ρ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΈ ΡΠ°ΠΌΠ° QNX, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ GUI (ΡΠΈΠΏΠ° Motif 2.0), ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π²ΠΌΠ΅ΡΡΠ΅ Ρ POSIX-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΉ ΠΠ‘ Π²ΡΠ΅Π³ΠΎ Π² 4 ΠΠ±Π°ΠΉΡ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π»ΡΠ±Π°Ρ ΠΌΠ΅Π΄Π°Π»Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ±ΠΎΡΠΎΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ QNX Π½Π΅ Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠ΄ΡΠ΅ Unix, Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΡΠ½ΠΎΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΎΡ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ :
- — Π½Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ SMP;
- — Π½Π΅Ρ ΡΠ²ΠΎΠΏΠΏΠΈΠ½Π³Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° Π΄ΠΈΡΠΊ;
- — Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΠΈ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΈΡΠ΅ΠΉ (threads);
- — Π½Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Java (ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ°);
- — Π½Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΡ;
- — ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ;
- — Π½Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Unix-domain sockets;
- — ΡΠ»Π°Π±ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ;
- — ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°.
Π₯ΠΎΡΡ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π°ΠΆΠ½ΡΠ΅ ΠΏΡΠ½ΠΊΡΡ, Π½Π΅ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΊΡΠΈΡΠΈΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΡΠ½ΠΊΠ° QNX, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° Π½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ Ρ Unix. ΠΠΎ, ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ QNX, ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΎΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π ΡΡΠΎ ΠΏΡΠΈΡΠΎΠΌ, ΡΡΠΎ QNX ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈΠ΄Π΅ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΠ°!
Π§ΡΠΎ ΠΆΠ΅ ΡΡΠΎ Π·Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ? Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΠ‘, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΡΠΌΡΡΠ» Ρ Π²ΠΊΠ»Π°Π΄ΡΠ²Π°Ρ Π² ΠΎΠ±ΡΠ΅ΡΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½ «ΠΠ‘ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ» (Real Time OS). ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΠ‘ Π΅ΡΠ΅ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. ΠΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ Π»ΡΠ±ΡΡ ΠΠ‘ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π° Π΅Π΅ Π±Π°Π·Π΅ Π½Π΅ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Π΄Π°Π»Π΅Π΅ — «ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ»), Π½ΠΎ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΡΡ Π½Π° ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ. Π§Π΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ? ΠΡΡΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ.
— Π‘ΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΡ, ΡΡΠΏΠ΅Π²Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΡ Π·Π° ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΠΊ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Π΄Π°Π»Π΅Π΅ — «Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ»).
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΠ°ΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ. ΠΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π½Π΅ ΡΠ΄Π΅Π»Π°Π΅Ρ Windows ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠΉ.
— Π‘ΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ ΠΊ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠ»ΠΈ ΡΡΠΈ ΡΠΎΠ±ΡΡΠΈΡ Π½Π°ΡΡΡΠΏΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠΏΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅Ρ ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΌΠΊΠ°Ρ , Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°, ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΌΠΎΠΊ.
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠΎΠΌ. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΡΠ΅ΡΠ½ΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°Ρ , Π° ΡΠ°ΠΊΠΆΠ΅ Π±ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΠΠ‘ ΠΈ Π½Π° Π΅Π΅ ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΠΠ‘ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ.
- 1. ΠΠ‘ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΡΠ΅ΡΠ½ΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ (preemptive multi-threading) ΠΈ ΠΌΡΠ»ΡΡΠΈΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
- 2. ΠΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ (interrupt levels), Π° ΠΠ‘ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π²ΡΡΠ΅ΡΠ½Π΅Π½ΠΈΠ΅ (preemption) ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ.
- 3. ΠΠ°ΠΆΠ΄Π°Ρ Π½ΠΈΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (thread) Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ ΡΠΏΠΎΡΠΎΠ± Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΡΡΠΈ. Π ΠΈΠ΄Π΅Π°Π»Π΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠΎΠΉ Π½ΠΈΡΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΡΠ°Π»ΠΎΡΡ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎ ΠΈΡΡΠ΅ΡΠΏΠ°Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΌΠΎΠΊ (Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ EDF — Earliest Deadline First). ΠΠΎ ΡΡΠΈΡΡΠ²Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΡ Π΅ΠΌΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² Ρ Π½ΠΈΡΠ΅ΠΉ, ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ².
- 4. ΠΠ‘ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΡΡΠΌΠΈ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ «ΠΈΠ½Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ²». ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π½ΠΈΡΠ΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ «Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ²» (ΠΈΠ»ΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ).
- 5. ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΠ‘ ΠΏΠΎΡΠ»Π΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎ ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΠ‘ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, ΠΊΠ°ΠΊ «Π·Π°Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ» (interrupt latency), ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
- 6. ΠΠ‘ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ ΡΠ΅ΡΡΡΡΠ°Ρ , ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
- 7. Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈ ΠΌΠ°ΡΡΠΎΠ²ΡΡ ΡΠΈΡΠ°ΠΆΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΠΉ.
- 8. ΠΠ‘ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ API ΠΈ «Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°ΡΠΈΠΉ» ΡΠ΅ΡΠ²ΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΠ‘ ΡΠΏΠΎΡΠΎΠ±Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Ρ ΠΎΡΡ Π±Ρ ΡΠ°ΡΡΡ ΡΡΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, Ρ ΠΎΡΡ Π½Π΅ Π²ΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²Π°ΠΆΠ½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Windows NT Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ 2 ΠΈ 4 ΠΈ Π²Π΅ΡΡΠΌΠ° ΡΠ»Π°Π±ΠΎ — ΡΡΠ»ΠΎΠ²ΠΈΠΌΡ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Π² ΠΏ.ΠΏ. 3, 5, 6, 7 ΠΈ 8. Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ QNX ΡΠ°ΠΊ ΠΆΠ΅ Π½Π΅ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
- — Π½Π΅Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΈΡΠ΅ΠΉ ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΡ ΠΌΡΠ»ΡΡΠΈΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ (SMP);
- — ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ (32);
- — ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ «Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ²» Π΄Π»Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ (ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠ²);
- — Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ΅Π½Π΅Π΅ 512 KΠ±Π°ΠΉΡ, Π° Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅;
- — ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠΈΠ΅ ΡΠ΅Π½Ρ, Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ°Ρ Π·Π°ΠΊΡΠΏΠΎΠΊ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΡΡΡΡΡ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°ΠΌΠΈ QNX. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π½ΠΈΡΠ΅ΠΉ ΠΈ SMP ΠΎΡΡΠ°ΡΡΠΈ ΡΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ, Π° Π²ΡΡΠΎΠΊΠΈΠ΅ ΡΠ΅Π½Ρ — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘Π΅ΠΌΠ°ΡΠΎΡΡ ΠΆΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ «ΠΏΡΡΡΠΌ ΠΊΠΎΠ»Π΅ΡΠΎΠΌ Π² ΡΠ΅Π»Π΅Π³Π΅» Π΄Π»Ρ QNX.