Ntdll.dll.
ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows
ΠΠ½Π΅ ΡΠ΄ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ·Π΄Π΅ΡΠΆΠ΅ΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½ΡΠΆΠ½Ρ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΡΠΈΡΡ ΠΈ ΠΊΠ²ΠΎΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΡΠ΅ΠΌΡΡ ΠΏΡΠΈ ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ. Π ΡΠ΄ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΠΊΠΈΡ ΠΈΠ·Π΄Π΅ΡΠΆΠ΅ΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π½Π°Π±ΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Ntdll.dll. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Ntdll.dll — ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, Π½ΡΠΆΠ½Π°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ DLL ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ. ΠΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ²:
- β’ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² (system service dispatch stubs) ΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows;
- β’ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ DLL, ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΠ‘.
ΠΠ΅ΡΠ²Π°Ρ Π³ΡΡΠΏΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΠ· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°. Π’Π°ΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ 200, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ NtCreateFile, NtSetEvent ΠΈ Ρ. Π΄. ΠΠ°ΠΊ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ΅ΡΠ΅Π· Windows API (ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΌΠΎΠΉ ΠΠ‘).
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Ntdll ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΠΎΠ΄ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ΄ΡΠ° Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΆΠ΅ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΄ΡΠ° ΠΈΠ· Ntoskrnl.exe.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° (executive) Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΡΠΎΠ²Π½Π΅ Ntoskrnl. exe (ΡΠ΄ΡΠΎ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅). Π Π΅Π΅ ΡΠΎΡΡΠ°Π² Π²Ρ ΠΎΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ°:
- β’ ΠΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΈΠ· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°. ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΈ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Ntdll. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ΅ΡΠ΅Π· Windows API ΠΈΠ»ΠΈ API Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ LPC, ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²ΡΠΎΠ΄Π΅ NtQuerylnformationProcess, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° NtCreatePagingFile ΠΈ Ρ. Π΄.).
- β’ Π€ΡΠ½ΠΊΡΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ², Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΡ DeviceloControl. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ΄ΡΠ° Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ ΡΡΡΡΠΎΠΉΡΡΠ², Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡΡ.
- β’ ΠΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΄ΡΠ° ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² Windows DDK ΠΈΠ»ΠΈ Windows Installable File System (IFS) Kit (ΡΠΌ. www.microsoft.com/whdc/ddk/ifskit.default.mspx).
- β’ ΠΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΄ΡΠ°, Π½ΠΎ Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² Windows DDK ΠΈΠ»ΠΈ IFS Kit (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ Π½Π° ΡΡΠ°ΠΏΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΈ ΡΡΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Inbv).
- β’ Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅, Π½ΠΎ Π½Π΅ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠΊΠ»ΡΡΠ°ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π² Ntoskrnl; ΠΈΡ ΠΈΠΌΠ΅Π½Π° Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ lop (ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°) ΠΈΠ»ΠΈ Ρ Mi (ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ).
- β’ ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅, Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
- β’ ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΡΠ΅Π΅ΡΡΡΠΎΠΌ.
- β’ ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΠΎΠ·Π΄Π°ΡΡΠΈΠΉ ΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ ΠΏΠΎΡΠΎΠΊΠΈ. ΠΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠ΄ΡΠ΅ Windows, Π° ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
- β’ ΠΠΎΠ½ΠΈΡΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π·Π°ΡΠΈΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠ½ ΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΡ ΠΠ‘, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡ Π°ΡΠ΄ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ Π² ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
- β’ ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄ ΠΈ ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π½ΡΠΆΠ½ΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ² Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
- β’ ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ Plug and Play, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡΠΈΠΉ ΠΈΡ . Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ Π nΠ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, IRQ, ΠΊΠ°Π½Π°Π»Ρ DMA ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΠΎΡΡΠ»ΠΊΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ Π² Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ (ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²).
- β’ ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ, ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΡΡΠ»Π°Π΅ΠΌΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌ. ΠΠΎΠ³Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ Π·Π°Π½ΡΡΠ°, Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΡ CPU Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π²ΠΎΠ·Π»Π°Π³Π°Π΅ΡΡΡ Π½Π° ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ, Π½ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΡΠ΅ΡΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΎΠΌ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΡ.
- β’ ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ WDM Windows Management Instrumentation, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ²ΠΎΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°Ρ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡ ΡΠ»ΡΠΆΠ±Ρ WMI ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°. ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ WMI ΠΌΠΎΠ³ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΠΊΠ°ΠΊ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, ΡΠ°ΠΊ ΠΈ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π² ΡΠ΅ΡΠΈ.
- β’ ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΊΡΡΠ°, ΠΏΠΎΠ²ΡΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π·Π° ΡΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅Π΄Π°Π²Π½ΠΎ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ (ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ Π΄ΠΈΡΠΊΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π°). ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΊΡΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΡ Π·Π°Π΄Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΡΠΎΠ΅ΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ.
- β’ ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ — ΡΡ Π΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π°ΠΊΡΡΡΠΎΠ΅ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΎΠ±ΡΠ΅ΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ°ΠΌΡΡΡ. ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΠΊΡΡΠ°.
- β’ Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠ΅Π΄Π²ΡΠ±ΠΎΡΠΊΠΈ, ΡΡΠΊΠΎΡΡΡΡΠ΅Π΅ Π·Π°ΠΏΡΡΠΊ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π·Π° ΡΡΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΠΎΡΡΠ°Π² ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π²Ρ ΠΎΠ΄ΡΡ ΡΠ΅ΡΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π³ΡΡΠΏΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΡΠ΅ΡΡ ΠΈΠ· Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Π° Π² DDK, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΡΠΎΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈΡ .
- β’ ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² — ΡΠΎΠ·Π΄Π°Π΅Ρ, ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
- β’ ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ LPC — ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. LPC ΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΠΈΠ±ΠΊΠΎΠΉ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ RPC (remote procedure call), ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡ.
- β’ ΠΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΠΎΠΊ, Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΡΠΊΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
- β’ ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ (ΠΏΡΠ»ΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΈ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΡΠ°Π½ΠΈΡ), Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π²Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΏΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² — ΡΠ΅ΡΡΡΡ (resource) ΠΈ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΡΡΡΠ΅ΠΊΡ (fast mutex).
Π―Π΄ΡΠΎ
Π―Π΄ΡΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ Π² Ntoskrnl. exe, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ-Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ (Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ), ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ CPU. ΠΠΎΠ΄ ΡΠ΄ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π° Π‘, Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π»ΠΈΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ, ΡΡΡΠ΄Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΡΡ Π½Π° Π‘.
ΠΠ°ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΄ΡΠ° ΠΎΠΏΠΈΡΠ°Π½Π° Π² DDK, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΠ±ΡΠ΅ΠΊΡΡ ΡΠ΄ΡΠ°
Π―Π΄ΡΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ , ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΠ‘, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ²ΠΎΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. Π―Π΄ΡΠΎ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ; ΠΎΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΈ Π½Π΅ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΠΏΡΠΈΠ½ΡΡΠΈΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΎΠΉ.
ΠΠ½Π΅ ΡΠ΄ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ·Π΄Π΅ΡΠΆΠ΅ΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½ΡΠΆΠ½Ρ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΡΠΈΡΡ ΠΈ ΠΊΠ²ΠΎΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΡΠ΅ΠΌΡΡ ΠΏΡΠΈ ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ. Π ΡΠ΄ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΠΊΠΈΡ ΠΈΠ·Π΄Π΅ΡΠΆΠ΅ΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π½Π°Π±ΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ΄ΡΠ° (kernel objects). ΠΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ΄ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π°Π½Π½ΡΡ CPU ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ΄Π½Π° ΠΈΠ· Π³ΡΡΠΏΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ΄ΡΠ°, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΌΠΈ (control objects), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΠ‘. Π ΡΡΡ Π³ΡΡΠΏΠΏΡ Π²Ρ ΠΎΠ΄ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΠ Π‘, DPC (deferred procedure call) ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΎΠΌ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ).
ΠΡΡΠ³Π°Ρ Π³ΡΡΠΏΠΏΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² — ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° (dispatcher objects) ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ². Π Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Ρ ΠΎΠ΄ΡΡ:
- β’ ΠΏΠΎΡΠΎΠΊ ΡΠ΄ΡΠ° (kernel thread),
- β’ ΠΌΡΡΡΠ΅ΠΊΡ (mutex),
- β’ ΡΠΎΠ±ΡΡΠΈΠ΅ (event),
- β’ ΡΠ΅ΠΌΠ°ΡΠΎΡ (semaphore),
- β’ ΡΠ°ΠΉΠΌΠ΅Ρ (timer), ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ (waitable timer)? ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΄ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ΄ΡΠ°, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΠ΅Ρ ΠΈΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ
ΠΡΡΠ³Π°Ρ Π²Π°ΠΆΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΡΠ΄ΡΠ° — Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ² ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΠΌΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ Windows (Ρ.Π΅. ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ CPU).
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΄ΡΠ° Π½Π°ΡΠ΅Π»Π΅Π½Π° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° — Π΄Π°ΠΆΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ-Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. Π―Π΄ΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Π° Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ.
ΠΠΎ ΠΎΠ΄Π½Π° ΡΠ°ΡΡΡ ΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ , Π° Π΄ΡΡΠ³Π°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ΄, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, ΠΏΡΠΈΡΠ΅ΠΌ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π±ΡΠ΄Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ — Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ΄ΡΠ° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ Π² HAL, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΄Π°ΠΆΠ΅ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° CPU Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ.
Π ΡΠ΄ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΠΎΡΡΠΈΡ ΠΊΠΎΠ΄Π° Ρ Ρ 8Π±-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ MS-DOS. ΠΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠΌΠΈ Π² ΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, ΡΡΠΎ ΠΈΡ Π½Π΅Π»ΡΠ·Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Ρ Π΄ΡΡΠ³ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΏΠΎΠΏΡΠΎΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ. ΠΡΠΎΡ Ρ 8Π±-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ GDT (global descriptor tables) ΠΈ LDT (local descriptor tables) — Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Ρ 8Π±.
Π£ΡΠΎΠ²Π΅Π½Ρ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΎΡΡ, ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Windows ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ. ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ°ΠΊΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ, — ΡΡΠΎΠ²Π΅Π½Ρ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ (hardware abstraction layer, HAL). HAL — ΡΡΠΎ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΄ΡΠ° (Hal.dll), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Windows. ΠΠ½ ΡΠΊΡΡΠ²Π°Π΅Ρ ΠΎΡ ΠΠ‘ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ CPU, Ρ. Π΅. Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ.
ΠΠΎΠ³Π΄Π° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ Windows ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ² Π½ΡΠΆΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΎΠ½ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Π½Π΅ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, Π° ΠΊ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ HAL, ΡΡΠΎ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΠ‘. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ HAL Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ Π² Windows DDK, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ HAL ΠΈ ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ.