ΠΠΎΠ²Π΅Π΄ Π²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
ΠΠ΄ΡΠ°Π²ΠΎ, Π₯Π°Π±Ρ! ΠΠΈ ΡΠ°ΠΊΠ°Π» Π΄Π° Π²ΠΈ ΠΏΡΠ΅ΡΡΡΠ°Π²Π°ΠΌ Π½ΠΈΠ·Π° Π½Π°ΠΏΠΈΡΠΈ-ΠΏΡΠ΅Π²ΠΎΠ΄ΠΈ Π½Π° Π΅Π΄Π½Π° ΡΠΏΠΎΡΠ΅Π΄ ΠΌΠ΅Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ° - ΠΠ‘Π’ΠΠ. ΠΠ²ΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π» ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π΄Π»Π°Π±ΠΎΠΊΠΎ ΡΠ° ΠΈΡΠΏΠΈΡΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ»ΠΈΡΠ½ΠΈ Π½Π° Unix, ΠΈΠΌΠ΅Π½ΠΎ, ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΈ, ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΊΠΎΠΈ Π³ΠΎ ΡΠΎΡΠΈΠ½ΡΠ²Π°Π°Ρ ΠΌΠΎΠ΄Π΅ΡΠ΅Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΠΎΡ Π½Π° ΡΠΈΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π»ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΠ²Π΄Π΅
ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠΈΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΎΠ²Π°Π° ΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΄Π΅ ΠΎΠ²Π΄Π΅:
- ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»:
pages.cs.wisc.edu/~remzi/OSTEP/Homework/homework.html - ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»:
github.com/remzi-arpacidusseau/ostep-code - ΠΌΠΎΡΠ° Π»ΠΈΡΠ½Π° Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡΠ°:
github.com/bykvaadm/OS/tree/master/ostep
ΠΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΌΠΎΡΠΎΡ ΠΊΠ°Π½Π°Π» Π½Π°
ΠΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°
Π¨ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° ΠΊΠΎΠ³Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ? ΠΠΊΡΠΈΠ²Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΏΡΠ°Π²ΠΈ Π΅Π΄Π½Π° Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π° ΡΠ°Π±ΠΎΡΠ° - ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. Π‘Π΅ΠΊΠΎΡΠ° ΡΠ΅ΠΊΡΠ½Π΄Π°, ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ, ΠΏΠ° Π΄ΡΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Π±ΠΈ ΠΌΠΈΠ»ΠΈΡΠ°ΡΠ΄ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ Π³ΠΈ ΠΏΡΠ΅Π·Π΅ΠΌΠ° ΠΎΠ΄ RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, Π·Π° Π²ΠΎΠ·Π²ΡΠ°Ρ Π³ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ° (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅ΠΏΠΎΠ·Π½Π°Π²Π° Π½Π° ΠΊΠΎΡ ΡΠΈΠΏ ΠΏΡΠΈΠΏΠ°ΡΠ°Π°Ρ ΠΎΠ²ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ) ΠΈ Π³ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°. ΠΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π΄Π²Π° Π±ΡΠΎΡΠ°, ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΎΡΡΠΎΡΠ±Π°, ΠΏΡΠ΅ΡΠΊΠΎΠΊΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΈ ΡΠ°ΠΊΠ° Π½Π°ΡΠ°ΠΌΡ. ΠΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π΅Π΄Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ°, ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π° ΠΊΠΎΠ½ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΡΡΠ³Π°. Π ΡΠ°ΠΊΠ°, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΡΠΈΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅ Π·Π°Π²ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°.
ΠΠ²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΡΠΎΠ΄Π½ΠΎ ΡΠ΅ ΡΠΌΠ΅ΡΠ° Π·Π° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ - Π²ΡΡΡΠ½ΠΎΡΡ, Π·Π° Π΄Π° ΡΠ΅ Π·Π°Π±ΡΠ·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈΠΎΡ Ρ Π°ΡΠ΄Π²Π΅Ρ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ ΡΠ΅Π΄ΠΎΡ, Π΄Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ, Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈ ΡΡΠΈΠΊΠΎΠ²ΠΈ.
Π€ΠΎΠ½ ΠΠΎΡΠΌΠ°Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅
ΠΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½Π°ΡΠ° ΡΠΎΡΠΌΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΎΠΏΠΈΡΠ°Π½Π° ΠΎΠ΄ Π½Π°Ρ Π΅ ΡΠ»ΠΈΡΠ½Π° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ Π€ΠΎΠ½ ΠΠΎΡΠΌΠ°Π½. Π€ΠΎΠ½ ΠΠΎΡΠΌΠ°Π½ Π΅ Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΏΠΈΠΎΠ½Π΅ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΊΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠΎΡ Π΅ ΠΈ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π°Π²ΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΎΡΠΈΡΠ°ΡΠ° Π½Π° ΠΈΠ³ΡΠΈ. ΠΠΎΠ΄Π΅ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ, ΡΠ΅ ΡΠ»ΡΡΡΠ²Π°Π°Ρ Π΅Π΄Π΅Π½ ΠΊΡΠΏ Π΄ΡΡΠ³ΠΈ Π½Π°ΡΡΠ°Π½ΠΈ, ΡΠ°Π±ΠΎΡΠ°Ρ ΠΌΠ½ΠΎΠ³Ρ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ΄ ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π°, ΡΠΈΡΠ° Π³Π»Π°Π²Π½Π° ΡΠ΅Π» Π΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ, ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ΡΠΎ ΠΈ ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ.
ΠΠΎΡΡΠΎΠΈ Π·Π±ΠΈΡ Π½Π° ΡΠΎΡΡΠ²Π΅Ρ ΠΊΠΎΡ Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΠΎΠ»Π΅ΡΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ (ΠΈΠ»ΠΈ Π΄ΡΡΠΈ ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅), Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΡΠΈ ΠΈΠΌ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°Π°Ρ ΠΈΡΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΠΊΠ°ΠΊΠΎ ΠΈ Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΡΠΈΡΠ°Π°Ρ ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΠ²ΠΎΡ ΡΠ΅Ρ Π½Π° ΡΠΎΡΡΠ²Π΅Ρ (ΡΠΎΡΡΠ²Π΅Ρ) Π²ΠΎ ΡΡΡΡΠΈΠ½Π° ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π΄Π΅ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΈ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π»Π΅ΡΠ½ΠΎΡΠΈΡΠ° Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΎΠ²ΠΎΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ
ΠΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ, ΡΠΊΡΠ°ΡΠ΅Π½ΠΎ ΠΊΠ°ΠΊΠΎ ΠΠ‘, Π΅ Π·Π±ΠΈΡ Π½Π° ΠΌΠ΅ΡΡΡΠ΅Π±Π½ΠΎ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ΠΈ Π΄Π° ΡΠΏΡΠ°Π²ΡΠ²Π°Π°Ρ ΡΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΡΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ..
ΠΠ‘ ΡΠ° ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π° ΡΠ²ΠΎΡΠ°ΡΠ° Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡ Π½Π° ΠΏΡΠ²ΠΎ ΠΌΠ΅ΡΡΠΎ, ΠΏΡΠ΅ΠΊΡ Π½Π°ΡΠ²Π°ΠΆΠ½Π°ΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ° - ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΡΠ° Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ°. ΠΠ‘ ΠΈΠΌΠ° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ ΡΠΈΠ·ΠΈΡΠΊΠΈ ΡΠ΅ΡΡΡΡ (ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, Π΄ΠΈΡΠΊ, ΠΈΡΠ½.) ΠΈ Π³ΠΎ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ° Π²ΠΎ ΠΏΠΎΠΎΠΏΡΡΠ°, ΠΏΠΎΠΌΠΎΡΠ½Π° ΠΈ ΠΏΠΎΠ»Π΅ΡΠ½Π° Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΡΠΎΡΠΌΠ° ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅. ΠΠ°ΡΠΎΠ°, Π·Π° ΠΎΠΏΡΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ Π³ΡΡΠ±ΠΎ Π΄Π° Π³ΠΎ ΡΠΏΠΎΡΠ΅Π΄ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΎ Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°.
Π‘ΠΎ ΡΠ΅Π» Π΄Π° ΠΈΠΌ ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ Π΄Π° Π΄Π°Π²Π°Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ Π½Π° ΡΠΎΡ Π½Π°ΡΠΈΠ½ Π΄Π° Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° (ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Π²ΠΎΠ΄Π΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈ ΡΠ»ΠΈΡΠ½ΠΎ), ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π½Π΅ΠΊΠ°ΠΊΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ Ρ.Π½. API (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ) ΠΈ Π½Π° ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΡΠ²Π°ΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠΈ (ΠΏΠΎΠ²ΠΈΠΊ). Π’ΠΈΠΏΠΈΡΠ΅Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π°Ρ ΡΡΠΎΡΠΈΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠΎ ΠΎΠ³Π»Π΅Π΄ Π½Π° ΡΠΎΠ° ΡΡΠΎ Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ (ΡΠΎ ΡΠΎΠ° Π³ΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°Π°Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ), ΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π°Π°Ρ Π΄ΠΎ Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ (Π½Π° ΡΠΎΡ Π½Π°ΡΠΈΠ½ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°) ΠΈ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ (ΡΠΎ ΡΡΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°Π°Ρ I/O ΡΡΠ΅Π΄ΠΈ). , ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° ΠΈ ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π½Π° ΡΠ΅ΡΡΡΡΠΈ. Π‘Π΅ΠΊΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, Π΄ΠΈΡΠΊ ΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π΅ ΡΠ΅ΡΡΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ, ΠΈ Π½Π° ΡΠΎΡ Π½Π°ΡΠΈΠ½ Π΅Π΄Π½Π° ΠΎΠ΄ ΡΠ»ΠΎΠ³ΠΈΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ°Π½ΡΠ²Π° Π·Π°Π΄Π°ΡΠ° Π΄Π° ΡΠΏΡΠ°Π²ΡΠ²Π° ΡΠΎ ΠΎΠ²ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΈ, ΠΏΡΠ°Π²Π΅ΡΡΠΈ Π³ΠΎ ΡΠΎΠ° Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ, ΠΈΡΠΊΡΠ΅Π½ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, Π²ΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ Π·Π°Π΄Π°ΡΠ°ΡΠ° Π·Π° ΠΊΠΎΡΠ° ΠΎΠ²ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½.
ΠΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ
Π Π°Π·ΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° ΡΠ»Π΅Π΄Π½Π°Π²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°:
(https://www.youtube.com/watch?v=zDwT5fUcki4)
ΠΠ΅ Π²ΡΡΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΠΎΡΠ΅Π±Π½ΠΈ Π΄Π΅ΡΡΡΠ²Π°, Π²ΡΡΡΠ½ΠΎΡΡ, ΡΓ¨ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈ Π΅ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΏΡΠ΅Π΄Π°Ρ(), ΡΠΈΡΠ° Π·Π°Π΄Π°ΡΠ° Π΅ Π΄Π° ΠΊΡΡΠΆΠΈ Π½ΠΈΠ· ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΈ Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈ ΠΎΡΠΊΠ°ΠΊΠΎ ΡΠ΅ ΠΏΠΎΠΌΠΈΠ½Π΅ Π΅Π΄Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Π°. Π’Π°ΠΊΠ°, ΡΠ°Π° Π½Π΅ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΎ ΡΠ° ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π° Π½ΠΈΠ·Π°ΡΠ° ΡΡΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΡΠ° ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» ΠΊΠ°ΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ.
ΠΡΠ΄Π΅ Π΄Π° ΡΠ° ΠΈΠ·Π²ΡΡΠΈΠΌΠ΅ ΠΎΠ²Π°Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΈ Π΄Π° ΠΈ Π³ΠΎ ΠΏΡΠ΅Π½Π΅ΡΠ΅ΠΌΠ΅ Π·Π½Π°ΠΊΠΎΡ βΠβ ΠΊΠ°ΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. Π Π΅Π·ΡΠ»ΡΠ°ΡΠΎΡ Π½Π΅ Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ - ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΊΠΎΡΠ° ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π³ΠΎ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° Π·Π½Π°ΠΊΠΎΡ "A".
Π‘Π΅Π³Π° Π΄Π° ΡΠ° ΠΈΡΠΏΡΠΎΠ±Π°ΠΌΠ΅ ΠΎΠΏΡΠΈΡΠ°ΡΠ° ΠΊΠΎΠ³Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡΠΈ ΠΎΠ΄ ΠΈΡΡΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, Π½ΠΎ ΠΈΡΠΏΡΡΡΠ°Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±ΡΠΊΠ²ΠΈ Π·Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΠΎΡΠ°ΡΠ½ΠΎ. ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΌΠ°Π»ΠΊΡ ΠΏΠΎΠΈΠ½Π°ΠΊΠΎΠ². Π ΠΏΠΎΠΊΡΠ°Ρ ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ°ΠΌΠ΅ Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ. ΠΠ°ΠΊΠΎ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° ΡΠΎΠ°? ΠΠΎ, ΠΈΠ·Π»Π΅Π³ΡΠ²Π° Π΄Π΅ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ, Π½Π΅ Π±Π΅Π· ΠΏΠΎΠΌΠΎΡ Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ, ΡΠΎΠ·Π΄Π°Π²Π° ΠΈΠ»ΡΠ·ΠΈΡΠ°. ΠΠ»ΡΠ·ΠΈΡΠ°ΡΠ° Π΄Π΅ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΠΏΡΠ΅ΡΠ²ΠΎΡΠ°ΡΡΠΈ Π΅Π΄Π΅Π½ ΡΠΈΠ·ΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π²ΠΎ ΡΠ΅ΠΎΡΠ΅ΡΡΠΊΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ΅Π½ Π±ΡΠΎΡ ΠΈ ΡΠΎ ΡΠΎΠ° Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΡΠΈ ΠΈΠΌ Π½Π° Π½Π°Π²ΠΈΠ΄ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ. ΠΠ²Π°Π° ΠΈΠ»ΡΠ·ΠΈΡΠ° ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° ΠΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ.
ΠΠ²Π°Π° ΡΠ»ΠΈΠΊΠ° ΠΏΠΎΠΊΡΠ΅Π½ΡΠ²Π° ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠ°ΡΠ°ΡΠ°, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠ°ΠΊΠ°Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΡΠ° ΡΠ΅ Π±ΠΈΠ΄Π΅ Π»Π°Π½ΡΠΈΡΠ°Π½Π°? βΠΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅β Π½Π° ΠΠ‘ ΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ½ΠΈ Π·Π° ΠΎΠ²Π° ΠΏΡΠ°ΡΠ°ΡΠ΅. ΠΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½Π° ΠΌΠ½ΠΎΠ³Ρ ΠΌΠ΅ΡΡΠ° Π²ΠΎ ΠΠ‘ ΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°Π°Ρ Π½Π° ΠΏΡΠ°ΡΠ°ΡΠ° ΠΊΠ°ΠΊΠΎ ΠΎΠ²Π°, ΠΈ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ ΡΡΠΎ Π³ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΠ‘. ΠΡΡΡΠΊΠ° ΠΈ ΡΠ»ΠΎΠ³Π°ΡΠ° Π½Π° ΠΠ‘ ΠΊΠ°ΠΊΠΎ ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π½Π° ΡΠ΅ΡΡΡΡΠΈ.
ΠΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°
Π‘Π΅Π³Π° Π΄Π° ΡΠ° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°. Π€ΠΈΠ·ΠΈΡΠΊΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π²Π΅Π½ ΠΊΠ°ΠΊΠΎ Π½ΠΈΠ·Π° ΠΎΠ΄ Π±Π°ΡΡΠΈ.. ΠΠ° Π΄Π° ΡΠΈΡΠ°ΡΠ΅ ΠΎΠ΄ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΡΡΠ΅Π±Π° Π΄Π° Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΡΠ΅Π»ΠΈΡΠ°ΡΠ°Π·Π° Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΈΡΠ΅ Π΄ΠΎ Π½Π΅Π°. ΠΠ° Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΌΠΎΡΠ° Π΄Π° Π³ΠΈ Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΈ Π°Π΄ΡΠ΅ΡΠ°ΡΠ° Π½Π° ΡΠ΅Π»ΠΈΡΠ°ΡΠ° ΠΊΠ°Π΄Π΅ Π΄Π° Π³ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΡΠ΅.
ΠΠΎΡΡΠΎΡΠ°Π½ΠΎ ΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π° Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΡΠ΅Π»Π°ΡΠ° Π½Π΅ΡΠ·ΠΈΠ½Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΈ ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π° Π΄ΠΎ Π½Π΅Π° ΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠΎ ΠΌΠ΅ΡΡΠ²ΡΠ΅ΠΌΠ΅, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ ΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π·Π°ΡΡΠ²Π°Π½ΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π° ΠΈ Π·Π° ΡΠ΅ΠΊΠΎΠ΅ Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ°.
malloc() ΠΏΠΎΠ²ΠΈΠΊ
Π Π°Π·ΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° ΡΠ»Π΅Π΄Π½Π°Π²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, ΠΊΠΎΡΠ° Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π° ΡΠ΅Π³ΠΈΠΎΠ½ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΏΠΎΠ²ΠΈΠΊΠΎΡ ΠΌΠΎΠ»ΠΎΠΊ () (https://youtu.be/jnlKRnoT1m0):
ΠΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΠΏΡΠ°Π²ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ°Π±ΠΎΡΠΈ. ΠΡΠ²ΠΎ, Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π° ΠΌΠ°Π»ΠΊΡ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° (Π»ΠΈΠ½ΠΈΡΠ° 7), ΠΏΠΎΡΠΎΠ° ΡΠ° ΠΏΠ΅ΡΠ°ΡΠΈ Π°Π΄ΡΠ΅ΡΠ°ΡΠ° Π½Π° Π΄ΠΎΠ΄Π΅Π»Π΅Π½Π°ΡΠ° ΡΠ΅Π»ΠΈΡΠ° (Π»ΠΈΠ½ΠΈΡΠ° 9), Π·Π°ΠΏΠΈΡΡΠ²Π° Π½ΡΠ»Π° Π½Π° ΠΏΡΠ²ΠΈΠΎΡ ΡΠ»ΠΎΡ ΠΎΠ΄ Π΄ΠΎΠ΄Π΅Π»Π΅Π½Π°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°. Π‘Π»Π΅Π΄Π½ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π²Π»Π΅Π³ΡΠ²Π° Π²ΠΎ ΡΠΈΠΊΠ»ΡΡ Π²ΠΎ ΠΊΠΎΡ ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° Π·Π°ΡΡΠ²Π°Π½Π° Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Π°Π΄ΡΠ΅ΡΠ°ΡΠ° Π²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° βpβ. ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΠ°ΠΌΠΈΠΎΡ Π³ΠΎ ΠΏΠ΅ΡΠ°ΡΠΈ ID Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ Π·Π° ΡΠ΅ΠΊΠΎΡ ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠΎΡΠ΅Ρ. ΠΡΠΊΠ°ΠΊΠΎ Π»Π°Π½ΡΠΈΡΠ°Π²ΠΌΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΊΠΎΠΏΠΈΠΈ, ΡΠ΅ Π½Π°Π»Π΅ΡΠ°ΠΌΠ΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ: ΠΠΎ ΠΏΡΠ²ΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ, Π°ΠΊΠΎ Π½Π΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π½ΠΈΡΡΠΎ ΠΈ ΡΠ°ΠΌΠΎ ΠΈΠ·Π²ΡΡΠΈΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΊΠΎΠΏΠΈΠΈ, ΡΠΎΠ³Π°Ρ Π°Π΄ΡΠ΅ΡΠΈΡΠ΅ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ. ΠΠΎ, ΠΎΠ²Π° Π½Π΅ ΡΠΏΠ°ΡΠ° Π²ΠΎ Π½Π°ΡΠ°ΡΠ° ΡΠ΅ΠΎΡΠΈΡΠ°! Π’ΠΎΡΠ½ΠΎ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΈΠΌΠ°Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°. ΠΠΊΠΎ Π΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ, Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΠΎΡΠ΅ΠΊΡΠ²Π°Π½ΠΈΠΎΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ - ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠΈ Π½Π° Π΄Π²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΡΠ΅ ΡΠ΅ ΡΠΎΠ²ΠΏΠ°ΡΠ°Π°Ρ.
ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ°, ΠΈΠ·Π»Π΅Π³ΡΠ²Π° Π΄Π΅ΠΊΠ° Π΄Π²Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΈ Π°Π΄ΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΡΡΠΎΡΠΈ, ΠΊΠΎΠΈ ΠΏΠ°ΠΊ ΡΠ΅ ΠΌΠ°ΠΏΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π²ΠΎ ΡΠΈΠ·ΠΈΡΠΊΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°. ΠΠ°ΡΠΎΠ°, ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠΈ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π½Π΅ΠΌΠ° Π΄Π° Π²Π»ΠΈΡΠ°Π΅ Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π½Π° ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ Π½Π°ΡΠΈΠ½, ΠΈ ΡΠ΅ ΡΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° ΡΠ΅ΠΊΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΈΠΌΠ° ΡΠ²ΠΎΠ΅ ΠΏΠ°ΡΡΠ΅ ΡΠΈΠ·ΠΈΡΠΊΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π΄Π°Π΄Π΅Π½Π° Π½Π° Π½Π΅Π°. Π Π΅Π°Π»Π½ΠΎΡΡΠ°, ΡΠ΅ΠΏΠ°ΠΊ, Π΅ Π΄Π΅ΠΊΠ° ΡΠΈΠ·ΠΈΡΠΊΠ°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π΅ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ ΡΠ΅ΡΡΡΡ ΡΠΏΡΠ°Π²ΡΠ²Π°Π½ ΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΠΎΠ½Π·ΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ
ΠΡΡΠ³Π° ΠΎΠ΄ Π²Π°ΠΆΠ½ΠΈΡΠ΅ ΡΠ΅ΠΌΠΈ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΅ β ΠΊΠΎΠ½Π·ΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ. ΠΠ²ΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π° Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ°Π²Π°Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΠΌΠ½ΠΎΠ³Ρ ΡΠ°Π±ΠΎΡΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΈΡΡΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°. ΠΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ ΡΠΎ ΠΊΠΎΠ½Π·ΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΠ° ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΠ²Π°Π°Ρ Π΄ΡΡΠΈ ΠΈ Π²ΠΎ ΡΠ°ΠΌΠΈΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ. ΠΠΎ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, ΡΡΠ°ΡΠΈΠ²ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΠ‘ ΡΠΏΡΠ°Π²ΡΠ²Π° ΡΠΎ ΠΌΠ½ΠΎΠ³Ρ ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅ - Π³ΠΎ Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° ΠΏΡΠ²ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ, ΠΏΠΎΡΠΎΠ° Π²ΡΠΎΡΠΈΠΎΡ ΠΈΡΠ½. ΠΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΈΡΠΏΠΎΡΡΠ°Π²ΠΈ, ΠΎΠ²Π° ΠΎΠ΄Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π΅ΠΊΠΎΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Π’Π°ΠΊΠ°, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΡΠΊΠΈ Π΄ΠΎΠΆΠΈΠ²ΡΠ²Π°Π°Ρ ΡΠ°ΠΊΠ²ΠΈ ΡΠ΅ΡΠΊΠΎΡΠΈΠΈ.
Π Π°Π·ΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° ΡΠ»Π΅Π΄Π½Π°Π²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°:
ΠΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π²ΠΎ Π³Π»Π°Π²Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠΎΠ·Π΄Π°Π²Π° Π΄Π²Π΅ Π½ΠΈΡΠΊΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΏΠΎΠ²ΠΈΠΊΠΎΡ pthread_create(). ΠΠΎ ΠΎΠ²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΈΡΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΌΠΈΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΊΠΎΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΠΈΡΡΠΈΠΎΡ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡ Π·Π°Π΅Π΄Π½ΠΎ ΡΠΎ Π΄ΡΡΠ³ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈ ΡΡΠΎ ΡΠ°ΡΠ½ΠΎ Π΅ Π΄Π΅ΠΊΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ Π΅Π΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ°Ρ Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠΎ ΠΎΠ²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΊΠΎΡΠ° Π½ΠΈΡΠΊΠ° Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° ΠΈ ΡΠ° ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° worker() ΠΊΠΎΡ ΠΏΠ°ΠΊ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ°,.
ΠΡΠ΄Π΅ Π΄Π° ΡΠ° ΠΈΠ·Π²ΡΡΠΈΠΌΠ΅ ΠΎΠ²Π°Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΎΠ΄ 1000. ΠΠ°ΠΊΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅, ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ 2000 Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠ΅ΠΊΠΎΡΠ° Π½ΠΈΡΠΊΠ° ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° 1000 ΠΏΠ°ΡΠΈ. Π‘Π΅ΠΏΠ°ΠΊ, ΡΓ¨ Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΡ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ. ΠΡΠ΄Π΅ Π΄Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° ΡΠ° ΠΈΠ·Π²ΡΡΠΈΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΠΎ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°ΡΠ°.
Π‘ΠΎ Π²Π½Π΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Π±ΡΠΎΡ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, 100000, ΠΎΡΠ΅ΠΊΡΠ²Π°ΠΌΠ΅ Π΄Π° Π³ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΠΈΠ·Π»Π΅Π·ΠΎΡ ΠΊΠ°ΠΊΠΎ Π±ΡΠΎΡΠΎΡ 200000. ΠΠ΅ΡΡΡΠΎΠ°, Π°ΠΊΠΎ Π³ΠΎ ΠΈΠ·Π²ΡΡΠΈΠΌΠ΅ Π±ΡΠΎΡΠΎΡ 100000 Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΠ°ΡΠΈ, Π½Π΅ ΡΠ°ΠΌΠΎ ΡΡΠΎ Π½Π΅ΠΌΠ° Π΄Π° Π³ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΡΠΎΡΠ½ΠΈΠΎΡ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ, ΡΡΠΊΡ ΠΈ ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½Π΅ΡΠΎΡΠ½ΠΈ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ. ΠΠ΄Π³ΠΎΠ²ΠΎΡΠΎΡ Π»Π΅ΠΆΠΈ Π²ΠΎ ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° Π·Π° Π΄Π° ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΠΈ Π±ΡΠΎΡΠΎΡ, ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΡΠ΅ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ - ΠΈΠ·Π²Π»Π΅ΠΊΡΠ²Π°ΡΠ΅ Π½Π° Π±ΡΠΎΡΠΎΡ ΠΎΠ΄ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅, Π° ΠΏΠΎΡΠΎΠ° Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° Π±ΡΠΎΡΠΎΡ Π½Π°Π·Π°Π΄. ΠΠΈΠ΄Π΅ΡΡΠΈ ΡΠΈΡΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ Π°ΡΠΎΠΌΡΠΊΠΈ (ΡΠΈΡΠ΅ Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅), ΡΡΠ΄Π½ΠΈ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΠΎ ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠ°Ρ. ΠΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° Π²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ΡΠΎ ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° ΡΡΠΊΠ°ΡΠ°. ΠΠΎΠ³Π° Π½Π΅ΠΏΠΎΠ·Π½Π°ΡΠΈΡΠ΅ ΡΠΈΠ»ΠΈ Π²ΠΎ Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π²Π»ΠΈΡΠ°Π°Ρ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΡΠ° Π±ΠΈΠ»ΠΎ Π²Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°.
ΠΠ·Π²ΠΎΡ: www.habr.com