ืืืื ืืืขืจืืืช ืืคืขืื
ืฉืืื, ืืืจ! ืืจืฆืื ื ืืืฆืื ืืคื ืืื ืกืืจืช ืืืืจืื-ืชืจืืื ืฉื ืกืคืจืืช ืืืช ืฉืืขื ืืื ืช ืืืขืชื - OSTEP. ืืืืืจ ืืื ืืืื ืืขืืืง ืืช ืืขืืืื ืฉื ืืขืจืืืช ืืคืขืื ืืืืืืช ืืื ืืงืก, ืืืืืจ ืขืืืื ืขื ืชืืืืืื, ืืชืืื ืื ืฉืื ืื, ืืืืจืื ืืจืืืืื ืืืืื ืืืจืื ืืืจืืืืื ืืขืจืืช ืืคืขืื ืืืืจื ืืช. ืืชื ืืืื ืืจืืืช ืืช ืืืงืืจ ืฉื ืื ืืืืืจืื ืืื
ื ืืชื ืืืฆืื ืขืืืืช ืืขืืื ืื ืืฉื ืื ืืื:
- ืืงืืจื:
- ืืงืืจื:
- ืืืชืืื ืืืืฉืืช ืฉืื:
ืืชื ืืืื ืื ืืืืืง ืืช ืืขืจืืฅ ืฉืื ืืืชืืืช
ืชืคืขืื ืืชืืื ืืช
ืื ืงืืจื ืืืฉืจ ืชืืื ืืช ืคืืขืืช? ืชืืื ืืช ืคืืขืืช ืขืืฉื ืืืจ ืืื ืคืฉืื - ืืื ืืืฆืขืช ืืืจืืืช. ืื ืฉื ืืื, ืืืืืื ื ืืืคืืื ืืืื ืืืืืืจืื ืืืจืืืช ืืืืืืจืืช ืขื ืืื ืืืขืื ื-RAM, ืืชืืจื ืืื ืืคืขื ื ืืืชื (ืืืฉื, ืืืื ืืืืื ืกืื ืืืจืืืช ืืื ืฉืืืืืช) ืืืืฆืข ืืืชื. ืื ืืืื ืืืืืช ืืืกืคืช ืฉื ื ืืกืคืจืื, ืืืฉื ืืืืืจืื, ืืืืงืช ืืฆื, ืงืคืืฆื ืืคืื ืงืฆืื ืืื ืืืื. ืืืืจ ืกืืื ืืืจืื ืืืช, ืืืขืื ืขืืืจ ืืืืฆืืข ืืืจ. ืืื ืืืจืื ืืืจ ืืืจืื, ืื ืืืืฆืขืื ืขื ืืกืืื ืืชืืื ืืช.
ืืืืื ืื ื ืืฉืืช ืืืืคื ืืืขื ืืฆืืจื ืคืฉืืื - ืืืขืฉื, ืืื ืืืืืฅ ืืช ืืืขืื, ืืืืืจื ืืืืืจื ืืช ืืืคืฉืจืช ืื ืืืฆืข ืืืจืืืช ืฉืื ืืจืฆืฃ, ืืืฉื ืชืืฆืืืช ืืคืฉืจืืืช, ืืืฆืข ืืืจืืืช ืื-ืืื ืืช ืืชืืืืืืช ืืืืืช.
ืืืื ืืืฉืื ืคืื ื ืืืื
ืฆืืจืช ืืคืขืืื ืืคืฉืืื ืฉืชืืืจื ื ืืืื ืืืืื ืืืืฉืื ืฉื ืคืื ื ืืืื. ืคืื ื ืืืื ืืื ืืื ืืืืืฆื ืืขืจืืืช ืืืืฉื, ืืื ืื ืืื ืืืืืจืื ืฉื ืชืืจืช ืืืฉืืงืื. ืืืื ืฉืืชืืื ืืช ืคืืขืืช, ืืชืจืืฉืื ืฉืื ืืืจืืขืื ืืืจืื, ืชืืืืืื ืจืืื ืืืจืื ืืืืืืื ืฉื ืฆื ืฉืืืฉื ืคืืขืืื, ืฉืืืจืชื ืืขืืงืจืืช ืืื ืืคืฉื ืืช ืืืฉืงื, ืืชืคืขืื ืืืชืืืืงื ืฉื ืืืขืจืืช.
ืืฉ ืืขืจืืช ืฉื ืชืืื ืืช ืฉืืืจืืืืช ืืืคืื ืชืืื ืืืช ืืงืืืช ืืืคืขืื (ืื ืืคืืื ืืืคืฉืจ ืืืกืคืจ ืชืืื ืืืช ืืคืขืื ืื-ืืื ืืช), ืืืืคืฉืจืืช ืืชืืื ืืืช ืืืืืง ืืช ืืืชื ืืืืจืื, ืืื ืื ืืชืงืฉืจ ืขื ืืืฉืืจืื ืฉืื ืื. ืืขืจืืช ืชืืื ื ืืื (ืชืืื ื) ื ืงืจืืช ืืขืฆื ืืขืจืืช ืืคืขืื ืืืฉืืืืชืื ืืืืืืช ื ืืืืจ ืฉืืืขืจืืช ืคืืขืืช ืืฆืืจื ื ืืื ื ืืืขืืื, ืืื ืื ืืืืืช ืงืืืช ืื ืืืื ืฉื ืืขืจืืช ืื.
ืืขืจืืช ืืคืขืื
ืืขืจืืช ืืคืขืื, ืงืืฆืืจ ืฉื ืืขืจืืช ืืคืขืื, ืืื ืงืืืฆื ืฉื ืชืืื ืืืช ืืืืืจืืช ืฉื ืืขืื ืื ืื ืืฉืืื ืืืฉื ืืืืจืื ืืื ืืจืืงืฆืื ืฉื ืืฉืชืืฉืื ืขื ืืืืฉื..
ืืขืจืืช ืืืคืขืื ืืฉืืื ืืช ืืขืืืืชื ืืขืืงืจ ืืืืฆืขืืช ืืืื ืืงื ืืืฉืืื ืืืืชืจ - ืืื ืืืืืื ืืืจืืืืืืืฆืื. ืืขืจืืช ืืืคืขืื ืืงืืืืช ืืื ืืจืืงืฆืื ืขื ืืฉืื ืคืืื (ืืขืื, ืืืืจืื, ืืืกืง ืืื') ืืืืคืืช ืืืชื ืืฆืืจื ืืืืืช ืืืชืจ, ืืขืืช ืืืืืช ืืงืื ืืืชืจ ืืฉืืืืฉ ืฉื ืขืฆืื. ืืื, ืืืื ื ืืืืืช, ืืชื ืืืื ืืืฉืืืช ืืืืคื ืืก ืืืื ืืื ืืขืจืืช ืืคืขืื ืืืืื ื ืืืจืืืืืืช.
ืขื ืื ืช ืืืคืฉืจ ืืืฉืชืืฉืื ืืชืช ืคืงืืืืช ืืืขืจืืช ืืืคืขืื ืืืื ืืืฉืชืืฉ ืืืืืืืช ืฉื ืืืืื ื ืืืืจืืืืืืช (ืืืื: ืืคืขืืช ืชืืื ืืช, ืืงืฆืืช ืืืืจืื, ืืืฉื ืืงืืืฅ ืืืืืื), ืืขืจืืช ืืืคืขืื ืืกืคืงืช ืืืฉืง ืื ืงืจื API (ืืืฉืง ืชืื ืืช ืืืฉืืืื) ืืืืื ื ืืชื ืืืฆืข ืฉืืืืช. ืืขืจืืช ืืคืขืื ืืืคืืกืืช ืืืคืฉืจืช ืืืฆืข ืืืืช ืฉืืืืช ืืขืจืืช.
ืืืกืืฃ, ืืืืืื ืฉืืืืืจืืืืืืืฆืื ืืืคืฉืจืช ืืจืืฅ ืชืืื ืืืช ืืจืืืืช (ืืืคืืื ืืฉืชืฃ ืืช ื-CPU), ืืื ืืื ืืช ืืืฉืช ืืืืจืืืช ืืื ืชืื ืื ืฉืืื (ืืคืืื ืืฉืชืฃ ืืืืจืื), ืืืืฉืช ืืืืกืงืื (ืืืื ืืฉืชืฃ ืืชืงื ื ืงืื/ืคืื) , ืืขืจืืช ืืืคืขืื ื ืงืจืืช ืื ืืฉืื ืื ืื. ืื ืืขืื, ืืืกืง ืืืืืจืื ืื ืืฉืื ืฉื ืืืขืจืืช ืืืื ืืื ืืชืคืงืืื ืืขืจืืช ืืืคืขืื ืืืคื ืืืฉืืื ืฉื ื ืืืื ืืฉืืืื ืืื, ืืืฆืืข ืื ืืืขืืืืช, ืืืืื ืืช ืื ืืืืคื, ืืืชืื ืืืฉืืื ืฉืืฉืื ืืขืจืืช ืืืคืขืื ืืขืืฆื.
ืืืจืืืืืืืฆืื ืฉื ืืขืื
ืฉืงืื ืืช ืืชืืื ืืช ืืืื:
(https://www.youtube.com/watch?v=zDwT5fUcki4&feature=youtu.be)
ืื ืื ืืืฆืข ืฉืื ืคืขืืืืช ืืืืืืืช; ืืืขืฉื, ืื ืื ืฉืืื ืขืืฉื ืื ืืงืจืื ืืคืื ืงืฆืื ืืกืืื(), ืฉืชืคืงืืื ืืืืืง ืืืืคื ืืืืืจื ืืช ืืฉืขื ืืืืืืจ ืืืืจ ืฉืืืคื ืฉื ืืื ืืืช. ืืคืืื, ืืื ืืืืจ ืืื ืกืืฃ ืขื ืืืืจืืืช ืฉืืืฉืชืืฉ ืืขืืืจ ืืืจืืืื ื.
ืืื ื ืจืืฅ ืืช ืืชืืื ืืช ืืื ืื ืขืืืจ ืื ืืช ืืกืื "A" ืืืืขืื. ืืชืืฆืื ืื ืืขื ืืื ืช ืืืืืื - ืืืขืจืืช ืคืฉืื ืืคืขืืื ืชืืื ืืช ืฉืืฆืืื ืืขืช ืืขืช ืืช ืืกืื "A" ืขื ืืืกื.
ืืขืช ื ื ืกื ืืช ืืืคืฉืจืืช ืืืฉืจ ืืืคืขืื ืจืืื ืฉื ืืืชื ืชืืื ืืช ืืืคืขืืื, ืื ืืฆืืืื ืืืชืืืช ืฉืื ืืช, ืืื ืืืืืืจ ืืืช. ืืืงืจื ืื, ืืชืืฆืื ืชืืื ืฉืื ื ืืืงืฆืช. ืืืจืืช ืืขืืืื ืฉืืฉ ืื ื ืืขืื ืืื, ืืชืืื ืืช ืคืืขืืช ืื ืืื ืืช. ืืื ืื ืงืืจื? ืืื ืืกืชืืจ ืฉืืขืจืืช ืืืคืขืื, ืื ืืื ืขืืจืช ืืืืืืช ืืืืจื, ืืืฆืจืช ืืฉืืื. ืืืฉืืื ืฉืืฉ ืืกืคืจ ืืขืืืื ืืืจืืืืืืื ืืืขืจืืช, ืืืคืืื ืืขืื ืคืืื ืืื ืืืกืคืจ ืืื ืกืืคื ืืืืื ื ืชืืืืจืืืช ืืืื ืืืคืฉืจ ืืชืืื ืืืช ืืจืืฅ ืืืืืจื ืื-ืืื ืืช. ืืืฉืืื ืืื ื ืงืจืืช ืืืจืืืืืืืฆืื ืฉื ืืขืื.
ืชืืื ื ืื ืืขืื ืฉืืืืช ืจืืืช, ืืืฉื, ืื ืืกืคืจ ืชืืื ืืช ืจืืฆืืช ืืคืขืื ืื ืืื ืืช, ืื ืืืื ืืื ืชืืฉืง? "ืืืื ืืืช" ืืขืจืืช ืืืคืขืื ืืืจืืืช ืื ืืฉื ืื. ืืืื ืืืช ืืฉืืฉืช ืืืงืืืืช ืจืืื ืืืขืจืืช ืืืคืขืื ืืขืื ื ืขื ืฉืืืืช ืืื ืืื, ืืื ืื ืืื ืื ืื ืื ืืืกืืกืืื ืฉืืขืจืืช ืืืคืขืื ืืืืฉืืช. ืืืื ืืชืคืงืื ืฉื ืืขืจืืช ืืืคืขืื ืืื ืื ืืฉืืืื.
ืืืจืืืืืืืฆืื ืฉื ืืืืจืื
ืขืืฉืื ืืืื ื ืกืชืื ืขื ืืืืืจืื. ืืืืื ืืคืืื ืฉื ืืืืจืื ืืืขืจืืืช ืืืืจื ืืืช ืืืืฆื ืืืขืจื ืืชืื. ืืื ืืงืจืื ืืืืืืจืื ืฆืจืื ืืฆืืื ืืชืืืช ืชืืืืฉืช ืืืื. ืืื ืืืชืื ืื ืืขืืื ื ืชืื ืื, ืขืืื ืืฆืืื ืื ืืช ืื ืชืื ืื ืืืช ืืืชืืืช ืฉื ืืชื ืฉืื ืืืชืื ืืืชื.
ืืืฉื ืืืืืจืื ืืชืจืืฉืช ืืื ืืจืฃ ืืืืื ืืคืขืืช ืืชืืื ืืช. ืชืืื ืืช ืืืืกื ืช ืืช ืื ืืื ื ืื ืชืื ืื ืฉืื ืืืืืจืื ืื ืืืฉืช ืืืื ืขื ืืื ืืืฆืืข ืืืจืืืช ืฉืื ืืช. ืืื ืชืืื, ืื ืืืจืืืช ืืืืืกื ืืช ืืืืืจืื, ืื ืฉืืื ื ืืืฉื ืื ืขืืืจ ืื ืืงืฉื ืืืืจืื ืืืื.
ืงืืจื malloc()
ืฉืงืื ืืช ืืชืืื ืืช ืืืื, ืืฉืจ ืืงืฆื ืืืืจ ืืืืจืื ืืืืฆืขืืช ืืฉืืื malloc () (https://youtu.be/jnlKRnoT1m0):
ืืชืืื ืืช ืขืืฉื ืืื ืืืจืื. ืจืืฉืืช, ืืื ืืงืฆื ืืืืจืื ืืืฉืื (ืฉืืจื 7), ืืื ืืืคืืก ืืช ืืืชืืืช ืฉื ืืชื ืืืืงืฆื (ืฉืืจื 9), ืืืชื ืืคืก ืืืจืืฅ ืืจืืฉืื ืฉื ืืืืืจืื ืืืืงืฆื. ืืืืจ ืืื, ืืชืืื ืืช ื ืื ืกืช ืืืืืื ืฉืื ืืื ืืืืืื ืืช ืืขืจื ืืืืืืกื ืืืืืจืื ืืืชืืืช ืืืฉืชื ื "p". ืื ืื ืืฆืื ืืช ืืืื ืืชืืืื ืฉื ืขืฆืื. ืืืื ืืชืืืื ืืื ืืืืืื ืขืืืจ ืื ืชืืืื ืคืืขื. ืืืืจ ืฉืืฉืงื ื ืืกืคืจ ืขืืชืงืื, ื ืืชืงื ืืชืืฆืื ืืขื ืืื ืช: ืืืงืจื ืืจืืฉืื, ืื ืื ื ืขืฉื ืืืจ ืืจืง ื ืฉืืง ืืกืคืจ ืขืืชืงืื, ืืืชืืืืช ืืืื ืฉืื ืืช. ืืื ืื ืื ื ืืคื ืชืืช ืืชืืืืจืื ืฉืื ื! ื ืืื, ืื ืืืคืฆืืช ืืืืจื ืืืช ืืฉ ืืืืจืื ืืงืจืื ืืืคืขื ืืืจืืจืช ืืืื. ืื ืชืฉืืืช ืืืชื, ื ืงืื ืืช ืืชืืฆืื ืืฆืคืืื - ืืชืืืืช ืืืืืจืื ืฉื ืฉืชื ืชืืื ืืืช ืืคืืขืืืช ืื ืืื ืืช ืืชืืืื.
ืืชืืฆืื ืืื ืฉืฉืชื ืชืืื ืืช ืขืฆืืืืืช ืขืืืืืช ืขื ืืจืืื ืืชืืืืช ืคืจืืืื ืืฉืืื, ืืฉืจ ืืชืืจื ืืืืคืื ืขื ืืื ืืขืจืืช ืืืคืขืื ืืืืืจืื ืืคืืื. ืืื, ืืฉืืืืฉ ืืืชืืืืช ืืืืจืื ืืชืื ืชืืื ื ืืืช ืื ืืฉืคืืข ืขื ืืืจืืช ืืฉืื ืฆืืจื, ืื ืจืื ืฉืืื ืชืืื ื ืืฉ ืคืืกืช ืืืืจืื ืคืืื ืืฉืื, ืืขืืืืช ืืจืฉืืชื ืืืืืืื. ืืืฆืืืืช, ืืขืืืช ืืืช, ืืื ืฉืืืืจืื ืคืืื ืืื ืืฉืื ืืฉืืชืฃ ืืื ืืื ืขื ืืื ืืขืจืืช ืืืคืขืื.
ืขึฒืงึตืึดืืึผืช
ื ืืฉื ืืฉืื ื ืืกืฃ ืืชืื ืืขืจืืืช ืืคืขืื ืืื ืขึฒืงึตืึดืืึผืช. ืืื ื ืื ืืฉืืฉ ืืืฉืจ ืืืืจืื ืขื ืืขืืืช ืืขืจืืช ืฉืขืืืืืช ืืืชืจืืฉ ืืืฉืจ ืขืืืืื ืขื ืืืจืื ืจืืื ืืืช ืืืช ืืชืื ืชืืื ืืช ืืืช. ืืขืืืช ืขืงืืืืช ืืชืจืืฉืืช ืืคืืื ืืชืื ืืขืจืืช ืืืคืขืื ืขืฆืื. ืืืืืืืืช ืืงืืืืืช ืขื ืืืจืืืืืืืฆืื ืฉื ืืืืจืื ืืืขืื, ืืื ื ืฉืืขืจืืช ืืืคืขืื ืื ืืืช ืืจืื ืืืจืื ืืืงืืื - ืืฉืืงื ืืช ืืชืืืื ืืจืืฉืื, ืืืจ ืื ืืช ืืฉื ื ืืื'. ืืคื ืฉืืชืืจืจ, ืืชื ืืืืช ืื ืขืืืื ืืืืืื ืืืขืืืช ืืกืืืืืช. ืืืืืื, ืชืืื ืืืช ืืืืจื ืืืช ืืจืืืืช ืืืืื ืืืืช ืงืฉืืื ืืืื.
ืฉืงืื ืืช ืืชืืื ืืช ืืืื:
ืืชืืื ืืช ืืคืื ืงืฆืื ืืจืืฉืืช ืืืฆืจืช ืฉื ื ืฉืจืฉืืจืื ืืืืฆืขืืช ืืงืจืืื Pthread_create(). ืืืืืื ืื, ื ืืชื ืืจืืืช ืฉืจืฉืืจ ืืคืื ืงืฆืื ืืคืืขืืช ืืืืชื ืฉืื ืืืืจืื ืืฆื ืคืื ืงืฆืืืช ืืืจืืช, ืืืฉืจ ืืจืืจ ืฉืืืชืจ ืืคืื ืงืฆืื ืืืช ืคืืขืืช ืื-ืืื ืืช. ืืืืืื ืื, ืื ืฉืจืฉืืจ ืืชืืื ืืืืฆืข ืคืื ืงืฆืื worker() ืืฉืจ ืืชืืจื ืคืฉืื ืืืืื ืืช ืืืฉืชื ื,.
ืืื ื ืจืืฅ ืืช ืืชืืื ืืช ืืื ืขื ืืจืืืื ื ืฉื 1000. ืืคื ืฉืืืื ื ืืืฉืชื, ืืชืืฆืื ืฆืจืืื ืืืืืช 2000, ืืืืืื ืฉืื ืฉืจืฉืืจ ืืืืื ืืช ืืืฉืชื ื 1000 ืคืขืืื. ืขื ืืืช, ืืื ืื ืื ืื ืคืฉืื. ืืืื ื ื ืกื ืืืคืขืื ืืช ืืชืืื ืืช ืขื ืืืชืจ ืืืจืืช ืืกืืจ ืืืื.
ืืืื ืช ืืกืคืจ, ืืืฉื, 100000, ืื ื ืืฆืคืื ืืจืืืช ืืช ืืืกืคืจ 200000 ืืคืื. ืขื ืืืช, ืขื ืืื ืืคืขืืช ืืืกืคืจ 100000 ืืกืคืจ ืคืขืืื, ืื ืจืง ืฉืื ื ืจืื ืืช ืืชืฉืืื ืื ืืื ื, ืืื ืื ื ืงืื ืชืฉืืืืช ืื ื ืืื ืืช ืฉืื ืืช. ืืชืฉืืื ื ืขืืฆื ืืขืืืื ืฉืืืืืช ืืกืคืจ ืืืจืฉืช ืฉืืืฉ ืคืขืืืืช - ืฉืืืคืช ืืืกืคืจ ืืืืืืจืื, ืืืืื ืฉืื ืืื ืืชืืืช ืืืกืคืจ ืืืจื. ืืืืืื ืฉืื ืืืืจืืืช ืืืื ืืื ื ืืืืฆืขืืช ืืฆืืจื ืืืืืืช (ืืืื ืื ืืื ืืช), ืืืจืื ืืืืจืื ืืื ืื ืืืืืื ืืงืจืืช. ืืขืื ืื ื ืงืจืืช ืืชืื ืืช ืืฆื ืืืจืืฅ - ืืฆื ืืืจืืฅ. ืืืฉืจ ืืืืืช ืื ืืืืขืื ืืจืืข ืื ืืืืข ืืืืืื ืืืฉืคืืข ืขื ืืืฆืืข ืื ืืืช ืืืคืขืืืืช ืฉืื.
ืืงืืจ: www.habr.com