рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕реЛрдкреЗ рддреБрдХрдбреЗ. рднрд╛рдЧ рез: рдкрд░рд┐рдЪрдп (рдЕрдиреБрд╡рд╛рдж)

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордЪреА рдУрд│рдЦ

рдЕрд╣реЛ рд╣рд╛рдмреНрд░! рдореА рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрдгреВрди рджреЗрдК рдЗрдЪреНрдЫрд┐рддреЛ рд▓реЗрдЦрд╛рдВрдЪреА рдорд╛рд▓рд┐рдХрд╛-рдорд╛рдЭреНрдпрд╛ рдорддреЗ рдПрдХрд╛ рдордиреЛрд░рдВрдЬрдХ рд╕рд╛рд╣рд┐рддреНрдпрд╛рдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ - OSTEP. рд╣реА рд╕рд╛рдордЧреНрд░реА рдпреБрдирд┐рдХреНрд╕ рд╕рд╛рд░рдЦреНрдпрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдордЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреА рд╕рдЦреЛрд▓ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ, рдореНрд╣рдгрдЬреЗ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп, рд╡рд┐рд╡рд┐рдз рд╢реЗрдбреНрдпреВрд▓рд░, рдореЗрдорд░реА рдЖрдгрд┐ рдЖрдзреБрдирд┐рдХ OS рдмрдирд╡рд┐рдгрд╛рд░реЗ рдЗрддрд░ рд╕рдорд╛рди рдШрдЯрдХ. рдЖрдкрдг рдпреЗрдереЗ рд╕рд░реНрд╡ рд╕рд╛рдордЧреНрд░реАрдЪреЗ рдореВрд│ рдкрд╛рд╣реВ рд╢рдХрддрд╛ рдпреЗрдереЗ. рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рднрд╛рд╖рд╛рдВрддрд░ рдЕрд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХрдкрдгреЗ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ (рдЕрдЧрджреА рдореБрдХреНрддрдкрдгреЗ), рдкрд░рдВрддреБ рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рдореА рд╕рд╛рдорд╛рдиреНрдп рдЕрд░реНрде рд░рд╛рдЦрд▓рд╛ рдЖрд╣реЗ.

рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд│реЗрддреАрд▓ рдХрд╛рд░реНрдп рдпреЗрдереЗ рдЖрдврд│реВ рд╢рдХрддреЗ:
- рдореВрд│: pages.cs.wisc.edu/~remzi/OSTEP/Homework/homework.html
- рдореВрд│: github.com/remzi-arpacidusseau/ostep-code
- рдорд╛рдЭреЗ рд╡реИрдпрдХреНрддрд┐рдХ рд░реБрдкрд╛рдВрддрд░: github.com/bykvaadm/OS/tree/master/ostep

рддреБрдореНрд╣реА рдорд╛рдЭреЗ рдЪреЕрдирд▓ рдпреЗрдереЗ рджреЗрдЦреАрд▓ рдкрд╛рд╣реВ рд╢рдХрддрд╛ рддрд╛рд░ =)

рдХрд╛рд░реНрдпрдХреНрд░рдо рдСрдкрд░реЗрд╢рди

рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд╛рд▓реВ рдЕрд╕рддрд╛рдирд╛ рдХрд╛рдп рд╣реЛрддреЗ? рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрдХ рд╕реЛрдкреА рдЧреЛрд╖реНрдЯ рдХрд░рддреЛ - рддреЛ рд╕реВрдЪрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЛ. рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдХрдВрджрд╛рд▓рд╛, рд▓рд╛рдЦреЛ рдЖрдгрд┐ рд╢рдХреНрдпрддреЛ рдЕрдмреНрдЬрд╛рд╡рдзреА рд╕реВрдЪрдирд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ RAM рдордзреВрди рдорд┐рд│рд╡рддрд╛рдд, рддреНрдпрд╛ рдмрджрд▓реНрдпрд╛рдд рддреЗ рддреНрдпрд╛рдВрдирд╛ рдбреАрдХреЛрдб рдХрд░рддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпрд╛ рд╕реВрдЪрдирд╛ рдХреЛрдгрддреНрдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдЖрд╣реЗрдд рд╣реЗ рдУрд│рдЦрддреЗ) рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рддреЗ. рд╣реЗ рджреЛрди рдирдВрдмрд░ рдЬреЛрдбрдгреЗ, рдореЗрдорд░реА рдНрдХреНрд╕реЗрд╕ рдХрд░рдгреЗ, рд╕реНрдерд┐рддреА рддрдкрд╛рд╕рдгреЗ, рдлрдВрдХреНрд╢рдирд╡рд░ рдЬрд╛рдгреЗ рдЗрддреНрдпрд╛рджреА рдЕрд╕реВ рд╢рдХрддреЗ. рдПрдХрд╛ рд╕реВрдЪрдиреЗрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдирдВрддрд░, рдкреНрд░реЛрд╕реЗрд╕рд░ рджреБрд╕рд░реНтАНрдпрд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдХрдбреЗ рдЬрд╛рддреЛ. рдЖрдгрд┐ рдореНрд╣рдгреВрди рд╕реВрдЪрдирд╛ рдирдВрддрд░ рд╕реВрдЪрдирд╛, рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрдкреЗрдкрд░реНрдпрдВрдд рддреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.
рд╣реЗ рдЙрджрд╛рд╣рд░рдг рдиреИрд╕рд░реНрдЧрд┐рдХрд░рд┐рддреНрдпрд╛ рд╕рд░рд▓реАрдХреГрдд рдорд╛рдирд▓реЗ рдЬрд╛рддреЗ - рдЦрд░рдВ рддрд░, рдкреНрд░реЛрд╕реЗрд╕рд░рдЪреА рдЧрддреА рд╡рд╛рдврд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдзреБрдирд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрд▓рдЯреВрди рдкрд╛рд▓рдЯреВрди рд╕реВрдЪрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕, рд╕рдВрднрд╛рд╡реНрдп рдкрд░рд┐рдгрд╛рдорд╛рдВрдЪреА рдЧрдгрдирд╛ рдХрд░рдгреНрдпрд╛рд╕, рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╕реВрдЪрдирд╛ рдЕрдВрдорд▓рд╛рдд рдЖрдгрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рддрддреНрд╕рдо рдпреБрдХреНрддреНрдпрд╛ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.

рдЧрдгрдиреЗрдЪреЗ рд╡реЙрди рдиреНрдпреВрдорди рдореЙрдбреЗрд▓

рдЖрдордЪреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ рдХрд╛рд░реНрдпрд╛рдЪреЗ рд╕рд░рд▓реАрдХреГрдд рд╕реНрд╡рд░реВрдк рдЧрдгрдиреЗрдЪреНрдпрд╛ рд╡реЙрди рдиреНрдпреВрдорди рдореЙрдбреЗрд▓рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. рд╡реЙрди рдиреНрдпреВрдорди рд╣рд╛ рд╕рдВрдЧрдгрдХ рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рдкреНрд░рд╡рд░реНрддрдХрд╛рдВрдкреИрдХреА рдПрдХ рдЖрд╣реЗ, рддреЛ рдЧреЗрдо рд╕рд┐рджреНрдзрд╛рдВрддрд╛рдЪреНрдпрд╛ рд▓реЗрдЦрдХрд╛рдВрдкреИрдХреА рдПрдХ рдЖрд╣реЗ.. рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд╛рд▓реВ рдЕрд╕рддрд╛рдирд╛, рдЗрддрд░ рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдВрдЪрд╛ рдПрдХ рд╕рдореВрд╣ рдШрдбрддреЛ, рдЗрддрд░ рдЕрдиреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рддреГрддреАрдп-рдкрдХреНрд╖ рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд, рдЬреНрдпрд╛рдЪрд╛ рдореБрдЦреНрдп рд╣реЗрддреВ рд╕рд┐рд╕реНрдЯрдордЪреЗ рд▓реЙрдиреНрдЪ, рдСрдкрд░реЗрд╢рди рдЖрдгрд┐ рджреЗрдЦрднрд╛рд▓ рд╕реБрд▓рдн рдХрд░рдгреЗ рдЖрд╣реЗ.
рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдЪрд╛ рдПрдХ рд╕рдВрдЪ рдЖрд╣реЗ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕рдирд╛ рдЪрд╛рд▓рд╡рдгреЗ рд╕реЛрдкреЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА (рдХрд┐рдВрд╡рд╛ рдЕрдиреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕рдирд╛ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ), рдЬреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕рдирд╛ рд╕рдорд╛рди рдореЗрдорд░реА рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕рд╕рд╣ рд╕рдВрдкреНрд░реЗрд╖рдг рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдЪреНрдпрд╛ рдЕрд╢рд╛ рд╕рдВрдЪрд╛рд▓рд╛ (рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░) рдореВрд▓рдд: рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореНрд╣рдгрддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдВрдордзреНрдпреЗ рд╕рд┐рд╕реНрдЯрдо рдпреЛрдЧреНрдп рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдХреА рдирд╛рд╣реА рдпрд╛рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ рддрд╕реЗрдЪ рдпрд╛ рдкреНрд░рдгрд╛рд▓реАрдЪреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд╕реБрд▓рднрддреЗрдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдо, рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдкрд╛рдд рдУрдПрд╕ рдореНрд╣рдгреВрди рдУрд│рдЦрд▓реА рдЬрд╛рддреЗ, рд╣реА рд╕рдВрдЧрдгрдХ рд╕рдВрд╕рд╛рдзрдиреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕рдВрдЧрдгрдХрд╛рд╕рд╣ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕рдЪрд╛ рдПрдХ рд╕рдВрдЪ рдЖрд╣реЗ..
рдУрдПрд╕ рдкреНрд░рдердо рд╕реНрдерд╛рдирд╛рд╡рд░ рддреНрдпрд╛рдЪреА рдкреНрд░рднрд╛рд╡реАрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ, рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрд╡рд╛рдЪреНрдпрд╛ рддрдВрддреНрд░рд╛рджреНрд╡рд╛рд░реЗ - рддрдВрддреНрд░ рдЖрднрд╛рд╕реАрдХрд░рдг. OS рднреМрддрд┐рдХ рд╕рдВрд╕рд╛рдзрдирд╛рд╢реА (рдкреНрд░реЛрд╕реЗрд╕рд░, рдореЗрдорд░реА, рдбрд┐рд╕реНрдХ, рдЗ.) рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп, рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЖрдгрд┐ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕-рд╕реБрд▓рдн рд╕реНрд╡рд░реВрдкрд╛рдд рд░реВрдкрд╛рдВрддрд░ рдХрд░рддреЗ. рдореНрд╣рдгреВрди, рд╕рд╛рдорд╛рдиреНрдп рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрдг рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордЪреА рдЖрднрд╛рд╕реА рдорд╢реАрдирд╢реА рддреБрд▓рдирд╛ рдХрд░реВ рд╢рдХрддрд╛.
рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдорд▓рд╛ рдХрдорд╛рдВрдб рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдЪреА рдХреНрд╖рдорддрд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА (рдЬрд╕реЗ рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд╛рд▓рд╡рдгреЗ, рдореЗрдорд░реА рд╡рд╛рдЯрдк рдХрд░рдгреЗ, рдлрд╛рдЗрд▓ рдНрдХреНрд╕реЗрд╕ рдХрд░рдгреЗ рдЗ.), рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛рд╣реА рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреЗ API (рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕) рдЖрдгрд┐ рдЬреНрдпрд╛рд╡рд░ рддреБрдореНрд╣реА рдХреЙрд▓ (рдХреЙрд▓) рдХрд░реВ рд╢рдХрддрд╛. рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╢реЗрдХрдбреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.
рд╢реЗрд╡рдЯреА, рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рдирдореБрд│реЗ рдПрдХрд╛рдзрд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдЪрд╛рд▓рд╡рддрд╛ рдпреЗрддрд╛рдд (рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ CPU рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреЗ), рдЖрдгрд┐ рдПрдХрд╛рдЪ рд╡реЗрд│реА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реВрдЪрдирд╛ рдЖрдгрд┐ рдбреЗрдЯрд╛ (рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдореЗрдорд░реА рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреЗ), рдЖрдгрд┐ рдНрдХреНрд╕реЗрд╕ рдбрд┐рд╕реНрдХреНрд╕ (рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ I/O рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреЗ) , рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд▓рд╛ рджреЗрдЦреАрд▓ рдореНрд╣рдгрддрд╛рдд. рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ. рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрд╕реЗрд╕рд░, рдбрд┐рд╕реНрдХ рдЖрдгрд┐ рдореЗрдорд░реА рд╣реЗ рд╕рд┐рд╕реНрдЯрдордЪреЗ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдЖрд╣реЗ рдЖрдгрд┐ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордЪреА рдПрдХ рднреВрдорд┐рдХрд╛ рд╣реА рд╕рдВрд╕рд╛рдзрдиреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ, рддреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ, рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ рдХрд░рдгреЗ рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдЙрд▓рдЯ, рдпрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ.

