Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«1.Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство Windows (Π³Π». 1-4)Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 42

Автор ΠœΠ°Ρ€ΠΊ Руссинович

Для Π·Π°Ρ…Π²Π°Ρ‚Π° рСсурсов ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Ρ†Π΅Π»Ρ‹ΠΉ ряд Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: ExAcquireResour-ceSharedLite, ExAcquireResourceExclusiveLite, ExAcquireSharedStarveExclusive, ExAcquireWaitForExclusive ΠΈ ExTryToAcquireResourceExclusiveLite. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² DDK.


Π­ΠšΠ‘ΠŸΠ•Π Π˜ΠœΠ•ΠΠ’: пСрСчислСниС Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… рСсурсов ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы

Команда !locks ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ядра ΠΈΡ‰Π΅Ρ‚ Π² ΠΏΡƒΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ памяти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ рСсурсов ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΡ… состояниС. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ эта ΠΊΠΎΠΌΠ°Π½Π΄Π° пСрСчисляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ рСсурсы, Π½ΠΎ ΠΊΠ»ΡŽΡ‡ β€” d позволяСт ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ всС рСсурсы ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы. Π’ΠΎΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ счСтчик ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (contention count), ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡ‹ΠΉ ΠΈΠ· структуры рСсурса, фиксируСт, сколько Ρ€Π°Π· ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ рСсурс ΠΈ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² состояниС оТидания ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΠΆΠ΅ занят.

Для изучСния Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° рСсурса (Π² частности, ΠΊΡ‚ΠΎ Π²Π»Π°Π΄Π΅Π΅Ρ‚ рСсурсом ΠΈ ΠΊΡ‚ΠΎ ΠΆΠ΄Π΅Ρ‚ Π΅Π³ΠΎ освобоТдСния) ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ β€” v ΠΈ адрСс рСсурса:

lkdβ€Ί!locks β€” v 0x805439a0


Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ с Π·Π°Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ указатСля

Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ с Π·Π°Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ указатСля (push locks), Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появившиСся Π² Windows XP, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ синхронизации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ основан Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ «событиС» (Π² Windows Server 2003 Ρ‚Π°ΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ KGATE) ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ быстрым ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°ΠΌ заставляСт ΠΆΠ΄Π°Ρ‚ΡŒ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ прСимущСства Π½Π°Π΄ быстрыми ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π² раздСляСмом, Ρ‚Π°ΠΊ ΠΈ Π² монопольном Ρ€Π΅ΠΆΠΈΠΌΠ΅. Они Π½Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ Π½Π΅ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ядром, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для использования самой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой.

БущСствуСт Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ с Π·Π°Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ указатСля: ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΈ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ кэша (cache aware). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π² памяти Ρ‚ΠΎΡ‚ ΠΆΠ΅ объСм, Ρ‡Ρ‚ΠΎ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ (4 Π±Π°ΠΉΡ‚Π° Π² 32-разрядных систСмах ΠΈ 8 Π±Π°ΠΉΡ‚ΠΎΠ² Π² 64-разрядных). Когда ΠΏΠΎΡ‚ΠΎΠΊ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ с Π·Π°Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ указатСля, ΠΊΠΎΠ΄ этой Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Π΅Π΅ ΠΊΠ°ΠΊ Π·Π°Π½ΡΡ‚ΡƒΡŽ, Ссли ΠΎΠ½Π° Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ свободна. Если Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Π° для монопольного доступа ΠΈΠ»ΠΈ Ссли ΠΏΠΎΡ‚ΠΎΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π΅ монопольно, Π° ΠΎΠ½Π° ΡƒΠΆΠ΅ Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Π° для раздСляСмого доступа, Π΅Π΅ ΠΊΠΎΠ΄ создаСт Π² стСкС ΠΏΠΎΡ‚ΠΎΠΊΠ° Π±Π»ΠΎΠΊ оТидания, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «событиС» Π² этом Π±Π»ΠΎΠΊΠ΅ ΠΈ добавляСт послСдний Π² список оТидания, сопоставлСнный с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° освобоТдаСтся, Π΅Π΅ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ±ΡƒΠΆΠ΄Π°Π΅Ρ‚ ΠΆΠ΄ΡƒΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ (Ссли Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ имССтся), освобоТдая событиС Π² Π±Π»ΠΎΠΊΠ΅ оТидания ΠΏΠΎΡ‚ΠΎΠΊΠ°.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΈΠΏ создаСт ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ с Π·Π°Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ указатСля для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ процСссора Π² систСмС ΠΈ сопоставляСт Π΅Π΅ с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ с Π·Π°Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ указатСля, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ кэш. Когда ΠΏΠΎΡ‚ΠΎΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ, ΠΎΠ½ просто Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ процСссора Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ доступа.

ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Π² Ρ‚ΠΎΠΌ числС, диспСтчСром ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π·Π°Ρ‰ΠΈΡ‚Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ дСскрипторов Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ диспСтчСром памяти для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ структур Π΄Π°Π½Π½Ρ‹Ρ… AWE.


ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Driver Verifier

Π’Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° (deadlock) β€” это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° синхронизации, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π°Ρ, ΠΊΠΎΠ³Π΄Π° Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈΠ»ΠΈ процСссора ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ рСсурсы, Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ ΠΎΡ‚Π΄Π°Π΅Ρ‚ ΠΈΡ…. Вакая ситуация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ зависанию систСмы ΠΈΠ»ΠΈ процСсса. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° Driver Verifier, описываСмая Π² Π³Π»Π°Π²Π°Ρ… 7 ΠΈ 9, позволяСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, Π² Ρ‚ΠΎΠΌ числС Π½Π° спин-Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ…, быстрых ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°Ρ…. O Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Driver Verifier для Π°Π½Π°Π»ΠΈΠ·Π° зависания систСмы, см. Π³Π»Π°Π²Ρƒ 14.


