Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ: ΠΈΠ·ΡΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π² ΠΠ‘ Windows.
ΠΠ·ΡΡΠ°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
ΠΠΈΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°.
Π‘ΡΡΡΠΊΡΡΡΠ° CONTEXT.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ°.
ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠ°.
ΠΠΎΡΠΎΠΊΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ.
Π€ΡΠ½ΠΊΡΠΈΠΈ WinAPI Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ.
ΠΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ°.
ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°.
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ΅ Win32-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠΈΠ·Π°ΠΉΠ½ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π·Π°Π΄Π°Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ, ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΌ ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π³ΡΠ°ΡΠΈΠΊΡ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΠΈ ΠΏΠΎΡΠΎΠΊΠ°. ΠΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΡΠΎΠΊΠ°Ρ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»Π΅ΠΉ CONTEXT, Π²ΡΠ΅ΠΌΠ΅Π½Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Ρ. Π΄.). Π ΠΎΡΡΠ΅ΡΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠΎΠΏΠΈΠΈ ΠΎΠΊΠΎΠ½.
Π₯ΠΎΠ΄ ΡΠ°Π±ΠΎΡΡ. ΠΠΈΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°
ΠΠΎΡΠΎΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ. Π ΡΠ°ΠΌΠΊΠ°Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΌΠΎΠ³ΡΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΡΠΎΡΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΡ, ΠΏΠΎΡΠΎΠΊ — ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎΡΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ — ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌ.
ΠΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΡ
Π²Π°ΡΡΠ²Π°Π΅Ρ 2 ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΠΈΡ
ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ:
ΠΏΠΎΡΠΎΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ULT (User Level Thread);
ΠΏΠΎΡΠΎΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° KLT (Kernel Level Thread);
ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ UKLT.
ULT ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ°ΠΌΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. KLT ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΠΈΠΌ ΡΠ΄ΡΠΎΠΌ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ΄ΡΠ° ΠΠ‘.