рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕реЛрдкреЗ рддреБрдХрдбреЗ. рднрд╛рдЧ 5: рдирд┐рдпреЛрдЬрди: рдмрд╣реБ-рд╕реНрддрд░реАрдп рдлреАрдбрдмреЕрдХ рд░рд╛рдВрдЧ (рдЕрдиреБрд╡рд╛рдж)

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

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

рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд│реЗрддреАрд▓ рдХрд╛рд░реНрдп рдпреЗрдереЗ рдЖрдврд│реВ рд╢рдХрддреЗ:

рдЗрддрд░ рднрд╛рдЧ:

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

рдирд┐рдпреЛрдЬрди: рдмрд╣реБ-рд╕реНрддрд░реАрдп рдлреАрдбрдмреЕрдХ рд░рд╛рдВрдЧ

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

MLFQ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо 2 рдореВрд▓рднреВрдд рдУрд╡реНрд╣рд░рд▓реЕрдкрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ.
рдкрд╣рд┐рд▓реНрдпрд╛рдиреЗ, рддреЛ рдЯрд░реНрдирдЕрд░рд╛рдЙрдВрдб рдЯрд╛рдЗрдо рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ, рдЬреНрдпрд╛рдЪреА рдЖрдкрдг рдорд╛рдЧреАрд▓ рд╡реНрдпрд╛рдЦреНрдпрд╛рдирд╛рдд рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рд╣реЛрддреА, рддреА рд╕рд░реНрд╡рд╛рдд рдЬрд╛рд╕реНрдд рд░рд╛рдВрдЧреЗрдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрджреНрд╡рд╛рд░реЗ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реА рдЬрд╛рддреЗ.
рд▓рд╣рд╛рди рдХрд╛рд░реНрдпреЗ. рддрдерд╛рдкрд┐, OS рд▓рд╛ рдорд╛рд╣рд┐рдд рдирд╛рд╣реА рдХреА рдПрдЦрд╛рджреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд┐рддреА рдХрд╛рд│ рдЪрд╛рд▓реЗрд▓ рдЖрдгрд┐ рд╣реЗ
SJF, STCF рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЬреНрдЮрд╛рди. рджреБрд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, MLFQ рдкреНрд░рдпрддреНрди рдХрд░рдд рдЖрд╣реЗ
рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рддрд┐рд╕рд╛рджрд╛рддреНрдордХ рдмрдирд╡рд╛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬреЗ рдмрд╕рддрд╛рдд рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐
рдХрд╛рд░реНрдп рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рдЪреА рд╡рд╛рдЯ рдкрд╛рд╣рдд рд╕реНрдХреНрд░реАрдирдХрдбреЗ рдкрд╣рд╛) рдЖрдгрд┐ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡реЗрд│ рдХрдореА рдХрд░рд╛
рдкреНрд░рддрд┐рд╕рд╛рдж рджреБрд░реНрджреИрд╡рд╛рдиреЗ, RR рд╕рд╛рд░рдЦреЗ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░рддрд┐рд╕рд╛рдж рд╡реЗрд│ рд╕реБрдзрд╛рд░рддрд╛рдд, рдкрд░рдВрддреБ рдЕрддреНрдпрдВрдд
рдЯрд░реНрдирдЕрд░рд╛рдЙрдВрдб рдЯрд╛рдЗрдо рдореЗрдЯреНрд░рд┐рдХрд╡рд░ рд╡рд╛рдИрдЯ рдкрд░рд┐рдгрд╛рдо рд╣реЛрддреЛ. рдореНрд╣рдгреВрди рдЖрдордЪреА рд╕рдорд╕реНрдпрд╛: рдбрд┐рдЭрд╛рдЗрди рдХрд╕реЗ рдХрд░рд╛рд╡реЗ
рдПрдХ рд╢реЗрдбреНрдпреБрд▓рд░ рдЬреЛ рдЖрдордЪреНрдпрд╛ рдЧрд░рдЬрд╛ рдкреВрд░реНрдг рдХрд░реЗрд▓ рдпрд╛рдмрджреНрджрд▓ рдХрд╛рд╣реАрд╣реА рдорд╛рд╣рд┐рддреА рди рдШреЗрддрд╛
рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреЗ рд╕реНрд╡рд░реВрдк? рд╢реЗрдбреНрдпреБрд▓рд░ рдХрд╛рд░реНрдпрд╛рдВрдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдХрд╢реА рд╢рд┐рдХреВ рд╢рдХрддреЛ,
рдЬреЗ рддреЗ рд▓рд╛рдБрдЪ рдХрд░рддреЗ рдЖрдгрд┐ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЪрд╛рдВрдЧрд▓реЗ рдирд┐рдпреЛрдЬрди рдирд┐рд░реНрдгрдп рдШреЗрддреЗ?

рд╕рдорд╕реНрдпреЗрдЪреЗ рд╕рд╛рд░: рдкрд░рд┐рдкреВрд░реНрдг рдЬреНрдЮрд╛рдирд╛рд╢рд┐рд╡рд╛рдп рдХрд╛рд░реНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реЗрдЯрд┐рдВрдЧрдЪреА рдпреЛрдЬрдирд╛ рдХрд╢реА рдХрд░рд╛рд╡реА?
рд╢реЗрдбреНрдпреБрд▓рд░ рдХрд╕реЗ рдбрд┐рдЭрд╛рдЗрди рдХрд░рд╛рд╡реЗ рдЬреЗ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдкреНрд░рддрд┐рд╕рд╛рдж рд╡реЗрд│ рдХрдореА рдХрд░рддреЗ
рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдХрд╛рд░реНрдпрд╛рдВрд╕рд╛рдареА рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдирдХрд│рдд рдЯрд░реНрдирдЕрд░рд╛рдЙрдВрдб рд╡реЗрд│ рдХрдореА рдХрд░рддреЗ
рдХрд╛рд░реНрдп рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╡реЗрд│реЗрдЪреЗ рдЬреНрдЮрд╛рди?

рдЯреАрдк: рдЖрдкрдг рдорд╛рдЧреАрд▓ рдШрдЯрдирд╛рдВрд╡рд░реВрди рд╢рд┐рдХрддреЛ

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

MLFQ: рдореВрд▓рднреВрдд рдирд┐рдпрдо

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

  • рдирд┐рдпрдо 1: рдЬрд░ рдкреНрд░рд╛рдзрд╛рдиреНрдп(A) > рдкреНрд░рд╛рдзрд╛рдиреНрдп(B), рдХрд╛рд░реНрдп A рд▓рд╛рдБрдЪ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓ (B рдирд╛рд╣реА)
  • рдирд┐рдпрдо 2: рдЬрд░ рдкреНрд░рд╛рдзрд╛рдиреНрдп(A) = рдкреНрд░рд╛рдзрд╛рдиреНрдп(B), A&B RR рд╡рд╛рдкрд░реВрди рд╕реБрд░реВ рдХреЗрд▓реЗ

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

рдпрд╛ рдпреЛрдЬрдиреЗрдд, 2 рдкреНрд░рдХреНрд░рд┐рдпрд╛ A рдЖрдгрд┐ B рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдзрд╛рдиреНрдпрд╛рдЪреНрдпрд╛ рд░рд╛рдВрдЧреЗрдд рдЖрд╣реЗрдд. рдкреНрд░рдХреНрд░рд┐рдпрд╛
C рдордзреНрдпрднрд╛рдЧреА рдХреБрдареЗрддрд░реА рдЖрд╣реЗ рдЖрдгрд┐ D рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд╛рдВрдЧреЗрдЪреНрдпрд╛ рдЕрдЧрджреА рд╢реЗрд╡рдЯреА рдЖрд╣реЗ. рд╡рд░реАрд▓ рдиреБрд╕рд╛рд░
MLFQ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреНрдпрд╛ рд╡рд░реНрдгрдирд╛рдиреБрд╕рд╛рд░, рд╢реЗрдбреНрдпреБрд▓рд░ рдХреЗрд╡рд│ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдХрд╛рд░реНрдпреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░реЗрд▓
RR рдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдзрд╛рдиреНрдп, рдЖрдгрд┐ рдХрд╛рд░реНрдпреЗ C, D рдХрд╛рдорд╛рдмрд╛рд╣реЗрд░ рдЕрд╕рддреАрд▓.
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХрдЪ, рд╕реНрдерд┐рд░ рд╕реНрдиреЕрдкрд╢реЙрдЯ MLFQ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдЪреЗ рд╕рдВрдкреВрд░реНрдг рдЪрд┐рддреНрд░ рджреЗрдК рд╢рдХрдд рдирд╛рд╣реА.
рдХрд╛рд│рд╛рдиреБрд╕рд╛рд░ рдЪрд┐рддреНрд░ рдиреЗрдордХреЗ рдХрд╕реЗ рдмрджрд▓рддреЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рдЧрд░рдЬреЗрдЪреЗ рдЖрд╣реЗ.

рдкреНрд░рдпрддреНрди 1: рдкреНрд░рд╛рдзрд╛рдиреНрдп рдХрд╕реЗ рдмрджрд▓рд╛рд╡реЗ

рдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рдард░рд╡рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдХреА MLFQ рдкреНрд░рд╛рдзрд╛рдиреНрдп рдкрд╛рддрд│реА рдХрд╢реА рдмрджрд▓реЗрд▓
рдХрд╛рд░реНрдпреЗ (рдЖрдгрд┐ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдХрд╛рд░реНрдпрд╛рдЪреЗ рд░рд╛рдВрдЧреЗрддреАрд▓ рд╕реНрдерд╛рди) рдЬрд╕реЗ рддреЗ рддреНрдпрд╛рдЪреНрдпрд╛ рдЬреАрд╡рди рдЪрдХреНрд░рд╛рддреВрди рдкреБрдвреЗ рдЬрд╛рддреЗ. рдЪреНрдпрд╛ рд╕рд╛рдареА
рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ: рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рдХреНрдХрдо
рд▓рд╣рд╛рди рд░рдирдЯрд╛рдЗрдорд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдХрд╛рд░реНрдпреЗ (рдЖрдгрд┐ рддреНрдпрд╛рдореБрд│реЗ рд╡рд╛рд░рдВрд╡рд╛рд░ рд░рд┐рд▓реАрдЬ
CPU) рдЖрдгрд┐ рдЕрдиреЗрдХ рджреАрд░реНрдШрдХрд╛рд│ рдЪрд╛рд▓рдгрд╛рд░реА рдХрд╛рд░реНрдпреЗ рдЬреА CPU рддреНрдпрд╛рдВрдЪрд╛ рд╕рд░реНрд╡ рдХрд╛рдордХрд╛рдЬрд╛рдЪрд╛ рд╡реЗрд│ рд╡рд╛рдкрд░рддрд╛рдд
рдЕрд╢рд╛ рдХрд╛рдорд╛рдВрд╕рд╛рдареА рдкреНрд░рддрд┐рд╕рд╛рдж рд╡реЗрд│ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдирд╛рд╣реА. рдЖрдгрд┐ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рддреБрдореНрд╣реА рддреБрдордЪрд╛ рдкрд╣рд┐рд▓рд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ рд╢рдХрддрд╛
рдЦрд╛рд▓реАрд▓ рдирд┐рдпрдорд╛рдВрд╕рд╣ MLFQ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рд╛рдЧреВ рдХрд░рд╛:

  • рдирд┐рдпрдо3: рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджреЗ рдХрд╛рд░реНрдп рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ, рддреЗрд╡реНрд╣рд╛ рддреЗ рд╕рд░реНрд╡реЛрдЪреНрдЪ рд░рд╛рдВрдЧреЗрдд рдареЗрд╡рд▓реЗ рдЬрд╛рддреЗ
  • рдкреНрд░рд╛рдзрд╛рдиреНрдп
  • Rule4a: рдЬрд░ рдПрдЦрд╛рджреЗ рдХрд╛рд░реНрдп рддреНрдпрд╛рд▓рд╛ рджрд┐рд▓реЗрд▓реА рд╕рдВрдкреВрд░реНрдг рд╡реЗрд│ рд╡рд╛рдкрд░рдд рдЕрд╕реЗрд▓, рддрд░ рддреЗ
  • рдкреНрд░рд╛рдзрд╛рдиреНрдп рдХрдореА рдХреЗрд▓реЗ рдЖрд╣реЗ.
  • Rule4b: рдЬрд░ рдПрдЦрд╛рджреЗ рдЯрд╛рд╕реНрдХ рд╕реАрдкреАрдпреВрдЪреА рдЯрд╛рдЗрдо рд╡рд┐рдВрдбреЛ рдХрд╛рд▓рдмрд╛рд╣реНрдп рд╣реЛрдгреНрдпрд╛рдЖрдзреА рд░рд┐рд▓реАрдЬ рдХрд░рддреЗ, рддрд░ рддреЗ
  • рд╕рдорд╛рди рдкреНрд░рд╛рдзрд╛рдиреНрдпрд╛рдиреЗ рд░рд╛рд╣рддреЗ.

рдЙрджрд╛рд╣рд░рдг 1: рдПрдХрд▓ рджреАрд░реНрдШрдХрд╛рд│ рдЪрд╛рд▓рдгрд╛рд░реЗ рдХрд╛рд░реНрдп

рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд рдкрд╛рд╣рд┐рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдкреНрд░рд╡реЗрд╢ рдХрд╛рд░реНрдп рд╕рд░реНрд╡реЛрдЪреНрдЪ рд╕рд╣ рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ
рдкреНрд░рд╛рдзрд╛рдиреНрдп 10ms рдЪреНрдпрд╛ рдЯрд╛рдЗрдо рд╡рд┐рдВрдбреЛрдирдВрддрд░, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдзрд╛рдиреНрдпрд╛рдиреЗ рдХрдореА рдХреЗрд▓реА рдЬрд╛рддреЗ
рдирд┐рдпреЛрдЬрдХ рдкреБрдвреАрд▓ рд╡реЗрд│ рд╡рд┐рдВрдбреЛ рдирдВрддрд░, рдХрд╛рд░реНрдп рд╢реЗрд╡рдЯреА demoted рдЖрд╣реЗ
рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рд╕рд░реНрд╡рд╛рдд рдХрдореА рдкреНрд░рд╛рдзрд╛рдиреНрдп, рдЬрд┐рдереЗ рддреЗ рд░рд╛рд╣рддреЗ.
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕реЛрдкреЗ рддреБрдХрдбреЗ. рднрд╛рдЧ 5: рдирд┐рдпреЛрдЬрди: рдмрд╣реБ-рд╕реНрддрд░реАрдп рдлреАрдбрдмреЕрдХ рд░рд╛рдВрдЧ (рдЕрдиреБрд╡рд╛рдж)

рдЙрджрд╛рд╣рд░рдг 2: рдПрдХ рд▓рд╣рд╛рди рдХрд╛рд░реНрдп рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ

рдЖрддрд╛ MLFQ SJF рд▓рд╛ рдХрд╕реЗ рдЬрд╛рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрд▓ рдпрд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг рдкрд╛рд╣реВ. рддреНрдпрд╛рдд
рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рджреЛрди рдХрд╛рд░реНрдпреЗ: A, рдЬреЗ рд╕рддрдд рджреАрд░реНрдШрдХрд╛рд│ рдЪрд╛рд▓рдгрд╛рд░реЗ рдХрд╛рд░реНрдп рдЖрд╣реЗ
CPU рдЖрдгрд┐ B рд╡реНрдпрд╛рдкрдд рдЖрд╣реЗ, рдЬреЗ рдПрдХ рд▓рд╣рд╛рди рд╕рдВрд╡рд╛рджрд╛рддреНрдордХ рдХрд╛рд░реНрдп рдЖрд╣реЗ. рд╕рдордЬрд╛
рдЯрд╛рд╕реНрдХ B рдпреЗрдИрдкрд░реНрдпрдВрдд A рдЖрдзреАрдЪ рдХрд╛рд╣реА рдХрд╛рд│ рдХрд╛рдо рдХрд░рдд рд╣реЛрддрд╛.
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕реЛрдкреЗ рддреБрдХрдбреЗ. рднрд╛рдЧ 5: рдирд┐рдпреЛрдЬрди: рдмрд╣реБ-рд╕реНрддрд░реАрдп рдлреАрдбрдмреЕрдХ рд░рд╛рдВрдЧ (рдЕрдиреБрд╡рд╛рдж)

рд╣рд╛ рдЖрд▓реЗрдЦ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪреЗ рдкрд░рд┐рдгрд╛рдо рджрд░реНрд╢рд╡рд┐рддреЛ. рдХрд╛рд░реНрдп A, рдХреЛрдгрддреНрдпрд╛рд╣реА рдХрд╛рд░реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ,
CPU рд╡рд╛рдкрд░ рдЕрдЧрджреА рддрд│рд╛рд╢реА рд╣реЛрддрд╛. рдЯрд╛рд╕реНрдХ B рд╡реЗрд│реЗрд╡рд░ рдпреЗрдИрд▓ T=100 рдЖрдгрд┐ рд╣реЛрдИрд▓
рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдзрд╛рдиреНрдп рд░рд╛рдВрдЧреЗрдд рдареЗрд╡рд▓реЗ. рддреНрдпрд╛рдЪреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╡реЗрд│ рд▓рд╣рд╛рди рдЕрд╕рд▓реНрдпрд╛рдиреЗ
рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рд░рд╛рдВрдЧреЗрдд рдкреЛрд╣реЛрдЪрдгреНрдпрд╛рдкреВрд░реНрд╡реА рддреЗ рдкреВрд░реНрдг рд╣реЛрдИрд▓.

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

рдЙрджрд╛рд╣рд░рдг рей: I/O рдЪреЗ рдХрд╛рдп?

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

рд╣реЗ рдЙрджрд╛рд╣рд░рдг рджрд╛рдЦрд╡рддреЗ рдХреА рдЕрд╢рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрд╕рд╣ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░реЗрд▓ - рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдЬреЙрдм рдмреА, рдЬреНрдпрд╛рд▓рд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдкреВрд░реНрд╡реА рдлрдХреНрдд 1ms рд╕рд╛рдареА CPU рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
I/O рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рджреАрд░реНрдШрдХрд╛рд│ рдЪрд╛рд▓рдгрд╛рд░реА рдЬреЙрдм A, рдЬреА CPU рд╡рд╛рдкрд░реВрди рдЖрдкрд▓рд╛ рд╕рд░реНрд╡ рд╡реЗрд│ рдШрд╛рд▓рд╡рддреЗ.
MLFQ рдкреНрд░рдХреНрд░рд┐рдпрд╛ B рд▓рд╛ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдзрд╛рдиреНрдп рджреЗрддреЗ рдХрд╛рд░рдг рддреА рдЪрд╛рд▓реВ рд░рд╛рд╣рддреЗ
CPU рд╕реЛрдбрд╛. рдЬрд░ рдмреА рд╣реЗ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдХрд╛рд░реНрдп рдЕрд╕реЗрд▓, рддрд░ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордиреЗ рд╕рд╛рдзреНрдп рдХреЗрд▓реЗ рдЖрд╣реЗ
рддреБрдордЪреЗ рдзреНрдпреЗрдп рд╕рдВрд╡рд╛рджрд╛рддреНрдордХ рдХрд╛рд░реНрдпреЗ рджреНрд░реБрддрдкрдгреЗ рдЪрд╛рд▓рд╡рдгреЗ рдЖрд╣реЗ.

рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ MLFQ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордордзреНрдпреЗ рд╕рдорд╕реНрдпрд╛

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

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

рд╢реЗрд╡рдЯреА, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ рддреНрдпрд╛рдЪреЗ рд╡рд░реНрддрди рдмрджрд▓реВ рд╢рдХрддреЛ. рддреА рдХрд╛рдореЗ
рдЬреЗ CPU рд╡рд╛рдкрд░рд▓реЗ рддреЗ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рд╣реЛрдК рд╢рдХрддреЗ. рдЖрдордЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рд╕рдорд╛рди
рдХрд╛рд░реНрдпрд╛рдВрдирд╛ рд╢реЗрдбреНрдпреБрд▓рд░рдХрдбреВрди рдЗрддрд░рд╛рдВрдкреНрд░рдорд╛рдгреЗ рдпреЛрдЧреНрдп рд╡рд╛рдЧрдгреВрдХ рдорд┐рд│рдгрд╛рд░ рдирд╛рд╣реА
(рдкреНрд░рд╛рд░рдВрднрд┐рдХ) рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдХрд╛рд░реНрдпреЗ.

рдкреНрд░реЗрдХреНрд╖рдХрд╛рдВрд╕рд╛рдареА рдкреНрд░рд╢реНрди: рдЖрдзреБрдирд┐рдХ рдЬрдЧрд╛рдд рд╢реЗрдбреНрдпреВрд▓рд░рд╡рд░ рдХреЛрдгрддреЗ рд╣рд▓реНрд▓реЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд?

рдкреНрд░рдпрддреНрди 2: рдкреНрд░рд╛рдзрд╛рдиреНрдп рд╡рд╛рдврд╡рдгреЗ

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

  • рдирд┐рдпрдо 5: рдард░рд╛рд╡рд┐рдХ рдХрд╛рд▓рд╛рд╡рдзреАрдирдВрддрд░ S, рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рд╕рд░реНрд╡ рдХрд╛рд░реНрдпреЗ рд╕рд░реНрд╡реЛрдЪреНрдЪ рд░рд╛рдВрдЧреЗрдд рд╣рд▓рд╡рд╛.

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

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

рдкреНрд░рдпрддреНрди 3: рдЙрддреНрддрдо рд▓реЗрдЦрд╛

рдЖрддрд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЖрдгрдЦреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд╛рдпрдЪреА рдЖрд╣реЗ: рдХрд╕реЗ рдирд╛рд╣реА
рдЖрдордЪреНрдпрд╛ рд╢реЗрдбреНрдпреБрд▓рд░рд▓рд╛ рдлрд╕рд╡реВ рджреНрдпрд╛? рдпрд╛ рд╢рдХреНрдпрддреЗрд╕рд╛рдареА рд▓реЛрдХ рджреЛрд╖реА рдЖрд╣реЗрдд
рдирд┐рдпрдо 4a, 4b, рдЬреЗ рдкреНрд░реЛрд╕реЗрд╕рд░рд▓рд╛ рдореЛрдХрд│реЗ рдХрд░реВрди рдиреЛрдХрд░реАрд▓рд╛ рдкреНрд░рд╛рдзрд╛рдиреНрдп рдареЗрд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд
рджрд┐рд▓реЗрд▓реА рд╡реЗрд│ рд╕рдВрдкрдгреНрдпрд╛рдкреВрд░реНрд╡реА. рдпрд╛рд▓рд╛ рдХрд╕реЗ рд╕рд╛рдореЛрд░реЗ рдЬрд╛рд╡реЗ?
рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рддреАрд▓ рдЙрдкрд╛рдп рдореНрд╣рдгрдЬреЗ рдкреНрд░рддреНрдпреЗрдХрд╛рд╡рд░ CPU рд╡реЗрд│реЗрдЪреЗ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реЗ рд▓реЗрдЦрд╛рдВрдХрди рдорд╛рдирд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ
MLFQ рдкрд╛рддрд│реА. рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдд рд╡рд╛рдкрд░рд▓реЗрд▓реА рд╡реЗрд│ рд╡рд┐рд╕рд░рдгреНрдпрд╛рдРрд╡рдЬреА
рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрд╛рд▓рд╛рд╡рдзреАрд╕рд╛рдареА рдкреНрд░реЛрд╕реЗрд╕рд░, рддреЗ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдЖрдгрд┐ рдЬрддрди рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ. рдирдВрддрд░
рдкреНрд░рдХреНрд░рд┐рдпреЗрдиреЗ рджрд┐рд▓реЗрд▓рд╛ рд╡реЗрд│ рд╡рд╛рдкрд░рд▓рд╛ рдЖрд╣реЗ, рддреА рдкреБрдвреАрд▓ рд╡реЗрд│реЗрдд рдЕрд╡рдирдд рдХрд░рд╛рд╡реА
рдкреНрд░рд╛рдзрд╛рдиреНрдп рдкрд╛рддрд│реА. рдЖрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдкрд▓рд╛ рд╡реЗрд│ рдХрд╕рд╛ рд╡рд╛рдкрд░реЗрд▓ - рд╣реЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдирд╛рд╣реА
рдкреНрд░реЛрд╕реЗрд╕рд░рд╡рд░ рдХрд┐рдВрд╡рд╛ рдЕрдиреЗрдХ рдХреЙрд▓реНрд╕ рдореНрд╣рдгреВрди рд╕рддрдд рд╕рдВрдЧрдгрди рдХрд░рдгреЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ,
рдирд┐рдпрдо 4 рдЦрд╛рд▓реАрд▓ рдлреЙрд░реНрдорд╡рд░ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд╛рд╡рд╛:

  • рдирд┐рдпрдо 4: рдПрдЦрд╛рджреЗ рдХрд╛рд░реНрдп рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд░рд╛рдВрдЧреЗрдд рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓рд╛ рд╡реЗрд│ рд╡рд╛рдкрд░рд▓реНрдпрд╛рдирдВрддрд░ (рддреНрдпрд╛рдиреЗ CPU рдХрд┐рддреАрд╣реА рд╡реЗрд│рд╛ рдореЛрдХрд│реЗ рдХреЗрд▓реЗ рддрд░реАрд╣реА) рддреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрдореА рдХреЗрд▓реА рдЬрд╛рддреЗ (рддреЗ рд░рд╛рдВрдЧреЗрдд рдЦрд╛рд▓реА рд╕рд░рдХрддреЗ).

рдЪрд▓рд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд╛рд╣реВ:
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕реЛрдкреЗ рддреБрдХрдбреЗ. рднрд╛рдЧ 5: рдирд┐рдпреЛрдЬрди: рдмрд╣реБ-рд╕реНрддрд░реАрдп рдлреАрдбрдмреЕрдХ рд░рд╛рдВрдЧ (рдЕрдиреБрд╡рд╛рдж)┬╗

рдЖрдкрдг рд╢реЗрдбреНрдпреВрд▓рд░рд▓рд╛ рдлрд╕рд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓реНрдпрд╛рд╕ рдХрд╛рдп рд╣реЛрддреЗ рд╣реЗ рдЖрдХреГрддреА рджрд░реНрд╢рд╡рддреЗ, рдЬрд╕реЗ
рдорд╛рдЧреАрд▓ рдирд┐рдпрдо 4a, 4b рд╕рд╣ рдЕрд╕рд▓реНрдпрд╛рд╕ рдбрд╛рд╡реАрдХрдбреАрд▓ рдирд┐рдХрд╛рд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдИрд▓. рдирд╡реАрди рд╢реБрднреЗрдЪреНрдЫрд╛
рдирд┐рдпрдо рдЙрдЬрд╡реАрдХрдбреЗ рдирд┐рдХрд╛рд▓ рдЖрд╣реЗ. рд╕рдВрд░рдХреНрд╖рдгрд╛рдкреВрд░реНрд╡реА, рдХреЛрдгрддреАрд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рдкреВрд░реНрд╡реА I/O рдХреЙрд▓ рдХрд░реВ рд╢рдХрддреЗ рдЖрдгрд┐
рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдВрд░рдХреНрд╖рдг рд╕рдХреНрд╖рдо рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рд╡рд░реНрддрдирд╛рдЪреА рдкрд░реНрд╡рд╛ рди рдХрд░рддрд╛, CPU рд╡рд░ рдкреНрд░рднреБрддреНрд╡ рдорд┐рд│рд╡рд╛
I/O, рддреЛ рдЕрдЬреВрдирд╣реА рд░рд╛рдВрдЧреЗрдд рдЦрд╛рд▓реА рдЬрд╛рдИрд▓ рдЖрдгрд┐ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЕрдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ рд╕рдХреНрд╖рдо рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА
CPU рд╕рдВрд╕рд╛рдзрдиреЗ рддрд╛рдмреНрдпрд╛рдд рдШреНрдпрд╛.

MLFQ рдЖрдгрд┐ рдЗрддрд░ рд╕рдорд╕реНрдпрд╛ рд╕реБрдзрд╛рд░рдгреЗ

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

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

рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд 2 рдХрд╛рд░реНрдпреЗ рдЖрд╣реЗрдд рдЬреА рдЙрдЪреНрдЪ рдкреНрд░рд╛рдзрд╛рдиреНрдп рд░рд╛рдВрдЧреЗрдд рдХрд╛рдо рдХрд░рддрд╛рдд 20
ms, 10ms рд╡рд┐рдВрдбреЛрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реЗрд▓реЗ. рдордзрд▓реНрдпрд╛ рд░рд╛рдВрдЧреЗрдд 40ms (20ms рд╡рд┐рдВрдбреЛ) рдЖрдгрд┐ рдХрдореА рдкреНрд░рд╛рдзрд╛рдиреНрдп
рд░рд╛рдВрдЧреЗрдЪреА рд╡реЗрд│ рд╡рд┐рдВрдбреЛ 40ms рдЭрд╛рд▓реА рдЬрд┐рдереЗ рдХрд╛рд░реНрдпрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреЗ рдХрд╛рд░реНрдп рдкреВрд░реНрдг рдХреЗрд▓реЗ.

