ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ β ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ. ΠΠ½ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠ΅Π΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΡΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΏΠΎΡΡΠ°Ρ
Ρ ΠΊΠΎΡΠ½ΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π£ΠΏΠΎΡ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈ Π΄Π΅ΡΠ°Π»ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΠΈΠΌΠΈ, Π½ΠΎ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Linux ΠΈ Windows, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ
ΡΡ Π½Π° x86-32 ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΠΉ ΠΠ‘ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ βΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅β. ΠΡΠ° ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² 32-Π±ΠΈΡΠ½ΠΎΠΌ Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°Π²Π½ΡΠΉ 4 Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ°ΠΌ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΡΠ°Π½ΠΈΡ (page table). Π―Π΄ΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΡ, Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π½ΠΈΠΌ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π°Π΄ΡΠ΅ΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ°Π±Π»ΠΈΡ. ΠΡΡΡ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° Π²ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ΅ ΠΠ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈ ΡΠ°ΠΌΠΎ ΡΠ΄ΡΠΎ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΡΠ΅ΡΡΡ ΡΠ°ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° (Ρ.Π½. kernel space).
ΠΡΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΠ΄ΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΏΡΠΎΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΌΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎ Π²ΡΠ±ΠΎΡΡ ΡΠ΄ΡΠ°. Π‘ΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ kernel space, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ ΡΡΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (ΠΊΠΎΠ»ΡΡΠΎ 2 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅). ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠΈΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ ΠΈΠ· user mode ΠΊΠΎΠ΄Π° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ page fault. Π ΡΠ»ΡΡΠ°Π΅ Ρ Linux, kernel space Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΈ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΌΡΠΏΠΏΠΈΡΡΡΡ kernel space Π² ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΄ΡΠ° Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ². Π ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ, Π·Π°ΠΌΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π² user mode space, ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°.
Π‘ΠΈΠ½ΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠΌ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΡΡΠ°ΡΡΠΊΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ; Π±Π΅Π»ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ β Π΅ΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Firefox ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°. ΠΡΠ΅ ΠΌΡ Π·Π½Π°Π΅ΠΌ ΠΎ Π»Π΅Π³Π΅Π½Π΄Π°ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΆΠΎΡΠ»ΠΈΠ²ΠΎΡΡΠΈ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π‘ΠΈΠ½ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ β ΡΡΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΡΡΠ° (heap), ΡΡΠ΅ΠΊ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ΄ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ½ΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ. ΠΡΠΎ Π½Π΅ ΡΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² Intel ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ . Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅, Π²ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π² Linux:
ΠΠ°Π²Π½ΡΠΌ Π΄Π°Π²Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΠ»Π°ΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌ Π΅ΡΠ΅ ΠΌΠ»Π°Π΄Π΅Π½ΡΠ΅ΡΠΊΠΎΠΌ Π²ΠΎΠ·ΡΠ°ΡΡΠ΅, Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² Π±ΡΠ»ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π»ΠΎΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΠΊΡΠΏΠ»ΠΎΠΉΡΡ ΡΠ°ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΌ Π°Π΄ΡΠ΅ΡΠ°ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ Π² ΡΡΠ΅ΠΊΠ΅, ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. Π₯Π°ΠΊΠ΅Ρ, ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π°ΡΠ°ΠΊΡ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π°Π΄ΡΠ΅ΡΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ Π² ΡΠ»Π΅ΠΏΡΡ Π² ΡΠ°ΡΡΠ΅ΡΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌ. Π ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΠ΅, ΡΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π»ΡΠ΄Π΅ΠΉ Ρ Π°ΠΊΠ°ΡΡ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅, ΠΏΡΠΈΠΎΠ±ΡΠ΅Π» ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°. Linux ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°, ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ memory mapping, ΠΈ ΠΊΡΡΠΈ β ΠΈΡ ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, 32-Π±ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ-ΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅, ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ Π² ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π½ΠΈΠ²Π΅Π»ΠΈΡΡΠ΅ΡΡΡ.
Π Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ user mode space ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΡΡΠ΅ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΅Π³ΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΊ Ρ.Π½. ΡΡΠ΅ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ°. ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΡΡΠ΅ΠΊΠΎΠ²ΡΠΉ ΡΡΠ΅ΠΉΠΌ ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅ΡΡΡ. Π‘ΡΠ΅ΠΊ ΡΡΡΡΠΎΠ΅Π½ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ β Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ Β«ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΡΠΈΡΡΠ» β ΠΏΠ΅ΡΠ²ΡΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠ΅Π½Β» (LIFO). ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅, Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΡΡΠΊΡΡΡ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π²Π΅ΡΡ ΡΡΠΊΡ ΡΡΠ΅ΠΊΠ°. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΡΠ΅ΠΊ ΠΈ ΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ β Π±ΡΡΡΡΠ°Ρ ΠΈ ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΡΡΠΎ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΊΠΎΡΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΡΠ΅Π΄ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΎΡΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ΄ ΡΡΠ΅ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΠ΅Π±Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, Π±ΡΠ΄Π΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ page fault, ΠΊΠΎΡΠΎΡΡΠΉ Π² Linux ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ expand_stack(). ΠΠ½Π°, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π²ΡΠ·ΠΎΠ²Π΅Ρ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ β acct_stack_growth(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΡΠ΅ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ. ΠΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ΅ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΌΠ΅Π½ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ RLIMIT_STACK (ΠΎΠ±ΡΡΠ½ΠΎ 8 ΠΠ), ΡΠΎ ΠΎΠ½ Π½Π°ΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ Π½ΠΈ Π² ΡΠ΅ΠΌ Π½Π΅ Π±ΡΠ²Π°Π»ΠΎ. ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ΅ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ΅ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°, ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° (stack overflow), ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎΡΡΠ»Π°Π΅ΡΡΡ ΡΠΈΠ³Π½Π°Π» Segmentation Fault. Π‘ΡΠ΅ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°ΠΌΠ° ΡΡΠ΅ΠΊΠΎΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°ΡΡΡ Π² Π½Π΅ΠΌ, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠ΅Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠΌΡ Π±ΡΠ΄ΠΆΠ΅ΡΡ, ΡΡΠ΅ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΈ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π½Π°ΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Β«Π½Π΅ΠΌΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉΒ» ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΠ΅Π½Π΅Π½ΠΎ ΠΊΠ°ΠΊ Π²Π°Π»ΠΈΠ΄Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. ΠΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ page fault, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Segmentation Fault. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΊΠ°ΠΊ read-only, ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½ΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Segmentation Fault.
ΠΠΎΠ΄ ΡΡΠ΅ΠΊΠΎΠΌ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π΄Π»Ρ memory mapping. Π―Π΄ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΎΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΌΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π½ΠΈΡ Π² ΠΏΠ°ΠΌΡΡΡ) ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ±ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠΌΠ° mmap() (ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ·ΠΎΠ²Π° mmap) ΠΈΠ»ΠΈ CreateFileMapping() / MapViewOfFile() Π² Windows. ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΡ β ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° / Π²ΡΠ²ΠΎΠ΄Π°, ΠΈ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡΡ (anonymous memory mapping), Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±Π»Π°ΡΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ», ΠΈ ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΡΠ»ΠΈ Π² Linux Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ malloc(), ΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π² ΠΊΡΡΠ΅, ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π‘Π»ΠΎΠ²ΠΎ Β«Π±ΠΎΠ»ΡΡΠΎΠΉΒ», Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π² Π±Π°ΠΉΡΠ°Ρ Π±ΠΎΠ»ΡΡΡΡ, ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ MMAP_THRESHOLD. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΡΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΠ°Π²Π½Π° 128 ΠΊΠ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π²ΡΠ·ΠΎΠ² mallopt().
ΠΡΡΠ°ΡΠΈ ΠΎ ΠΊΡΡΠ΅. ΠΠ½Π° ΠΈΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π² Π½Π°ΡΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠ΅ΠΊΡ, ΠΊΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ΅ΠΊΠ°, ΠΏΠ°ΠΌΡΡΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ Π² ΠΊΡΡΠ΅, ΡΠΎΡ ΡΠ°Π½ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΡΠ·Π²Π°Π²ΡΠ°Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°Π²Π΅ΡΡΠΈΡΡΡ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ Π² ΠΊΡΡΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΄ΡΠΎ ΠΈ ΡΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠ·ΡΠΊΠ΅ C, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΡΡΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ malloc(), Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² ΡΠ·ΡΠΊΠ°Ρ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ garbage collection, Π²ΡΠΎΠ΄Π΅ C#, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ new.
ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΡΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΡΡ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π±Π΅Π· ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ΄ΡΠ°. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠ½ΠΊΡΠΈΡ malloc() Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² brk() Π΄Π»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΊΡΡΠΈ (ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ·ΠΎΠ²Π° brk). Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ Π² ΠΊΡΡΠ΅ β Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°, Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ. ΠΠ°Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΡΡΠ΅ΠΌΡΡΡΡ Π΄ΠΎΡΡΠΈΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΡ ΠΈ Ρ Π°ΠΎΡΠΈΡΠ½ΡΡ ΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ² Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . ΠΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΡΡΠ΅, ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π°Π»Π»ΠΎΠΊΠ°ΡΠΎΡΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅:
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π΄ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Π΄ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΡΠΎΡΠ΅ΡΡΠ°: BSS, ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ (data segment) ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° (text segment). BSS ΠΈ data ΡΠ΅Π³ΠΌΠ΅Π½Ρ Ρ ΡΠ°Π½ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ static ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π½Π° C. Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π² BSS Ρ ΡΠ°Π½ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π½ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Ρ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ (Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΌ Ρ ΡΠ°Π½ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ Π² Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π»ΠΈΠ±ΠΎ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π»ΠΈΠ±ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ, ΠΈ Π² Π»ΠΈΠ½ΠΊΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»Π°Ρ Π½Π΅Ρ ΡΠ°ΠΊΠΈΡ ΠΆΠ΅ common ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Ρ Π½Π΅Π½ΡΠ»Π΅Π²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. β ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄.). ΠΠ»Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° BSS ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡΡ, Ρ.Π΅. Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» Π² ΡΡΠΎΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π½Π΅ ΠΌΡΠΏΠΏΠΈΡΡΠ΅ΡΡΡ. ΠΡΠ»ΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π½Π° C ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ int cntActiveUsers, ΡΠΎ ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π² BSS.
Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ BSS, data cΠ΅Π³ΠΌΠ΅Π½Ρ Ρ ΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΌ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ static ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π΅Π½ΡΠ»Π΅Π²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΎΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠΌ β Π² Π½Π΅Π³ΠΎ ΠΌΡΠΏΠΏΠΈΡΡΠ΅ΡΡΡ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ°Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ static int cntWorkerBees = 10, ΡΠΎ ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π² data ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅, ΠΈ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 10. Π₯ΠΎΡΡ Π² data ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠ°ΠΉΠ», ΡΡΠΎ Ρ.Π½. Β«ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΌΡΠΏΠΏΠΈΠ½Π³Β» (private memory mapping). ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΡΠΎΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°. Π’Π°ΠΊ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ, ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΏΡΠΈΠ²Π΅Π»ΠΈ Π±Ρ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°, Ρ ΡΠ°Π½ΡΡΠ΅Π³ΠΎΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ!
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΏΡΠΎΡΠΈΡΠ°Π² ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° /proc/pid_of_process/maps. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΡΠΏΠΏΠΈΡΡΠ΅ΠΌΠΎΠΉ Π² memory mapping ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΎΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ²ΠΎΡ ΠΎΠ±Π»Π°ΡΡΡ, ΠΈ Π² Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π»Ρ BSS ΠΈ data ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ ΠΏΠΎΡΡΠ½ΠΈΠΌ, ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ ΡΠ»ΠΎΠ²ΠΎΠΌ βΠΎΠ±Π»Π°ΡΡΡβ. Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π»ΡΠ΄ΠΈ Π³ΠΎΠ²ΠΎΡΡΡ βdata ΡΠ΅Π³ΠΌΠ΅Π½Ρβ, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Ρ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ data + BSS + heap.
ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ nm ΠΈ objdump Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²: ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΈΡ Π°Π΄ΡΠ΅ΡΠΎΠ², ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Ρ.Π΄. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠΎ, ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ β ΡΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ βΠ³ΠΈΠ±ΠΊΠ°Ρβ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° (flexible memory layout), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΡ ΡΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Linux ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°Π½Π½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ RLIMIT_STACK. ΠΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ, Linux ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Ρ.Π½. ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅:
ΠΡ Π²ΠΎΡ ΠΈ Π²ΡΠ΅. ΠΠ° ΡΡΠΎΠΌ Π½Π°Ρ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ ΠΎΠ± ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ΄ΡΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΊΠΎΡΠ½Π΅ΠΌΡΡ Π²ΠΎΠΏΡΠΎΡΠ° ΠΌΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠΈΡΡΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΡ. ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ
Π‘Π°ΠΌΠΊΠ° ΡΡΡΠ±ΠΊΠΎΠ·ΡΠ±Π° Ρ Π΄Π΅ΡΡΠ½ΡΡΠ΅ΠΌ. Π€ΠΎΡΠΎ: Scotto Bear, CC BY-SA 2.0
ΠΡ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , ΠΎΠ½Π° ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΡ Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, Π½ΠΎ ΠΏΠ°Π΄Π°Π΅Ρ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² Π½Π΅Ρ Π²Π°ΡΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ 16 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ ΠΠΠ£, Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ΄Π° Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΡΠΎΠ³ΠΈΠ³Π°Π±Π°ΠΉΡΠ½ΡΠΉ ΡΠ°ΠΉΠ». Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΠΠ‘ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΎΠ½Π° Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π½ΠΎΠ²ΡΡ, ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ»Π΅ΡΠΈΡ.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ?
ΠΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ Big Data, Π²ΡΠ΅Π³ΠΎ-ΡΠΎ:
ΠΠ°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΈ Π»ΡΠ³ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°ΡΡ Β«Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ Π²Π½Π΅ ΠΏΠ°ΠΌΡΡΠΈΒ» (out-of-core computation).
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ:
ΠΠ°ΡΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΡΠΆΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ?
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΡΠ½ΠΈΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ (RAM) ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π½ΠΎ ΠΈ Π½Π° ΠΆΡΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ ΡΠΎΠΆΠ΅, ΡΠ°ΠΊ Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΡΠΆΠ½Π° RAM? ΠΠΈΡΠΊ Π΄Π΅ΡΠ΅Π²Π»Π΅, Ρ Π½Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π½Π΅Ρ Π²Π°ΡΠΊΠΎΠΉ ΠΌΠ΅ΡΡΠ°, ΠΏΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡΡΡ ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π·Π°ΠΏΠΈΡΡΡ Ρ Π΄ΠΈΡΠΊΠ°?
Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎ Π΄Π°ΠΆΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π±ΡΡΡΡΡΠ΅ SSD ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΡΠ΅ΠΌ RAM:
100 Π½Π°Π½ΠΎΡΠ΅ΠΊΡΠ½Π΄
ΠΠ»Ρ Π±ΡΡΡΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Ρ Π½Π°Ρ Π½Π΅ ΠΎΡΡΠ°ΡΡΡΡ Π²ΡΠ±ΠΎΡΠ°: Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΠΠΠ£, ΠΈΠ½Π°ΡΠ΅ ΠΊΠΎΠ΄ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡΡ Π² 150 ΡΠ°Π·.
Π‘Π°ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅: Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
Π‘Π°ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ β ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅Π½Π΅Π³. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΡΠΏΠΈΡΡ ΠΌΠΎΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠ»ΠΈ Π°ΡΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ. Π Π½ΠΎΡΠ±ΡΠ΅ 2019 Π³ΠΎΠ΄Π° Π±ΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΈ ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π½ Π΄Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ:
ΠΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅Π½Π΅Π³ Π½Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ»ΠΈΡΡ Π² ΠΠΠ£, β Π·Π°ΡΠ°ΡΡΡΡ ΡΠ°ΠΌΠΎΠ΅ Π΄Π΅ΡΡΠ²ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², Π½Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΡΠΎΠ³ΠΎ. ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΎΠ±Π»Π°ΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠΈΠΌ. ΠΠ° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΡΠ°ΠΊΠΈΠ΅ Π·Π°ΡΡΠ°ΡΡ Π½Π° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠ·ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ²Π°Π»ΠΈ Π±Ρ Π²Π΅ΡΡ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΡΠ΅ΠΌΡΠΉ Π΄ΠΎΡ ΠΎΠ΄ ΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΌΡΠΉ Π²Π°ΠΆΠ½ΡΠΉ Π΄ΠΎΡ ΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ Π²ΡΠΏΠ»Π°ΡΡ ΠΌΠΎΠ΅ΠΉ Π·Π°ΡΠΏΠ»Π°ΡΡ.
ΠΡΠ»ΠΈ ΠΏΠΎΠΊΡΠΏΠΊΠ°/Π°ΡΠ΅Π½Π΄Π° Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ° RAM Π½Π΅ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ β ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ²Π°Π»ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
Π’Π΅Ρ Π½ΠΈΠΊΠ° β 1. Π‘ΠΆΠ°ΡΠΈΠ΅
Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΎΠ±ΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΡΡ Π΄Π²Π΅ ΡΠΎΡΠΌΡ ΡΠΆΠ°ΡΠΈΡ:
Π§ΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΆΠ°ΡΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ.
Π’Π΅Ρ Π½ΠΈΠΊΠ° β 2. Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π»ΠΎΠΊΠΈ, Π·Π°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π±Π»ΠΎΠΊΡ Π·Π° ΡΠ°Π·
Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈΡ ΡΠ°ΡΡΡΠΌΠΈ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π·Π° ΡΠ°Π· (ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠ΅ΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ).
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΌΠΎΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π² ΠΊΠ½ΠΈΠ³Π΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΡΡΠ°Π·Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
ΠΠΎ Π΅ΡΠ»ΠΈ ΠΊΠ½ΠΈΠ³Π° Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΅Ρ ΠΏΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΠΎ:
ΠΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° ΠΊΠ½ΠΈΠ³ΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π² ΠΈΡΠΎΠ³Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠΎΡ ΠΆΠ΅ ΠΎΡΠ²Π΅Ρ.
Π’Π΅Ρ Π½ΠΈΠΊΠ° β 3. ΠΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ
ΠΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ ΠΈ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π² ΡΠ°Π·Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΡ ΡΠ°ΡΡΡ ΠΈ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ Π½Π΅Π½ΡΠΆΠ½ΠΎΠ΅. ΠΠΎ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈ Π½Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΠ½Π°ΡΠ°Π»Π° Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΠ½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΈΡ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ , Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ β Π²ΡΠΆΠΈΠΌΠΊΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ, Π³Π΄Π΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ ΡΡΡΠ±ΠΊΠΎΠ·ΡΠ± (ΡΠΈΠΌΠΏΠ°ΡΠΈΡΠ½ΠΎΠ΅ ΠΌΠ»Π΅ΠΊΠΎΠΏΠΈΡΠ°ΡΡΠ΅Π΅ Π½Π° ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠ°ΡΡΠΈ). ΠΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΡΠΎ Π² ΠΏΠ°ΠΌΡΡΡ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π° ΠΏΠΎ ΡΠ°ΡΡΡΠΌ Π²ΡΡ ΠΊΠ½ΠΈΠ³Π°, ΡΡΡΠ°Π½ΠΈΡΠ° Π·Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ, Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ ΡΡΡΠ±ΠΊΠΎΠ·ΡΠ±ΠΎΠ² β ΠΈ ΡΡΠΎ Π·Π°ΠΉΠΌΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π·Ρ ΠΎΡΠΊΡΡΡΡ Π°Π»ΡΠ°Π²ΠΈΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ β ΠΈ Π½Π°ΠΉΡΠΈ ΡΠ»ΠΎΠ²ΠΎ Β«ΡΡΡΠ±ΠΊΠΎΠ·ΡΠ±Β». Π’Π°ΠΌ ΡΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΡΠ»ΠΎΠ²Π° Π΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ 7, 19 ΠΈ 120-123. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡ , ΡΡΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅.
ΠΡΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ Π²ΡΡ ΠΊΠ½ΠΈΠ³Π°, ΡΠ°ΠΊ ΡΡΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ .
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅:
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ Π΄Π°Π½Π½ΡΠ΅ Π·Π° ΠΌΠ°ΡΡ 2019 Π³ΠΎΠ΄Π°, Π²Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΠ΅ ΡΠ°ΠΉΠ» 2019-Mar.csv β Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π·Π° ΡΠ΅Π²ΡΠ°Π»Ρ, ΠΈΡΠ»Ρ ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ΅ΡΡΡ.
ΠΠ°Π»ΡΡΠ΅: ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ Π²Π°ΡΠΊΠΈ RAM ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π΅Π½Π΅Π³, Π΄ΠΎΠΊΡΠΏΠΈΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, Π²Ρ ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΆΠ°ΡΠΈΠ΅, ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Π’Π΅ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ . ΠΠ° Π½ΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ Π΄Π°ΠΆΠ΅ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Big Data: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ .
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΡΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ , Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ NumPy ΠΈ Pandas.
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ
ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π½Π΅Π΄Π΅Π»Ρ Π΄Π²Π°ΠΆΠ΄Ρ ΠΎΠ±ΡΡΡΠ½ΡΠ» Π»ΡΠ΄ΡΠΌ ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΡΡΡΡ Π² Ρ 86, Ρ ΡΠ΅Π»ΡΡ ΡΡΠΎΠ±Ρ Π½Π΅ ΠΎΠ±ΡΡΡΠ½ΡΡΡ Π² ΡΡΠ΅ΡΠΈΠΉ ΡΠ°Π· Π½Π°ΠΏΠΈΡΠ°Π» ΡΡΡ ΡΡΠ°ΡΡΡ.
Π ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡ Π²Π°Ρ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π½Π°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ, ΡΡΠ΅ΠΊ ΠΈ ΡΠ΄. Π― ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΠΏΠΎΠΏΡΠΎΠ±ΡΡ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΠΈ ΡΡΠΎ Π½Π° ΠΏΠ°Π»ΡΡΠ°Ρ , Π½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΠ΅ΠΌΠ° Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ. ΠΡΠ°ΠΊ Π½Π°ΡΠ½Π΅ΠΌ.
ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΈΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ, Π° ΡΠΎΠ»ΡΠΊΠΎ Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ. Π ΡΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅Ρ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅. Π ΡΠΎΠΌ ΠΆΠ΅ Π‘ΠΈ ΡΡΠ΅ΠΉΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΡΠΆΠ΅ ΡΠΊΡΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ, Π΄Π»Ρ Π΅Π³ΠΎ ΠΆΠ΅ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, Π½ΠΎ Π΅ΡΠ»ΠΈ Π³ΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΡΠΎ Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ, Π° Π² Java ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π΅Ρ, ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΡΠ·ΡΠΊ. ΠΠ΄Π½Π°ΠΊΠΎ Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π·Π½Π°Π½ΠΈΡ ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠ°ΠΌΡΡΡ Ρ ΠΎΡΡ Π±Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΌ ΡΡΠΎΠ²Π½Π΅. ΠΠ΅Π½Ρ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΎΠ³ΠΎΡΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ°ΡΠΈΠ½Π°, ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Java ΠΈ ΠΏΡΠΎΡΠΈΠ΅ php-ΠΏΠ°ΡΠ½ΠΈ, Ρ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ Π½ΠΈΠΆΠ΅ ΠΏΠ»ΠΈΠ½ΡΡΡΠ°.
Π’Π°ΠΊ Π»Π°Π΄Π½ΠΎ, Ρ
Π²Π°ΡΠΈΡ ΠΎ ΠΏΠ΅ΡΠ°Π»ΡΠ½ΠΎΠΌ, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ Π΄Π΅Π»Ρ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° 32 Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° (Π΄Π»Ρ 64 Π±ΠΈΡ Π²ΡΠ΅ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ)
ΠΠ΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· 2^32 ΡΡΠ΅Π΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΎΡ 0 ΠΈ Π΄ΠΎ 2^32-1.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ, Π΅ΡΠ»ΠΈ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΡΠ΅ΠΉΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ Ρ Π°Π΄ΡΠ΅ΡΠΎΠΌ ΡΠ°ΠΊΠΈΠΌ-ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ Ρ ΡΡΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ΅Ρ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅:
int data = 10;
ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΏΠΎΠΉΠΌΠ΅Ρ ΡΡΠΎ ΡΠ°ΠΊ: Π½ΡΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΡΠ΅ΠΉΠΊΡ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΡΡΠΎΠΏΠΈΡΠΎΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² Π½Π΅Π΅ ΡΠ΅Π»ΠΎ ΡΠΈΡΠ»ΠΎ 10. ΠΡΠΈ ΡΠΎΠΌ ΠΏΡΠΎ Π°Π΄ΡΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠΈ 18894 Π²Ρ ΠΈ Π½Π΅ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΎΠ½ ΠΎΡ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΊΡΡΡ.
ΠΡΠ΅ Π±Ρ Ρ
ΠΎΡΠΎΡΠΎ, Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ, Π° ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈΡΠ΅Ρ ΡΡΡ ΡΡΠ΅ΠΉΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ, Π²Π΅Π΄Ρ ΠΏΠ°ΠΌΡΡΡ Ρ Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π½Π°Ρ:
3 ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΡΡΠ°
2 ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΡΡΠ°
1 ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΡΡΠ°
ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ
ΠΆΠ΅ΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ
ΠΡΠΎ Π²ΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ
Π»Π΅ΠΆΠΈΡ Π½Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ int data.
ΠΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ.
ΠΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ°Ρ ΡΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΡΠ°Π·Π±ΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° Ρ
86 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ΅ΠΊ.
Π‘ΡΠ΅ΠΊ ΡΡΠΎ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΡΠΎΠΏΠΊΠΈ ΡΠ°ΡΠ΅Π»ΠΎΠΊ, Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΠ°ΡΡ ΡΠ°ΡΠ΅Π»ΠΊΠΈ ΠΈΠ· ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ ΡΡΠΎΠΏΠΊΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠ°ΡΡ Π²Π΅ΡΡ
Π½ΡΡ ΠΈ ΠΊΠ»Π°ΡΡΡ ΡΠ°ΡΠ΅Π»ΠΊΡ Π²Ρ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²Π΅ΡΡ
ΡΡΠΎΠΏΠΊΠΈ.
Π ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΠ΅ΠΊΠΎΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ, Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠ΅ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ ΠΊΠΎΡΠΎΡΡΡ
Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ°ΠΊ:
push operand
ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ Π² ΡΡΠ΅ΠΊ
pop operand
ΠΈΠ·ΡΠΌΠ°Π΅Ρ ΠΈΠ· Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π³ΠΎ Π² ΡΠ²ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄
Π‘ΡΠ΅ΠΊ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΡΡΠ΅Ρ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ ΡΡΠΎ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π½Π΅Π³ΠΎ Π°Π΄ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ, Π° ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΠ΅ ΠΈΠ· Π½Π΅Π³ΠΎ, ΡΠΎ Π°Π΄ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ.
ΠΡΠΎ ΡΡΠ΅ΠΉΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅. ΠΡΠΎ ΡΠ°ΠΌΡΠΉ Π±ΡΡΡΡΡΠΉ ΠΈ ΡΠ°ΠΌΡΠΉ Π΄ΠΎΡΠΎΠ³ΠΎΠΉ ΡΠΈΠΏ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Ρ ΠΏΠ°ΠΌΡΡΡΡ, ΠΎΠ½ Π±Π΅ΡΠ΅Ρ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
Π ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°Π±ΠΎΡΠΎΠ² Π»ΠΎΠ³ΠΈΠΊ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΈ ΡΠ²ΠΎΠΈ Π½Π°Π±ΠΎΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
Basic program registers (ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ) ΠΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΡΠ΅ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ Ρ ΠΈΡ
ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
.
Floating Point Unit registers (FPU) ΠΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ.
ΠΡΠ΅ Π΅ΡΡΡ MMX ΠΈ XMM registers ΡΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π½Π°Π΄ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ².
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ. Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ Π²ΠΎΡΠ΅ΠΌΡ 32 Π±ΠΈΡΠ½ΡΡ
ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ: EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΠ·ΡΡΡΡ ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠ° Π² ΡΡΠ΅ΠΉΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° mov:
mov eax, 10
Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ 10 Π² ΡΠ΅Π³ΠΈΡΡΡ eax.
mov data, ebx
ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠΈΡΠ»ΠΎ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ ebx Π² ΡΡΠ΅ΠΉΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ data.
Π Π΅Π³ΠΈΡΡΡ ESP ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°Π΄ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°.
ΠΡΠΎΠΌΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ ΠΎΡΠ½ΠΎΡΡΡ ΡΠ΅ΡΡΡ 16Π±ΠΈΡΠ½ΡΡ
ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΡΡ
ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²: CS, DS, SS, ES, FS, GS, EFLAGS, EIP
EFLAGS ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π±ΠΈΡΡ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ»Π°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΠ°ΠΆΠ°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈΠ»ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡ Ρ
ΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄.
Π ΡΠ΅Π³ΠΈΡΡΡΠ΅ EIP ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ.
Π― Π½Π΅ Π±ΡΠ΄Ρ ΡΠ°ΡΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡΡ FPU, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π½Π°ΠΌ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ. ΠΡΠ°ΠΊ Π½Π°ΡΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΎΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΈ ΡΡΠ΅ΠΊ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΎΡΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ°ΠΊ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΠ΅Π»ΡΡ ΡΡΠ°ΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΊΠ°Π· ΠΏΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΡΡ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΅ΡΡΡ Π΅ΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΡΡΠ°ΠΏ ΠΈ ΠΏΠΎΠ»Π½Π°Ρ ΡΠ΅ΠΏΠΎΡΠΊΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ=ΠΠ°Π·ΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°(Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ ΡΡΠΎ Π½Π°ΡΠ°Π»ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°) + ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
Π‘Π΅Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°
Π‘Π΅Π³ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ
Π‘Π΅Π³ΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊΠ°
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ° SS.
Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ ESP, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°, ΠΊΠ°ΠΊ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅.
Π‘Π΅Π³ΠΌΠ΅Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡ, ΠΌΠ°Π»ΠΎ ΡΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ Π²ΡΠ΅Ρ
ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² Π½ΡΠ»Π΅. Π’Π°ΠΊΠΎΠΉ Π²ΡΡΠΎΠΆΠ΄Π΅Π½Π½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
, ΠΏΠ°ΠΌΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π°.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΡΡ
Π°Π΄ΡΠ΅ΡΠΎΠ² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°, Ρ ΠΏΠΈΡΠ°Π» ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ
SS, DS, CS, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ, Π² Π½ΠΈΡ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π½Π΅ΠΊΠΈΠΉ 16 Π±ΠΈΡΠ½ΡΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π½Π΅ΠΊΠΈΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΆΠ΅ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ Π°Π΄ΡΠ΅Ρ.
Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ, Π² ΡΡΠΈΠ½Π°Π΄ΡΠ°ΡΠΈ Π΅Π³ΠΎ Π±ΠΈΡΠ°Ρ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ². ΠΠ΅ Ρ
ΠΈΡΡΠΎ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ Π±ΡΠ΄Π΅Ρ ΡΡΠΎ 2^13 = 8192 ΡΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² Π² ΡΠ°Π±Π»ΠΈΡΠ΅.
ΠΠΎΠΎΠ±ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ½ΡΡ
ΡΠ°Π±Π»ΠΈΡ Π±ΡΠ²Π°Π΅Ρ Π΄Π²Π° Π²ΠΈΠ΄Π° GDT ΠΈ LDT ΠΠ΅ΡΠ²Π°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ², ΠΎΠ½Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π°, Π΅Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ, ΡΠΎΡΠ½Π΅Π΅ Π°Π΄ΡΠ΅Ρ Π΅Π΅ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Ρ
ΡΠ°Π½ΠΈΡΡΡ Π² 48 Π±ΠΈΡΠ½ΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ GDTR. Π Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΡΠ°ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈ Π² ΡΠ²ΠΎΠΏΠ΅ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ°ΡΡΠΈΡ.
Π Π²ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΡΠ»ΠΈ Π² ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ΅ Π±ΠΈΡ TI ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ, ΡΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΡΠΎΡΡΠΎ ΠΈΠ΄Π΅Ρ Π² GDT ΠΈΡΠ΅Ρ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½ΡΠΆΠ½ΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΎΠΌΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ.
ΠΠΎΠΊΠ° Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π±ΡΠ»ΠΎ, Π½ΠΎ Π΅ΡΠ»ΠΈ TI ΡΠ°Π²Π΅Π½ 1 ΡΠΎΠ³Π΄Π° ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΡΠ΄Π΅Ρ LDT. Π’Π°Π±Π»ΠΈΡ ΡΡΠΈΡ
ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΡΠ° ΡΠ΅Π»Π΅ΠΊΡΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π³ΡΡΠΆΠ΅Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ LDTR, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ GDTR ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΠ½Π΄Π΅ΠΊΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΆΠ΅ Π½Π΅ Π½Π° Π±Π°Π·ΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°, Π° Π½Π° ΠΏΠ°ΠΌΡΡΡ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ², ΡΠΎΡΠ½Π΅Π΅ Π΅Π΅ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΡ Π° Π΄Π°Π»ΡΡΠ΅ Π²ΡΠ΅ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Ρ GDT. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. LDT Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ LDT.
ΠΡΠ°ΠΊ ΠΌΡ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π΄ΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ Π΄ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°, Π° ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΡΠΎΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅:
ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 8 Π±Π°ΠΉΡ.
ΠΠΈΡΡ Ρ 15-39 ΠΈ 56-63 ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠΌ Π΄Π°Π½Π½ΡΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°. ΠΠ°ΠΏΠΎΠΌΠ½Ρ Π½Π°ΡΡ ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ°:
Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ = Π±Π°Π·ΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ + ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
[Π±Π°Π·Π°; Π±Π°Π·Π°+ΠΏΡΠ΅Π΄Π΅Π»)
(Π±Π°Π·Π°+ΠΏΡΠ΅Π΄Π΅Π»; Π²Π΅ΡΡΠΈΠ½Π°]
ΠΡΡΠ°ΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΡΠ΅ΠΌΡ Π±Π°Π·Π° ΠΈ ΠΏΡΠ΅Π΄Π΅Π» ΡΠ°ΠΊ ΡΠ²Π°Π½ΠΎ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ΅. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Ρ
86 ΡΠ°Π·Π²ΠΈΠ²Π°Π»ΠΈΡΡ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΠΎ ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π° 286Ρ
Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π±ΡΠ»ΠΈ ΠΏΠΎ 8 Π±ΠΈΡ Π²ΡΠ΅Π³ΠΎ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ°ΡΡΠΈΠ΅ 2 Π±Π°ΠΉΡΠ° Π±ΡΠ»ΠΈ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Ρ, Π½Ρ Π° Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΌΠΎΠ΄Π΅Π»ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠΎΠΆΠ΅ Π²ΡΡΠΎΡΠ»ΠΈ, Π½ΠΎ Π΄Π»Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠ° Β«Π²Π΅ΡΡΠΈΠ½Π°Β» Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ 54Π³ΠΎ D Π±ΠΈΡΠ°, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠ°Π²Π΅Π½ 0, ΡΠΎΠ³Π΄Π° Π²Π΅ΡΡΠΈΠ½Π° ΡΠ°Π²Π½Π° 0xFFF(64ΠΊΠ±-1), Π΅ΡΠ»ΠΈ D Π±ΠΈΡ ΡΠ°Π²Π΅Π½ 1, ΡΠΎΠ³Π΄Π° Π²Π΅ΡΡΠΈΠ½Π° ΡΠ°Π²Π½Π° 0xFFFFFFFF (4ΠΠ±-1)
Π‘ 41-43 Π±ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΡΡΡ ΡΠΈΠΏ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°.
000 β ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ
, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅
001 β ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ
, ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ
010 β ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊΠ°, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅
011 β ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊΠ°, ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ
100 β ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
101- ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
110 β ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
111 β ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅
44 S Π±ΠΈΡ Π΅ΡΠ»ΠΈ ΡΠ°Π²Π΅Π½ 1 ΡΠΎΠ³Π΄Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΠ½Π°ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ S Π±ΠΈΡΠ° ΡΠ°Π²Π½ΠΎ 0.
Π‘Π°ΠΌΡΠΌ Π²Π°ΠΆΠ½ΡΠΌ Π±ΠΈΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ 47-ΠΉ P Π±ΠΈΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΡ. ΠΡΠ»ΠΈ Π±ΠΈΡ ΡΠ°Π²Π΅Π½ 1 Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² Π·Π°Π³ΡΡΠΆΠ΅Π½Π° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²ΠΊΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ Π±ΠΈΡ ΡΠ°Π²Π΅Π½ 0, ΡΠΎΠ³Π΄Π° ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠΎ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²ΠΊΠ΅ Π½Π΅Ρ, ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅, ΡΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅, ΠΎΡΠΎΠ±ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Ρ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ° Π² ΠΏΠ°ΠΌΡΡΡ, Π΅ΡΠ»ΠΈ P Π±ΠΈΡ ΡΠ°Π²Π΅Π½ 0, ΡΠΎΠ³Π΄Π° Π²ΡΠ΅ ΠΏΠΎΠ»Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ΡΠ΅ΡΡΡΡ ΡΠΌΡΡΠ», ΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π² Π½ΠΈΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, P Π±ΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1, ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ, ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΆΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ° ΡΡΠΎΠΌ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ, ΠΈ Ρ Π΄ΡΠΌΠ°Ρ Π½Π° ΡΡΠΎΠΌ ΡΡΠΎΠΈΡ ΠΏΡΠ΅ΡΠ²Π°ΡΡΡΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π²ΡΠΎΡΡΡ ΡΠ°ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ.
Π ΡΠ°ΠΊ ΠΆΠ΅ Π΄ΡΠΌΠ°Ρ ΡΡΠΎΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π² ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎΠ±Ρ Π±ΡΠ»Π° ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΠ²ΡΠ·Ρ Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΡΠΎ ΡΠΆΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠΎ Ρ ΡΠ΅ΠΌ Π²Π°ΠΌ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΌΡΡΠ»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. ΠΠΎ Π±Π΅Π· ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Π° ΠΏΠ°ΠΌΡΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊ ΡΡΠΈ ΡΠ°ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ
ΡΠ°Π½ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ.
Π ΠΎΠ±ΡΠ΅ΠΌ Π½Π°Π΄Π΅ΡΡΡ Π±ΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΈ Π΄ΠΎ Π½ΠΎΠ²ΡΡ
Π²ΡΡΡΠ΅Ρ.