БистСмныС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ

ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Windows создаСт нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π² процСссС System, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ систСмными Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ (system worker threads). Они ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для выполнСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΠΏΠΎΡ€ΡƒΡ‡Π΅Π½ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². Bo ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях ΠΏΠΎΡ‚ΠΎΠΊΠΈ, выполняСмыС Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Β«DPC/dispatchΒ», Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ IRQL. НапримСр, DPC-ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, выполняСмой Π² контСкстС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΏΡ€ΠΈ IRQL уровня Β«DPC/dispatchΒ» (DPC ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ·ΡƒΡ€ΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΏΠΎΡ‚ΠΎΠΊ Π² систСмС), Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡƒΠ»Ρƒ ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ памяти ΠΈΠ»ΠΈ ΠΆΠ΄Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ диспСтчСра для синхронизации с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ прилоТСния. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ DPC-ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΠΈΠ·ΠΈΡ‚ΡŒ IRQL, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ свою Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎΡ‚ΠΎΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смоТСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π΅ ΠΏΡ€ΠΈ IRQL Π½ΠΈΠΆΠ΅ уровня Β«DPC/dispatchΒ».

НСкоторыС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ устройств ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ собствСнныС ΠΏΠΎΡ‚ΠΎΠΊΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Β«passiveΒ», Π½ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ вмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ систСмныС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ слишком частого ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΈ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠ·-Π·Π° диспСтчСризации Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ устройства ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ сСрвисы систСмных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы ExQueueWorkItem ΠΈΠ»ΠΈ IoQueueWorkItem. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ элСмСнт (work item) Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌΡƒΡŽ систСмными Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ (см. Ρ€Π°Π·Π΄Π΅Π» Β«ΠŸΠΎΡ€Ρ‚Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°Β» Π³Π»Π°Π²Ρ‹ 9).

Π Π°Π±ΠΎΡ‡ΠΈΠΉ элСмСнт Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ элСмСнта. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° рСализуСтся Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ устройства ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы, выполняСмым Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Β«passiveΒ».

НапримСр, DPC-ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΆΠ΄Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ диспСтчСра, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅, ΠΆΠ΄ΡƒΡ‰Π΅ΠΌ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ диспСтчСра, ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Ha ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ этапС систСмный Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· своСй ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ элСмСнт ΠΈ выполняСт ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. ПослС Π΅Π΅ выполнСния систСмный Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ провСряСт, Π½Π΅Ρ‚ Π»ΠΈ Π΅Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… элСмСнтов, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Если Π½Π΅Ρ‚, систСмный Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ блокируСтся, ΠΏΠΎΠΊΠ° Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ элСмСнт. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ DPC-ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΡΡ Π² Ρ…ΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ элСмСнта систСмным Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ. (B однопроцСссорной систСмС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ всСгда Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π΄ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ элСмСнта, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ IRQL Β«DPC/dispatchΒ» ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.)


БущСствуСт Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° систСмных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²:

β€’ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ (delayed worker threads) β€” Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ с ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ 12, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ элСмСнты ΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ своСго стСка Π² страничный Ρ„Π°ΠΉΠ» Π½Π° врСмя оТидания Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… элСмСнтов;

β€’ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ (critical worker threads) β€” Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ с ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ 13, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ элСмСнты. B Windows Server ΠΈΡ… стСк всСгда находится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² физичСской памяти;

β€’ Π³ΠΈΠΏΠ΅Ρ€ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ (hypercritical worker thread) β€” СдинствСнный ΠΏΠΎΡ‚ΠΎΠΊ, выполняСмый с ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ 15. Π•Π³ΠΎ стСк Ρ‚ΠΎΠΆΠ΅ всСгда находится Π² памяти. ДиспСтчСр процСссов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π³ΠΈΠΏΠ΅Ρ€ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ элСмСнты для выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ.


Число ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… систСмных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², создаваСмых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы ExpWorkerInitialization, которая вызываСтся Π½Π° Ρ€Π°Π½Π½ΠΈΡ… стадиях процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, зависит ΠΎΡ‚ объСма памяти Π² систСмС ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, являСтся Π»ΠΈ систСма сСрвСром. B Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 3-11 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ количСство ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ создаваСмых Π² систСмах с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ExpInitializeWorker ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎ 16 ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΈ 16 ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… систСмных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ AdditionalDelayedWorkerThreads ΠΈ AdditionalCri-ticalWorkerThreads Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ рССстра HKLM\SYSTEM\CurrentControlSet\Cont-rol\ Session Manager\Executive.

Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ систСма стараСтся Π±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ число ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… систСмных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π² соотвСтствии с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. ΠšΠ°ΠΆΠ΄ΡƒΡŽ сСкунду функция ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы ExpWorkerThreadBalanceManager провСряСт, Π½Π°Π΄ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, создаваСмый Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ExpWorkerTbread-BalanceManager, называСтся динамичСским (dynamic worker thread). Для создания Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия.


β€’ ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… элСмСнтов Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ пустой.

β€’ Число Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… элСмСнтов ΠΈΠ»ΠΈ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… диспСтчСра ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹) Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ мСньшС количСства процСссоров Π² систСмС.

β€’ B систСмС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π½Π΅Π΅ 16 динамичСских Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².


ДинамичСскиС ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· 10 ΠΌΠΈΠ½ΡƒΡ‚ прСбывания Π² Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ состоянии. B зависимости ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΎ 16 Ρ‚Π°ΠΊΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².