MLFQ рдЪреА Solaris OS рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╡реЗрд│-рд╕рд╛рдорд╛рдпрд┐рдХрд░рдг рд╢реЗрдбреНрдпреБрд▓рд░рдЪрд╛ рдПрдХ рд╡рд░реНрдЧ рдЖрд╣реЗ.
рдкреНрд▓реЕрдирд░ рдЯреЗрдмрд▓рдЪрд╛ рдПрдХ рд╕рдВрдЪ рдкреНрд░рджрд╛рди рдХрд░реЗрд▓ рдЬреЗ рддреЗ рдЬрд╕реЗ рдкрд╛рд╣рд┐рдЬреЗ рддрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛рдд
рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреЗ рдкреНрд░рд╛рдзрд╛рдиреНрдп рддреНрдпрд╛рдЪреНрдпрд╛ рдЖрдпреБрд╖реНрдпрд╛рджрд░рдореНрдпрд╛рди рдмрджрд▓рддреЗ, рдЖрдХрд╛рд░ рдХрд╛рдп рдЕрд╕рд╛рд╡рд╛
рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реА рд╡рд┐рдВрдбреЛ рдЖрдгрд┐ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд┐рддреА рд╡реЗрд│рд╛ рдХрд╛рд░реНрдп рдкреНрд░рд╛рдзрд╛рдиреНрдпрдХреНрд░рдо рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. рдкреНрд░рд╢рд╛рд╕рдХ
рдкреНрд░рдгрд╛рд▓реА рдпрд╛ рд╕рд╛рд░рдгреАрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзреВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ рд╢реЗрдбреНрдпреБрд▓рд░рд▓рд╛ рд╡рд░реНрддрди рдХрд░рдгреНрдпрд╛рд╕ рдХрд╛рд░рдгреАрднреВрдд рдард░реВ рд╢рдХрддрд╛рдд
рд╡реЗрдЧрд│реНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдпрд╛ рдЯреЗрдмрд▓рдордзреНрдпреЗ рд╣рд│реВрд╣рд│реВ рд╡рд╛рдвреАрд╕рд╣ 60 рд░рд╛рдВрдЧрд╛ рдЖрд╣реЗрдд
рдЦрд┐рдбрдХреАрдЪрд╛ рдЖрдХрд╛рд░ 20ms (рдЙрдЪреНрдЪ рдкреНрд░рд╛рдзрд╛рдиреНрдп) рдкрд╛рд╕реВрди рдХрд┐рддреНрдпреЗрдХ рд╕реМ ms (рдХрдореА рдкреНрд░рд╛рдзрд╛рдиреНрдп) рдкрд░реНрдпрдВрдд, рдЖрдгрд┐
рддрд╕реЗрдЪ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдХрдВрджрд╛рд▓рд╛ рдПрдХрджрд╛ рд╕рд░реНрд╡ рдХрд╛рд░реНрдпрд╛рдВрдЪреНрдпрд╛ рдмреВрд╕реНрдЯрд╕рд╣.

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

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

MLFQ: рд╕рд╛рд░рд╛рдВрд╢