CPU рдЖрднрд╛рд╕реАрдХрд░рдг

рдЦрд╛рд▓реАрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛:
(https://www.youtube.com/watch?v=zDwT5fUcki4&feature=youtu.be)

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕реЛрдкреЗ рддреБрдХрдбреЗ. рднрд╛рдЧ рез: рдкрд░рд┐рдЪрдп (рдЕрдиреБрд╡рд╛рдж)

рд╣реЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд┐рд╢реЗрд╖ рдХреНрд░рд┐рдпрд╛ рдХрд░рдд рдирд╛рд╣реА, рдЦрд░рдВ рддрд░, рддреЗ рдлрдХреНрдд рдлрдВрдХреНрд╢рди рдореНрд╣рдгрддрд╛рдд рдлрд┐рд░рдХреА(), рдЬреНрдпрд╛рдВрдЪреЗ рдХрд╛рд░реНрдп рд╡реЗрд│ рддрдкрд╛рд╕рдгреЗ рдЖрдгрд┐ рдПрдХ рд╕реЗрдХрдВрдж рд╕рдВрдкрд▓реНрдпрд╛рдирдВрддрд░ рдкрд░рдд рдпреЗрдгреЗ рд╣реЗ рдЖрд╣реЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рдпреБрдХреНрддрд┐рд╡рд╛рдж рдореНрд╣рдгреВрди рдкрд╛рд╕ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧрдЪреА рддреЗ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд│рд╛рд╕рд╛рдареА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рддреЗ.
рдЪрд▓рд╛ рд╣рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд░рди рдХрд░реВрдпрд╛ рдЖрдгрд┐ рддреНрдпрд╛рд▓рд╛ "A" рд╡рд░реНрдг рдПрдХ рдпреБрдХреНрддрд┐рд╡рд╛рдж рдореНрд╣рдгреВрди рдкрд╛рд╕ рдХрд░реВрдпрд╛. рдкрд░рд┐рдгрд╛рдо рд╡рд┐рд╢реЗрд╖рддрдГ рдордиреЛрд░рдВрдЬрдХ рдирд╛рд╣реА - рд╕рд┐рд╕реНрдЯрдо рдлрдХреНрдд рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рдЬреЛ рд╡реЗрд│реЛрд╡реЗрд│реА "рдП" рд╡рд░реНрдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЛ.
рдЖрддрд╛ рдПрдХрд╛рдЪ рдкреНрд░реЛрдЧреНрд░рд╛рдордЪреА рдЕрдиреЗрдХ рдЙрджрд╛рд╣рд░рдгреЗ рдЪрд╛рд▓реВ рдЕрд╕рддрд╛рдирд╛ рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░реВрди рдкрд╛рд╣реВ, рдкрд░рдВрддреБ рддреЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рднрд┐рдиреНрди рдЕрдХреНрд╖рд░реЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдгреЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдкрд░рд┐рдгрд╛рдо рдереЛрдбрд╛ рд╡реЗрдЧрд│рд╛ рдЕрд╕реЗрд▓. рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЕрд╕реВрдирд╣реА, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрдХрд╛рдЪ рд╡реЗрд│реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рддреЗ рдХрд╕реЗ рдШрдбрддреЗ? рдкрд░рдВрддреБ рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо, рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдХреНрд╖рдорддрд╛рдВрдЪреНрдпрд╛ рдорджрддреАрд╢рд┐рд╡рд╛рдп, рдПрдХ рднреНрд░рдо рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ. рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ рдЕрдиреЗрдХ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд╣реЗрдд рд╣рд╛ рднреНрд░рдо, рдПрдХрд▓ рдлрд┐рдЬрд┐рдХрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рдЕрдирдВрдд рд╕рдВрдЦреНрдпреЗрдордзреНрдпреЗ рдмрджрд▓рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╡рд░рд╡рд░ рдкрд╛рд╣рддрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЪрд╛рд▓рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ. рдпрд╛ рднреНрд░рдорд╛рд▓рд╛ рдореНрд╣рдгрддрд╛рдд CPU рдЖрднрд╛рд╕реАрдХрд░рдг.
рд╣реЗ рдЪрд┐рддреНрд░ рдЕрдиреЗрдХ рдкреНрд░рд╢реНрди рдЙрдкрд╕реНрдерд┐рдд рдХрд░рддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд╛рд▓рд╡рд╛рдпрдЪреЗ рдЕрд╕рддреАрд▓ рддрд░ рдХреЛрдгрддрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реБрд░реВ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓? рдпрд╛ рдкреНрд░рд╢реНрдирд╛рд╕рд╛рдареА OS рдЪреА тАЬрдзреЛрд░рдгреЗтАЭ рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗрдд. OS рдордзреНрдпреЗ рдЕрдиреЗрдХ рдард┐рдХрд╛рдгреА рдзреЛрд░рдгреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рджреЗрддрд╛рдд рдЖрдгрд┐ OS рджреНрд╡рд╛рд░реЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реА рдореВрд▓рднреВрдд рдпрдВрддреНрд░рдгрд╛ рдЖрд╣реЗ. рдореНрд╣рдгреВрди рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдореНрд╣рдгреВрди OS рдЪреА рднреВрдорд┐рдХрд╛.

рдореЗрдорд░реА рдЖрднрд╛рд╕реАрдХрд░рдг

рдЖрддрд╛ рд╕реНрдореГрддреА рдкрд╛рд╣реВ. рдЖрдзреБрдирд┐рдХ рд╕рд┐рд╕реНрдЯреАрдордордзреАрд▓ рдореЗрдорд░реАрдЪреЗ рднреМрддрд┐рдХ рдореЙрдбреЗрд▓ рдмрд╛рдЗрдЯреНрд╕рдЪреНрдпрд╛ рдЕреЕрд░реЗрдЪреНрдпрд╛ рд░реВрдкрд╛рдд рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЬрд╛рддреЗ.. рдореЗрдорд░реАрдордзреВрди рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рд╕реЗрд▓ рдкрддреНрддрд╛рддреНрдпрд╛рдд рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рдбреЗрдЯрд╛ рд▓рд┐рд╣рд┐рдгреНтАНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рдЕрдкрдбреЗрдЯ рдХрд░рдгреНтАНрдпрд╛рд╕рд╛рдареА, рддреБрдореНтАНрд╣рд╛рд▓рд╛ рдбреЗрдЯрд╛ рдЖрдгрд┐ рд╕реЗрд▓рдЪрд╛ рдкрддреНрддрд╛ рдХреБрдареЗ рд▓рд┐рд╣рд╛рдпрдЪрд╛ рддреЗ рджреЗрдЦреАрд▓ рдирдореВрдж рдХрд░рдгреЗ рдЖрд╡рд╢реНтАНрдпрдХ рдЖрд╣реЗ.
рдкреНрд░реЛрдЧреНрд░рд╛рдордЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрджрд░рдореНрдпрд╛рди рдореЗрдорд░реАрдордзреНрдпреЗ рд╕рддрдд рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдкреНрд░реЛрдЧреНрд░рд╛рдо рддреНрдпрд╛рдЪреА рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛ рд░рдЪрдирд╛ рдореЗрдорд░реАрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЛ рдЖрдгрд┐ рд╡рд┐рд╡рд┐рдз рд╕реВрдЪрдирд╛ рдЕрдВрдорд▓рд╛рдд рдЖрдгреВрди рддреНрдпрд╛рдд рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЛ. рд╕реВрдЪрдирд╛, рджрд░рдореНрдпрд╛рди, рдореЗрдорд░реАрдордзреНрдпреЗ рджреЗрдЦреАрд▓ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рддреНрдпрд╛рдореБрд│реЗ рдкреБрдвреАрд▓ рд╕реВрдЪрдирд╛рдВрд╕рд╛рдареА рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдирдВрддреАрд╕рд╛рдареА рджреЗрдЦреАрд▓ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

malloc() рдХреЙрд▓

рдЦрд╛рд▓реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдордЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛, рдЬреЛ рдХреЙрд▓ рд╡рд╛рдкрд░реВрди рдореЗрдорд░реА рдХреНрд╖реЗрддреНрд░ рд╡рд╛рдЯрдк рдХрд░рддреЛ рдореЕрд▓реЛрдХ () (https://youtu.be/jnlKRnoT1m0):

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕реЛрдкреЗ рддреБрдХрдбреЗ. рднрд╛рдЧ рез: рдкрд░рд┐рдЪрдп (рдЕрдиреБрд╡рд╛рдж)

рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрдиреЗрдХ рдЧреЛрд╖реНрдЯреА рдХрд░рддреЛ. рдкреНрд░рдердо, рддреЗ рдХрд╛рд╣реА рдореЗрдорд░реА (рд▓рд╛рдЗрди 7) рд╡рд╛рдЯрдк рдХрд░рддреЗ, рдирдВрддрд░ рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реЗрд▓рдЪрд╛ рдкрддреНрддрд╛ (рдУрд│ 9) рдореБрджреНрд░рд┐рдд рдХрд░рддреЗ, рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЗрдорд░реАрдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рд╕реНрд▓реЙрдЯрд╡рд░ рд╢реВрдиреНрдп рд▓рд┐рд╣рд┐рддреЗ. рдкреБрдвреЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрдХ рд▓реВрдкрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЛ рдЬреНрдпрд╛рдордзреНрдпреЗ рддреЛ тАЬpтАЭ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреАрд▓ рдкрддреНрддреНрдпрд╛рд╡рд░ рдореЗрдорд░реАрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдореВрд▓реНрдп рд╡рд╛рдврд╡рддреЛ. рддреЗ рд╕реНрд╡рддрдГрдЪрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдпрдбреА рджреЗрдЦреАрд▓ рдореБрджреНрд░рд┐рдд рдХрд░рддреЗ. рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдпрдбреА рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рд▓реВ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рдЕрджреНрд╡рд┐рддреАрдп рдЖрд╣реЗ. рдЕрдиреЗрдХ рдкреНрд░рддреА рд▓рд╛рдБрдЪ рдХреЗрд▓реНрдпрд╛рд╡рд░, рдЖрдореНрд╣реА рдПрдХрд╛ рдордиреЛрд░рдВрдЬрдХ рдирд┐рдХрд╛рд▓рд╛рд╡рд░ рдЕрдбрдЦрд│рддреЛ: рдкрд╣рд┐рд▓реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдкрдг рдХрд╛рд╣реАрд╣реА рди рдХреЗрд▓реНрдпрд╛рд╕ рдЖрдгрд┐ рдлрдХреНрдд рдЕрдиреЗрдХ рдкреНрд░рддреА рдЪрд╛рд▓рд╡рд┐рд▓реНрдпрд╛рд╕, рдкрддреНрддреЗ рднрд┐рдиреНрди рдЕрд╕рддреАрд▓. рдкрдг рд╣реЗ рдЖрдордЪреНрдпрд╛ рд╕рд┐рджреНрдзрд╛рдВрддрд╛рдд рдпреЗрдд рдирд╛рд╣реА! рдмрд░реЛрдмрд░, рдЖрдзреБрдирд┐рдХ рд╡рд┐рддрд░рдгрд╛рдВрдордзреНрдпреЗ рдбрд┐рдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдореЗрдорд░реА рдпрд╛рджреГрдЪреНрдЫрд┐рдХреАрдХрд░рдг рд╕рдХреНрд╖рдо рдХреЗрд▓реЗ рдЖрд╣реЗ. рдЬрд░ рддреЗ рдЕрдХреНрд╖рдо рдХреЗрд▓реЗ рдЕрд╕реЗрд▓ рддрд░, рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд│реЗрд▓ - рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рджреЛрди рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕рдЪреЗ рдореЗрдорд░реА рдкрддреНрддреЗ рдЬреБрд│рддреАрд▓.

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕реЛрдкреЗ рддреБрдХрдбреЗ. рднрд╛рдЧ рез: рдкрд░рд┐рдЪрдп (рдЕрдиреБрд╡рд╛рдж)

рдкрд░рд┐рдгрд╛рдореА, рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рджреЛрди рд╕реНрд╡рддрдВрддреНрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рдд: рдЪреНрдпрд╛ рдЦрд╛рдЬрдЧреА рдкрддреНрддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдерд╛рдирд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд, рдЬреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорджреНрд╡рд╛рд░реЗ рднреМрддрд┐рдХ рдореЗрдорд░реАрдордзреНрдпреЗ рдореЕрдк рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.. рдореНрд╣рдгреВрди, рдПрдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдордордзреАрд▓ рдореЗрдорд░реА рдкрддреНрддреНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдЗрддрд░рд╛рдВрд╡рд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ рдкрд░рд┐рдгрд╛рдо рдХрд░рдгрд╛рд░ рдирд╛рд╣реА, рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд▓рд╛ рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рднреМрддрд┐рдХ рдореЗрдорд░реАрдЪрд╛ рднрд╛рдЧ рдЖрд╣реЗ, рдкреВрд░реНрдгрдкрдгреЗ рддреНрдпрд╛рд╕ рджрд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА рднреМрддрд┐рдХ рдореЗрдорд░реА рд╣реА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорджреНрд╡рд╛рд░реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗрд▓реА рдПрдХ рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрд╕рд╛рдзрди рдЖрд╣реЗ.

рд╕реБрд╕рдВрдЧрддрддрд╛

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рдЖрдгрдЦреА рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рд╡рд┐рд╖рдп рдореНрд╣рдгрдЬреЗ - рд╕реБрд╕рдВрдЧрддрддрд╛. рд╣рд╛ рд╢рдмреНрдж рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рд╕рдорд╕реНрдпрд╛рдВрдмрджреНрджрд▓ рдмреЛрд▓рдд рдЕрд╕рддрд╛рдирд╛ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ рдЬреНрдпрд╛ рдПрдХрд╛рдЪ рдкреНрд░реЛрдЧреНрд░рд╛рдордордзреНрдпреЗ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рдЧреЛрд╖реНрдЯреАрдВрд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛рдирд╛ рдЙрджреНрднрд╡реВ рд╢рдХрддрд╛рдд. рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗрдЪ рд╕рд╛рддрддреНрдп рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡рддрд╛рдд. рдорд╛рдЧреАрд▓ рдореЗрдорд░реА рдЖрдгрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рди рдЙрджрд╛рд╣рд░рдгрд╛рдВрдордзреНрдпреЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рдордЬрд▓реЗ рдХреА OS рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рдЧреЛрд╖реНрдЯреА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ - рддреА рдкрд╣рд┐рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реВ рдХрд░рддреЗ, рдирдВрддрд░ рджреБрд╕рд░реА, рдЗрддреНрдпрд╛рджреА. рдЬрд╕реЗ рд╣реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА, рдпрд╛ рд╡рд░реНрддрдирд╛рдореБрд│реЗ рдХрд╛рд╣реА рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡реВ рд╢рдХрддрд╛рдд. рдореНрд╣рдгреВрди, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдзреБрдирд┐рдХ рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдЕрд╢рд╛ рдЕрдбрдЪрдгреА рдЕрдиреБрднрд╡рддрд╛рдд.

рдЦрд╛рд▓реАрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛:

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕реЛрдкреЗ рддреБрдХрдбреЗ. рднрд╛рдЧ рез: рдкрд░рд┐рдЪрдп (рдЕрдиреБрд╡рд╛рдж)

рдореБрдЦреНрдп рдлрдВрдХреНрд╢рдирдордзреАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЙрд▓ рд╡рд╛рдкрд░реВрди рджреЛрди рдереНрд░реЗрдб рддрдпрд╛рд░ рдХрд░рддреЛ pthread_create(). рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдереНрд░реЗрдбрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдЗрддрд░ рдлрдВрдХреНрд╢рдиреНрд╕рдЪреНрдпрд╛ рдмрд░реЛрдмрд░реАрдиреЗ рд╕рдорд╛рди рдореЗрдорд░реА рд╕реНрдкреЗрд╕рдордзреНрдпреЗ рдЪрд╛рд▓рдгрд╛рд░реЗ рдлрдВрдХреНрд╢рди рдореНрд╣рдгреВрди рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдлрдВрдХреНрд╢рди рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЪрд╛рд▓реВ рдЕрд╕рддрд╛рдд. рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдлрдВрдХреНрд╢рди рд╕реБрд░реВ рдХрд░рддреЛ рдЖрдгрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЛ worker() рдЬреЗ рдпрд╛рдордзреВрди рдлрдХреНрдд рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдврд╡рддреЗ,.

рдЪрд▓рд╛ рд╣рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо 1000 рдЪреНрдпрд╛ рдпреБрдХреНрддрд┐рд╡рд╛рджрд╛рдиреЗ рд░рди рдХрд░реВрдпрд╛. рддреБрдореНрд╣реА рдЕрдВрджрд╛рдЬ рдХреЗрд▓рд╛ рдЕрд╕реЗрд▓ рдХреА, рдкрд░рд┐рдгрд╛рдо 2000 рдЕрд╕рд╛рд╡рд╛ рдХрд╛рд░рдг рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдбрдиреЗ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ 1000 рд╡реЗрд│рд╛ рд╡рд╛рдврд╡рд▓реЗ тАЛтАЛрдЖрд╣реЗ. рддрдерд╛рдкрд┐, рд╕рд░реНрд╡рдХрд╛рд╣реА рдЗрддрдХреЗ рд╕реЛрдкреЗ рдирд╛рд╣реА. рдЕрдзрд┐рдХ рдкреБрдирд░рд╛рд╡реГрддреНрддреАрдЪреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВрдпрд╛.

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕реЛрдкреЗ рддреБрдХрдбреЗ. рднрд╛рдЧ рез: рдкрд░рд┐рдЪрдп (рдЕрдиреБрд╡рд╛рдж)

рдПрдЦрд╛рджреА рд╕рдВрдЦреНрдпрд╛ рдЗрдирдкреБрдЯ рдХрд░реВрди, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 100000, рдЖрдореНрд╣реА 200000 рд╕рдВрдЦреНрдпрд╛ рдореНрд╣рдгреВрди рдЖрдЙрдЯрдкреБрдЯ рдкрд╛рд╣рдгреНрдпрд╛рдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЛ. рддрдерд╛рдкрд┐, рдЬрд░ рдЖрдкрдг 100000 рд╣реА рд╕рдВрдЦреНрдпрд╛ рдЕрдиреЗрдХ рд╡реЗрд│рд╛ рдЪрд╛рд▓рд╡рд▓реА, рддрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХреЗрд╡рд│ рдпреЛрдЧреНрдп рдЙрддреНрддрд░рдЪ рджрд┐рд╕рдгрд╛рд░ рдирд╛рд╣реА, рддрд░ рд╡реЗрдЧрд╡реЗрдЧрд│реА рдЪреБрдХреАрдЪреА рдЙрддреНрддрд░реЗрд╣реА рдорд┐рд│рддреАрд▓. рдЙрддреНрддрд░ рд╣реЗ рдЖрд╣реЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА, рддреАрди рдСрдкрд░реЗрд╢рдиреНрд╕ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд - рдореЗрдорд░реАрдордзреВрди рд╕рдВрдЦреНрдпрд╛ рдХрд╛рдврдгреЗ, рд╡рд╛рдврд╡рдгреЗ рдЖрдгрд┐ рдирдВрддрд░ рд╕рдВрдЦреНрдпрд╛ рдкрд░рдд рд▓рд┐рд╣рд┐рдгреЗ. рдпрд╛ рд╕рд░реНрд╡ рд╕реВрдЪрдирд╛ рдЕрдгреБ рдкрджреНрдзрддреАрдиреЗ (рд╕рд░реНрд╡ рдПрдХрд╛рдЪ рд╡реЗрд│реА) рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реНрдпрд╛ рдЬрд╛рдд рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рдЕрд╢рд╛ рд╡рд┐рдЪрд┐рддреНрд░ рдЧреЛрд╖реНрдЯреА рдШрдбреВ рд╢рдХрддрд╛рдд. рдпрд╛ рд╕рдорд╕реНрдпреЗрд▓рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореНрд╣рдгрддрд╛рдд рд╢рд░реНрдпрддреАрдЪреА рд╕реНрдерд┐рддреА. рдЬреЗрд╡реНрд╣рд╛ рдЕрдЬреНрдЮрд╛рдд рдХреНрд╖рдгреА рдЕрдЬреНрдЮрд╛рдд рд╢рдХреНрддреА рдЖрдкрд▓реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдСрдкрд░реЗрд╢рдирдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░реВ рд╢рдХрддрд╛рдд.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