рдЖрдореНрд╣реА MLFQ рдирд╛рд╡рд╛рдЪреНрдпрд╛ рдирд┐рдпреЛрдЬрди рдкрджреНрдзрддреАрдЪреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗ. рддреНрдпрд╛рдЪреЗ рдирд╛рд╡
рдСрдкрд░реЗрд╢рдирдЪреНрдпрд╛ рддрддреНрддреНрд╡рд╛рдордзреНрдпреЗ рдмрдВрдж - рдпрд╛рдд рдЕрдиреЗрдХ рд░рд╛рдВрдЧрд╛ рдЖрд╣реЗрдд рдЖрдгрд┐ рдЕрднрд┐рдкреНрд░рд╛рдп рд╡рд╛рдкрд░рддрд╛рдд
рдХрд╛рд░реНрдп рдкреНрд░рд╛рдзрд╛рдиреНрдп рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА.
рдирд┐рдпрдорд╛рдВрдЪреЗ рдЕрдВрддрд┐рдо рд╕реНрд╡рд░реВрдк рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЕрд╕реЗрд▓.

  • рдирд┐рдпрдо 1: рдЬрд░ рдкреНрд░рд╛рдзрд╛рдиреНрдп(A) > рдкреНрд░рд╛рдзрд╛рдиреНрдп(B), рдХрд╛рд░реНрдп A рд▓рд╛рдБрдЪ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓ (B рдирд╛рд╣реА)
  • рдирд┐рдпрдо 2: рдЬрд░ рдкреНрд░рд╛рдзрд╛рдиреНрдп(A) = рдкреНрд░рд╛рдзрд╛рдиреНрдп(B), A&B RR рд╡рд╛рдкрд░реВрди рд╕реБрд░реВ рдХреЗрд▓реЗ рдЕрд╕реЗрд▓
  • рдирд┐рдпрдо 3: рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджреЗ рдХрд╛рд░реНрдп рдкреНрд░рдгрд╛рд▓реАрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ, рддреЗрд╡реНрд╣рд╛ рддреЗ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдзрд╛рдиреНрдп рд░рд╛рдВрдЧреЗрдд рдареЗрд╡рд▓реЗ рдЬрд╛рддреЗ.
  • рдирд┐рдпрдо 4: рдПрдЦрд╛рджреЗ рдХрд╛рд░реНрдп рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд░рд╛рдВрдЧреЗрдд рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓рд╛ рд╡реЗрд│ рд╡рд╛рдкрд░рд▓реНрдпрд╛рдирдВрддрд░ (рддреНрдпрд╛рдиреЗ CPU рдХрд┐рддреАрд╣реА рд╡реЗрд│рд╛ рдореЛрдХрд│реЗ рдХреЗрд▓реЗ рддрд░реАрд╣реА) рддреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрдореА рдХреЗрд▓реА рдЬрд╛рддреЗ (рддреЗ рд░рд╛рдВрдЧреЗрдд рдЦрд╛рд▓реА рд╕рд░рдХрддреЗ).
  • рдирд┐рдпрдо 5: рдард░рд╛рд╡рд┐рдХ рдХрд╛рд▓рд╛рд╡рдзреАрдирдВрддрд░ S, рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рд╕рд░реНрд╡ рдХрд╛рд░реНрдпреЗ рд╕рд░реНрд╡реЛрдЪреНрдЪ рд░рд╛рдВрдЧреЗрдд рд╣рд▓рд╡рд╛.

MLFQ рдЦрд╛рд▓реАрд▓ рдХрд╛рд░рдгрд╛рд╕реНрддрд╡ рдордиреЛрд░рдВрдЬрдХ рдЖрд╣реЗ - рддреНрдпрд╛рдРрд╡рдЬреА рддреНрдпрд╛рдмрджреНрджрд▓ рдЬреНрдЮрд╛рди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
рдХрд╛рд░реНрдпрд╛рдЪреЗ рд╕реНрд╡рд░реВрдк рдЖрдЧрд╛рдК, рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛рд░реНрдпрд╛рдЪреНрдпрд╛ рдорд╛рдЧреАрд▓ рд╡рд░реНрддрдирд╛рдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рдЖрдгрд┐ рд╕реЗрдЯ рдХрд░рддреЗ
рддреНрдпрд╛рдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдзрд╛рдиреНрдпрдХреНрд░рдо. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рддреЛ рдПрдХрд╛рдЪ рд╡реЗрд│реА рджреЛрди рдЦреБрд░реНрдЪреНрдпрд╛рдВрд╡рд░ рдмрд╕рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ - рдЫреЛрдЯреНрдпрд╛ рдХрд╛рдорд╛рдВрд╕рд╛рдареА (рдПрд╕рдЬреЗрдПрдл, рдПрд╕рдЯреАрд╕реАрдПрдл) рдЙрддреНрдкрд╛рджрдХрддрд╛ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ рд▓рд╛рдВрдм рдзрд╛рд╡рдгреНрдпрд╛рд╕рд╛рдареА,
CPU-рд▓реЛрдбрд┐рдВрдЧ рдиреЛрдХрд░реНтАНрдпрд╛. рдореНрд╣рдгреВрди, рдмреАрдПрд╕рдбреА рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдбреЗрд░рд┐рд╡реНрд╣реЗрдЯрд┐рд╡реНрд╣реНрдЬрд╕рд╣ рдЕрдиреЗрдХ рдкреНрд░рдгрд╛рд▓реА,
рд╕реЛрд▓рд╛рд░рд┐рд╕, рд╡рд┐рдВрдбреЛрдЬ, рдореЕрдХ рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╢реЗрдбреНрдпреБрд▓рд░ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рддрд╛рдд
MLFQ рдмреЗрд╕рд▓рд╛рдЗрди рдореНрд╣рдгреВрди.

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рд╣рд┐рддреНрдп:

  1. manpages.debian.org/stretch/manpages/sched.7.en.html
  2. en.wikipedia.org/wiki/Scheduling_(рд╕рдВрдЧрдгрди)
  3. pages.lip6.fr/Julia.Lawall/atc18-bouron.pdf
  4. www.usenix.org/legacy/event/bsdcon03/tech/full_papers/roberson/roberson.pdf
  5. chebykin.org/freebsd-process-scheduling

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

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