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

рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкрд░рд┐рдЪрдп

рдирдорд╕реНрддреЗ, Habr! рдо рддрдкрд╛рдЗрдБрдХреЛ рдзреНрдпрд╛рди рдорд╛ рд▓реЗрдЦ рдХреЛ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ - рдПрдХ рд╕рд╛рд╣рд┐рддреНрдп рдХреЛ рдЕрдиреБрд╡рд╛рдж рдЬреБрди рдореЗрд░реЛ рд╡рд┐рдЪрд╛рд░ рдорд╛ рд░реЛрдЪрдХ рдЫ - OSTEPред рдпреЛ рд╕рд╛рдордЧреНрд░реАрд▓реЗ рдпреБрдирд┐рдХреНрд╕-рдЬрд╕реНрддреЛ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╣рд░реВрдХреЛ рдХрд╛рдорд▓рд╛рдИ рдЧрд╣рд┐рд░реЛ рд░реВрдкрдорд╛ рдЬрд╛рдБрдЪреНрдЫ, рдЕрд░реНрдерд╛рддреН, рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ, рд╡рд┐рднрд┐рдиреНрди рд╢реЗрдбреНрдпреВрд▓рд░рд╣рд░реВ, рдореЗрдореЛрд░реА рд░ рдЕрдиреНрдп рд╕рдорд╛рди рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рдЬрд╕рд▓реЗ рдЖрдзреБрдирд┐рдХ рдУрдПрд╕ рдмрдирд╛рдЙрдБрдЫред рддрдкрд╛рдИрдВ рдпрд╣рд╛рдБ рд╕рдмреИ рд╕рд╛рдордЧреНрд░реАрдХреЛ рдореВрд▓ рд╣реЗрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдпрд╣рд╛рдБред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рдЕрдиреБрд╡рд╛рдж рдЕрд╡реНрдпрд╡рд╕рд╛рдпрд┐рдХ рд░реВрдкрдорд╛ (рдзреЗрд░реИ рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдкрдорд╛) рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рддрд░ рдорд▓рд╛рдИ рдЖрд╢рд╛ рдЫ рдХрд┐ рдореИрд▓реЗ рд╕рд╛рдорд╛рдиреНрдп рдЕрд░реНрде рд░рд╛рдЦреЗрдХреЛ рдЫреБред

рдпрд╕ рд╡рд┐рд╖рдпрдорд╛ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╛рдо рдпрд╣рд╛рдБ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ:

рдЕрдиреНрдп рднрд╛рдЧрд╣рд░реВ:

рддрдкрд╛рдИрдВ рдореЗрд░реЛ рдЪреНрдпрд╛рдирд▓ рдорд╛ рдкрдирд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо =)

рдпреЛрдЬрдирд╛: рдмрд╣реБ-рд╕реНрддрд░реАрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓рд╛рдо

рдпрд╕ рд╡реНрдпрд╛рдЦреНрдпрд╛рдирдорд╛ рд╣рд╛рдореА рд╕рдмреИрднрдиреНрджрд╛ рдкреНрд░рд╕рд┐рджреНрдз рджреГрд╖реНрдЯрд┐рдХреЛрдгрд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреЗ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреМрдВ
рдпреЛрдЬрдирд╛ рднрдирд┐рдиреНрдЫ рдмрд╣реБ-рд╕реНрддрд░реАрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓рд╛рдо (MLFQ)ред MLFQ рдЕрдиреБрд╕реВрдЪрдХ рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ 1962 рдорд╛ Fernando J. Corbat├│ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред
рдЙрдкрдпреБрдХреНрдд рд╕рдордп-рд╕рд╛рдЭреЗрджрд╛рд░реА рдкреНрд░рдгрд╛рд▓реА (CTSS)ред рдпреА рдХрд╛рдорд╣рд░реВ (рдкрдЫрд┐рдХреЛ рдХрд╛рдо рд╕рд╣рд┐рдд
рдорд▓реНрдЯрд┐рдХреНрд╕) рдкрдЫрд┐ рдЯреНрдпреБрд░рд┐рдЩ рдЕрд╡рд╛рд░реНрдбрдХреЛ рд▓рд╛рдЧрд┐ рдордиреЛрдиреАрдд рдЧрд░рд┐рдпреЛред рдпреЛрдЬрдирд╛рдХрд╛рд░ рдерд┐рдП
рдкрдЫрд┐ рд╕реБрдзрд╛рд░ рдЧрд░рд┐рдпреЛ рд░ рдЙрдкрд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рднрдпреЛ рдЬреБрди рдкрд╣рд┐рд▓реЗ рдиреИ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ
рдХреЗрд╣реА рдЖрдзреБрдирд┐рдХ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВред

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

рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рд╛рд░: рд╕рд╣реА рдЬреНрдЮрд╛рди рдмрд┐рдирд╛ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕реЗрдЯрд┐рдЩ рдХрд╕рд░реА рдпреЛрдЬрдирд╛ рдмрдирд╛рдЙрдиреЗ?
рдПрдХреИ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдиреНрдпреВрдирддрдо рдЧрд░реНрдиреЗ рд╕рдордп рддрд╛рд▓рд┐рдХрд╛ рдХрд╕рд░реА рдбрд┐рдЬрд╛рдЗрди рдЧрд░реНрдиреЗ
рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд░ рдПрдХреИ рд╕рдордпрдорд╛ рдерд╛рд╣рд╛ рдирдкрд╛рдИ рдЯрд░реНрдирдЕрд░рд╛рдЙрдиреНрдб рд╕рдордп рдХрдо рдЧрд░реНрджрдЫ
рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдордп рдХреЛ рдЬреНрдЮрд╛рди?

рдиреЛрдЯ: рд╣рд╛рдореА рд╡рд┐рдЧрддрдХрд╛ рдШрдЯрдирд╛рд╣рд░реВрдмрд╛рдЯ рд╕рд┐рдХреНрдЫреМрдВ

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

MLFQ: рдЖрдзрд╛рд░рднреВрдд рдирд┐рдпрдорд╣рд░реВ

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

  • рдирд┐рдпрдо рез: рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛(A) > рдкреНрд░рд╛рдердорд┐рдХрддрд╛(B), рдХрд╛рд░реНрдп A рд╕реБрд░реБ рд╣реБрдиреЗрдЫ (B рд╣реБрдиреЗрдЫреИрди)
  • рдирд┐рдпрдо реи: рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛(A) = рдкреНрд░рд╛рдердорд┐рдХрддрд╛(B), A&B RR рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реБрд░реБ рдЧрд░рд┐рдПрдХреЛ рдЫ

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

рдпрд╕ рдпреЛрдЬрдирд╛рдорд╛, 2 рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ A рд░ B рдЙрдЪреНрдЪрддрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкрдЩреНрдХреНрддрд┐рдорд╛ рдЫрдиреНред рдкреНрд░рдХреНрд░рд┐рдпрд╛
C рдХрддреИ рдмреАрдЪрдорд╛ рдЫ, рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ D рд▓рд╛рдордХреЛ рдзреЗрд░реИ рдЕрдиреНрддрдорд╛ рдЫред рдорд╛рдерд┐рдХрд╛ рдЕрдиреБрд╕рд╛рд░
MLFQ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордХреЛ рд╡рд┐рд╡рд░рдг рдЕрдиреБрд╕рд╛рд░, рдЕрдиреБрд╕реВрдЪрдХрд▓реЗ рдЙрдЪреНрдЪрддрдо рдХрд╛рд░реНрдпрд╣рд░реВ рдорд╛рддреНрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреЗрдЫред
RR рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛, рд░ рдХрд╛рд░реНрдпрд╣рд░реВ C, D рдХрд╛рдордмрд╛рдЯ рдмрд╛рд╣рд┐рд░ рд╣реБрдиреЗрдЫрдиреНред
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдкрдорд╛, рдПрдХ рд╕реНрдерд┐рд░ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯрд▓реЗ MLFQ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреНрдиреЗ рдкреВрд░реНрдг рддрд╕реНрд╡реАрд░ рджрд┐рдиреЗрдЫреИрдиред
рд╕рдордпрд╕рдБрдЧреИ рддрд╕реНрд╡рд┐рд░ рдХрд╕рд░реА рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреНрдЫ рднрдиреНрдиреЗ рдХреБрд░рд╛ рдмреБрдЭреНрдиреБ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫред

рдкреНрд░рдпрд╛рд╕ рез: рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрд╕рд░реА рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗ

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

  • рдирд┐рдпрдо рей: рдЬрдм рдХреБрдиреИ рдХрд╛рд░реНрдп рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдкреНрд░рд╡реЗрд╢ рдЧрд░реНрдЫ, рдпрд╕рд▓рд╛рдИ рдЙрдЪреНрдЪрддрдордХреЛ рд╕рд╛рде рд▓рд╛рдордорд╛ рд░рд╛рдЦрд┐рдиреНрдЫ
  • рдкреНрд░рд╛рдердорд┐рдХрддрд╛ред
  • Rule4a: рдпрджрд┐ рдХреБрдиреИ рдХрд╛рд░реНрдпрд▓реЗ рдпрд╕рд▓рд╛рдИ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░рд┐рдПрдХреЛ рд╕рдореНрдкреВрд░реНрдг рд╕рдордп рд╕рдЮреНрдЭреНрдпрд╛рд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рддрдм рдпреЛ
  • рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдШрдЯреЗрдХреЛ рдЫ ред
  • Rule4b: рдпрджрд┐ рдХреБрдиреИ рдХрд╛рд░реНрдпрд▓реЗ рдпрд╕рдХреЛ рд╕рдордп рд╕рдЮреНрдЭреНрдпрд╛рд▓рдХреЛ рдореНрдпрд╛рдж рд╕рдорд╛рдкреНрдд рд╣реБрдиреБ рдЕрдШрд┐ CPU рд░рд┐рд▓реАрдЬ рдЧрд░реНрдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐
  • рд╕рдорд╛рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдорд╛ рд░рд╣рдиреНрдЫред

рдЙрджрд╛рд╣рд░рдг 1: рдПрдХрд▓ рд▓рд╛рдореЛ-рд╕рдордп рдХрд╛рд░реНрдп

рдпрд╕ рдЙрджрд╛рд╣рд░рдгрдорд╛ рджреЗрдЦреНрди рд╕рдХрд┐рдиреНрдЫ, рднрд░реНрдирд╛ рдХрд╛рд░реНрдп рдЙрдЪреНрдЪрддрдо рд╕рдВрдЧ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ред 10ms рдХреЛ рд╕рдордп рд╕рдЮреНрдЭреНрдпрд╛рд▓ рдкрдЫрд┐, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдорд╛ рдШрдЯрд╛рдЗрдиреНрдЫ
рдпреЛрдЬрдирд╛рдХрд╛рд░ред рдЕрд░реНрдХреЛ рдкрдЯрдХ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рдкрдЫрд┐, рдХрд╛рд░реНрдп рдЕрдиреНрддрдорд╛ рдШрдЯрд╛рдЗрдПрдХреЛ рдЫ
рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд╕рдмреИрднрдиреНрджрд╛ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛, рдЬрд╣рд╛рдБ рдпреЛ рд░рд╣рдиреНрдЫред
рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕рдЬрд┐рд▓реЛ рдЯреБрдХреНрд░рд╛ред рднрд╛рдЧ рел: рдпреЛрдЬрдирд╛: рдмрд╣реБ-рд╕реНрддрд░реАрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрддрд╛рд░ (рдЕрдиреБрд╡рд╛рдж)

рдЙрджрд╛рд╣рд░рдг реи: рдЫреЛрдЯреЛ рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдЧрд░рд┐рдпреЛ

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

рдпреЛ рдЧреНрд░рд╛рдлрд▓реЗ рдкрд░рд┐рджреГрд╢реНрдпрдХреЛ рдирддрд┐рдЬрд╛ рджреЗрдЦрд╛рдЙрдБрдЫред рдЯрд╛рд╕реНрдХ рдП, рдХреБрдиреИ рдкрдирд┐ рдХрд╛рд░реНрдп рдЬрд╕реНрддреИ,
CPU рдЙрдкрдпреЛрдЧ рдПрдХрджрдореИ рддрд▓ рдерд┐рдпреЛред рдЯрд╛рд╕реНрдХ B рд╕рдордп T=100 рдорд╛ рдЖрдЗрдкреБрдЧреНрдЫ рд░ рд╣реБрдиреЗрдЫ
рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкрдЩреНрдХреНрддрд┐рдорд╛ рд░рд╛рдЦрд┐рдПрдХреЛ рдЫред рдХрд┐рдирднрдиреЗ рдпрд╕рдХреЛ рд╕рдЮреНрдЪрд╛рд▓рди рд╕рдордп рдЫреЛрдЯреЛ рдЫ, рддреНрдпрд╕рдкрдЫрд┐
рдпреЛ рдЕрдиреНрддрд┐рдо рд▓рд╛рдордорд╛ рдкреБрдЧреНрдиреБ рдЕрдШрд┐ рдкреВрд░рд╛ рд╣реБрдиреЗрдЫред

рдпрд╕ рдЙрджрд╛рд╣рд░рдгрдмрд╛рдЯ, рдПрд▓реНрдЧреЛрд░рд┐рджрдордХреЛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдмреБрдЭреНрдиреБ рдкрд░реНрдЫ: рдПрд▓реНрдЧреЛрд░рд┐рджрдорд▓реЗ рдЧрд░реНрджреИрди
рдХреБрдиреИ рдХрд╛рдо рд▓рд╛рдореЛ рд╣реЛрд╕реН рд╡рд╛ рдЫреЛрдЯреЛ рдЬрд╛рдиреНрдиреБрд╣реБрдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рд╕рдмреИрднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ рдЙрд╕рд▓реЗ рддреНрдпреЛ рдХрд╛рд░реНрдпрд▓рд╛рдИ рдорд╛рдиреНрджрдЫ
рдЫреЛрдЯреЛ рд░ рдпрд╕рд▓рд╛рдИ рдЙрдЪреНрдЪрддрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджрд┐рдиреНрдЫред рдпрджрд┐ рдпреЛ рд╕рд╛рдБрдЪреНрдЪреИ рдЫреЛрдЯреЛ рдХрд╛рд░реНрдп рд╣реЛ рднрдиреЗ
рдпреЛ рдЫрд┐рдЯреНрдЯреИ рдкреВрд░рд╛ рд╣реБрдиреЗрдЫ, рдЕрдиреНрдпрдерд╛ рдпреЛ рд▓рд╛рдореЛ рдХрд╛рд░реНрдп рд╣реЛ рднрдиреЗ, рдпреЛ рдмрд┐рд╕реНрддрд╛рд░реИ рдЕрдШрд┐ рдмрдвреНрдЫ
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рддрд▓ рд░ рдЫрд┐рдЯреНрдЯреИ рдкреНрд░рдорд╛рдгрд┐рдд рд╣реБрдиреЗрдЫ рдХрд┐ рдЙрдиреА рд╡рд╛рд╕реНрддрд╡рдореИ рд▓рд╛рдореЛ рдХрд╛рд░реНрдп рд╣реЛ рдЬреБрди рдЧрд░реНрджреИрдирдиреН
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЪрд╛рд╣рд┐рдиреНрдЫред

рдЙрджрд╛рд╣рд░рдг рей: I/O рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реБрдиреНрдЫ?

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

рдпрд╕ рдЙрджрд╛рд╣рд░рдгрд▓реЗ рджреЗрдЦрд╛рдЙрдБрдЫ рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рджрдорд▓реЗ рддреНрдпрд╕реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрд╕рдБрдЧ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдиреЗрдЫ - рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХрд╛рд░реНрдп B, рдЬрд╕рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБ рдЕрдШрд┐ 1ms рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ CPU рдЪрд╛рд╣рд┐рдиреНрдЫред
I/O рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░ рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ Job A, рдЬрд╕рд▓реЗ рдЖрдлреНрдиреЛ рд╕рдмреИ рд╕рдордп CPU рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЦрд░реНрдЪ рдЧрд░реНрдЫред
MLFQ рд▓реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ B рд▓рд╛рдИ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдорд╛ рд░рд╛рдЦреНрдЫ рдХрд┐рдирднрдиреЗ рдпреЛ рдЬрд╛рд░реА рд░рд╣рдиреНрдЫ
CPU рдЬрд╛рд░реА рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпрджрд┐ B рдПрдХ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХрд╛рд░реНрдп рд╣реЛ, рддрдм рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣рд╛рд╕рд┐рд▓ рднрдПрдХреЛ рдЫ
рддрдкрд╛рдИрдВрдХреЛ рд▓рдХреНрд╖реНрдп рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╣рд░реВ рдЫрд┐рдЯреЛ рдЪрд▓рд╛рдЙрдиреБ рд╣реЛред

рд╣рд╛рд▓рдХреЛ MLFQ рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╕рдБрдЧ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ

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

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

рдЕрдиреНрддрдорд╛, рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдордп рд╕рдВрдЧ рдЖрдлреНрдиреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдЫред рддреА рдХрд╛рд░реНрдпрд╣рд░реВ
рдЬрд╕рдХреЛ рдкреНрд░рдпреЛрдЧрд▓реЗ CPU рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдмрдиреНрди рд╕рдХреНрдЫред рд╣рд╛рдореНрд░реЛ рдЙрджрд╛рд╣рд░рдгрдорд╛, рд╕рдорд╛рди
рдХрд╛рд░реНрдпрд╣рд░реВрд▓реЗ рдЕрдиреБрд╕реВрдЪрдХрдмрд╛рдЯ рдЕрд░реВрд▓реЗ рдЬрд╕реНрддреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрди рдкрд╛рдЙрдиреЗ рдЫреИрдирдиреН
(рдкреНрд░рд╛рд░рдореНрднрд┐рдХ) рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╣рд░реВред

рджрд░реНрд╢рдХрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╢реНрди: рдЕрдиреБрд╕реВрдЪрдХ рдорд╛ рдХреЗ рдЖрдХреНрд░рдордг рдЖрдзреБрдирд┐рдХ рд╕рдВрд╕рд╛рд░рдорд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ?

рдкреНрд░рдпрд╛рд╕ реи: рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрдврд╛рдЙрдБрджреИ

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

  • рдирд┐рдпрдо рез: рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ S рдкрдЫрд┐, рдкреНрд░рдгрд╛рд▓реАрдХрд╛ рд╕рдмреИ рдХрд╛рд░реНрдпрд╣рд░реВрд▓рд╛рдИ рдЙрдЪреНрдЪрддрдо рд▓рд╛рдордорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реНред

рд╣рд╛рдореНрд░реЛ рдирдпрд╛рдБ рдирд┐рдпрдорд▓реЗ рдПрдХреИрдкрдЯрдХ рджреБрдИрд╡рдЯрд╛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдЫред рдкрд╣рд┐рд▓реЛ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ
рднреЛрдХрдорд░реА рдирд╣реБрдиреЗ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рдЫ: рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдорд╛ рд░рд╣реЗрдХрд╛ рдХрд╛рдорд╣рд░реВ рдмрд╛рдБрдбрдлрд╛рдБрдб рдЧрд░рд┐рдиреЗрдЫ
RR рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЕрдиреБрд╕рд╛рд░ CPU рд╕рдордп рд░ рдпрд╕рд░реА рд╕рдмреИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рд╣реБрдиреЗрдЫ
CPU рд╕рдордпред рджреЛрд╕реНрд░реЛ, рдпрджрд┐ рдХреЗрд╣рд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬреБрди рдкрд╣рд┐рд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ
рдХреЗрд╡рд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╣реБрдиреНрдЫ, рдпреЛ рдЙрдЪреНрдЪрддрдо рд╕рдВрдЧ рд▓рд╛рдо рдорд╛ рд░рд╣рдиреЗрдЫ
рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдорд╛ рдПрдХ рдкрдЯрдХ рд╡реГрджреНрдзрд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдкрдЫрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЙрдЪреНрдЪрддрдордорд╛ред
рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реЗрд░реМрдВред рдпрд╕ рдкрд░рд┐рджреГрд╢реНрдпрдорд╛, рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдПрдЙрдЯрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕рдЬрд┐рд▓реЛ рдЯреБрдХреНрд░рд╛ред рднрд╛рдЧ рел: рдпреЛрдЬрдирд╛: рдмрд╣реБ-рд╕реНрддрд░реАрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрддрд╛рд░ (рдЕрдиреБрд╡рд╛рдж)

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

рдкреНрд░рдпрд╛рд╕ 3: рд░рд╛рдореНрд░реЛ рд▓реЗрдЦрд╛

рдЕрдм рд╣рд╛рдореАрд╕рдБрдЧ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЕрд░реНрдХреЛ рд╕рдорд╕реНрдпрд╛ рдЫ: рдХрд╕рд░реА рдирдЧрд░реНрдиреЗ
рд╣рд╛рдореНрд░реЛ рдЕрдиреБрд╕реВрдЪрдХрд▓рд╛рдИ рдореВрд░реНрдЦ рдмрдирд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреБрд╣реЛрд╕реН? рдпреЛ рд╕рдореНрднрд╛рд╡рдирд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдЬрдирддрд╛ рджреЛрд╖реА рдЫрдиреН
рдирд┐рдпрдо 4a, 4b, рдЬрд╕рд▓реЗ рдХрд╛рдорд▓рд╛рдИ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдорд╛ рд░рд╛рдЦреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдкреНрд░реЛрд╕реЗрд╕рд░рд▓рд╛рдИ рдЦрд╛рд▓реА рдЧрд░реНрджреИ
рддреЛрдХрд┐рдПрдХреЛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реБрдиреБ рдЕрдШрд┐ред рдпрд╕рд▓рд╛рдИ рдХрд╕рд░реА рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрдиреЗ?
рдпрд╕ рдорд╛рдорд▓рд╛ рдорд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рддреНрдпреЗрдХ рдорд╛ CPU рд╕рдордп рдХреЛ рдПрдХ рд░рд╛рдореНрд░реЛ рд▓реЗрдЦрд╛ рдорд╛рдиреНрди рд╕рдХрд┐рдиреНрдЫ
MLFQ рд╕реНрддрд░ред рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХреЛ рд╕рдордп рдмрд┐рд░реНрд╕рдиреБрдХреЛ рд╕рдЯреНрдЯрд╛
рдЖрд╡рдВрдЯрд┐рдд рдЕрд╡рдзрд┐рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░, рдпреЛ рдЦрд╛рддрд╛рдорд╛ рд▓рд┐рдЗрдиреНрдЫ рд░ рдмрдЪрдд рдЧрд░реНрдиреБрдкрд░реНрдЫред рдкрдЫрд┐
рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓реЗ рдЖрдлреНрдиреЛ рдЖрд╡рдВрдЯрд┐рдд рд╕рдордп рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХреЛ рдЫ, рдпрд╕рд▓рд╛рдИ рдЕрд░реНрдХреЛрдорд╛ рдШрдЯрд╛рдЙрдиреБрдкрд░реНрдЫ
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реНрддрд░ред рдЕрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓реЗ рдЖрдлреНрдиреЛ рд╕рдордп рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫ рднрдиреНрдиреЗ рдХреБрд░рд╛рд▓реЗ рдлрд░рдХ рдкрд╛рд░реНрджреИрди
рдкреНрд░реЛрд╕реЗрд╕рд░рдорд╛ рд╡рд╛ рдзреЗрд░реИ рдХрд▓рд╣рд░реВрдХреЛ рд░реВрдкрдорд╛ рдирд┐рд░рдиреНрддрд░ рдХрдореНрдкреНрдпреБрдЯ рдЧрд░реНрджреИред рдпрд╕рд░реА,
рдирд┐рдпрдо 4 рдирд┐рдореНрди рдлрд╛рд░рдордорд╛ рдкреБрди: рд▓реЗрдЦреНрдиреБрдкрд░реНрдЫ:

  • рдирд┐рдпрдо рез: рдХреБрдиреИ рдХрд╛рд░реНрдпрд▓реЗ рд╣рд╛рд▓рдХреЛ рд▓рд╛рдордорд╛ рдЖрдлреНрдиреЛ рдЖрд╡рдВрдЯрд┐рдд рд╕рдордп рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐ (рдпрд╕рд▓реЗ CPU рд▓рд╛рдИ рдЬрддрд┐рд╕реБрдХреИ рдкрдЯрдХ рдЦрд╛рд▓реА рдЧрд░реЗрдХреЛ рднрдП рдкрдирд┐), рддреНрдпреЛ рдХрд╛рд░реНрдпрдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдШрдЯрд╛рдЗрдиреНрдЫ (рдпреЛ рд▓рд╛рдордорд╛ рддрд▓ рд╕рд░реНрдЫ)ред

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

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

MLFQ рд░ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕реБрдзрд╛рд░ рдЧрд░реНрджреИ

рдорд╛рдерд┐рдХрд╛ рд╕реБрдзрд╛рд░рд╣рд░реВрдХреЛ рд╕рд╛рдердорд╛ рдирдпрд╛рдБ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЖрдЙрдБрдЫрдиреН: рдореБрдЦреНрдп рдордзреНрдпреЗ рдПрдХ
рдкреНрд░рд╢реНрдирд╣рд░реВ - рдХрд╕рд░реА рдпрд╕реНрддреЛ рдЕрдиреБрд╕реВрдЪрдХ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╛рдЗрдЬ рдЧрд░реНрдиреЗ? рддреАред рдХрддрд┐ рд╣реБрдиреБрдкрд░реНрдЫ
рд▓рд╛рдо? рд▓рд╛рдо рднрд┐рддреНрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд┐рдиреНрдбреЛ рдХреЛ рдЖрдХрд╛рд░ рдХреЗ рд╣реБрдиреБрдкрд░реНрдЫ? рдХрд╕рд░реА
рднреЛрдХрдорд░реА рд░ рднреЛрдХрдорд░реАрдмрд╛рдЯ рдмрдЪреНрди рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкреНрд░рд╛рдпрдГ рдмрдврд╛рдЙрдиреБрдкрд░реНрдЫ
рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рд╡реНрдпрд╡рд╣рд╛рд░рдорд╛ рдЖрдПрдХреЛ рдкрд░рд┐рд╡рд░реНрддрдирд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрдиреБрд╣реБрдиреНрдЫ? рдпреА рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рдХреБрдиреИ рд╕рд░рд▓ рдЬрд╡рд╛рдл рдЫреИрди
рдЬрд╡рд╛рдл рд░ рд▓реЛрдб рд░ рдкрдЫрд┐рдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХреЛ рд╕рд╛рде рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧрд╣рд░реВ
рдпреЛрдЬрдирд╛рдХрд╛рд░рд▓реЗ рдХреЗрд╣реА рд╕рдиреНрддреЛрд╖рдЬрдирдХ рд╕рдиреНрддреБрд▓рди рд▓реНрдпрд╛рдЙрди рд╕рдХреНрдЫред

рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдзреЗрд░реИрдЬрд╕реЛ MLFQ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдлрд░рдХ рддреЛрдХреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ
рд╡рд┐рднрд┐рдиреНрди рд▓рд╛рдорд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╕рдордп рдЕрдиреНрддрд░рд╛рд▓рд╣рд░реВред рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд▓рд╛рдорд╣рд░реВ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛
рдЫреЛрдЯреЛ рдЕрдиреНрддрд░рд╛рд▓рд╣рд░реВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЫрдиреНред рдпреА рд▓рд╛рдорд╣рд░реВрдорд╛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╣рд░реВ рд╣реБрдиреНрдЫрдиреН,
рдЬреБрди рдмреАрдЪрдорд╛ рдзреЗрд░реИ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЫ рд░ 10 рд╡рд╛ рдХрдо рд▓рд┐рдиреБрдкрд░реНрдЫ
рд╕реБрд╢реНрд░реАред рдпрд╕рдХреЛ рд╡рд┐рдкрд░рд┐рдд, рдХрдо-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкрдЩреНрдХреНрддрд┐рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд▓рд╛рдореЛ-рд╕рдордп рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрдиреНрдЫрдиреН
рд╕рд┐.рдкреА. рдпреБред рд░ рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд▓рд╛рдореЛ рд╕рдордп рдЕрдиреНрддрд░рд╛рд▓рд╣рд░реВ рдзреЗрд░реИ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдлрд┐рдЯ рд╣реБрдиреНрдЫрдиреН (100ms)ред
рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо: рддреАрди рд╕рдЬрд┐рд▓реЛ рдЯреБрдХреНрд░рд╛ред рднрд╛рдЧ рел: рдпреЛрдЬрдирд╛: рдмрд╣реБ-рд╕реНрддрд░реАрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрддрд╛рд░ (рдЕрдиреБрд╡рд╛рдж)

рдпрд╕ рдЙрджрд╛рд╣рд░рдгрдорд╛ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд▓рд╛рдо реиреж рдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ реи рдХрд╛рд░реНрдпрд╣рд░реВ рдЫрдиреН
ms, 10ms windows рдорд╛ рд╡рд┐рднрд╛рдЬрд┐рддред 40ms рдмреАрдЪрдХреЛ рд▓рд╛рдордорд╛ (20ms рд╡рд┐рдиреНрдбреЛ) рд░ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдорд╛
рд▓рд╛рдо рд╕рдордп рд╡рд┐рдиреНрдбреЛ 40ms рднрдпреЛ рдЬрд╣рд╛рдБ рдХрд╛рд░реНрдпрд╣рд░реВрд▓реЗ рдЖрдлреНрдиреЛ рдХрд╛рдо рдкреВрд░рд╛ рдЧрд░реЗред

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

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

рдЕрдиреНрддрдорд╛, рдзреЗрд░реИ рдЕрдиреБрд╕реВрдЪрдХрд╣рд░реВ рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдЫрдиреНред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреЗрд╣реА
рдЕрдиреБрд╕реВрдЪрдХрд╣рд░реВрд▓реЗ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдордХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдЪреНрдЪрддрдо рд╕реНрддрд░ рдЖрд░рдХреНрд╖рд┐рдд рдЧрд░реНрджрдЫ рд░ рдпрд╕реИрд▓реЗ
рдпрд╕рд░реА, рдХреБрдиреИ рдкрдирд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓реЗ рдЙрдЪреНрдЪрддрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрджреИрди
рдкреНрд░рдгрд╛рд▓реАред рдХреЗрд╣реА рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдорджреНрджрдд рдЧрд░реНрди рд╕рд▓реНрд▓рд╛рд╣ рджрд┐рди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ
рдпреЛрдЬрдирд╛рдХрд╛рд░рд▓реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рд╣рд░реВ рд╕рд╣реА рд░реВрдкрдорд╛ рд╕реЗрдЯ рдЧрд░реНрди рд╕рдХреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд░рд╛рдореНрд░реЛ
рддрдкрд╛рдИрд▓реЗ рдХрд╛рд░реНрдпрдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрдврд╛рдЙрди рд╡рд╛ рдШрдЯрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдпрд╕рд░реА рдмрдврд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд╡рд╛
CPU рд╕рдордп рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рд╕рдореНрднрд╛рд╡рдирд╛ рдХрдо рдЧрд░реНрдиреБрд╣реЛрд╕реНред

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

рд╣рд╛рдореАрд▓реЗ MLFQ рднрдирд┐рдиреЗ рдпреЛрдЬрдирд╛рдХреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╡рд░реНрдгрди рдЧрд░реЗрдХрд╛ рдЫреМрдВред рдЙрд╕рдХреЛ рдирд╛рдо
рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛ рд╕рдВрд▓рдЧреНрди - рдпрд╕рдорд╛ рдзреЗрд░реИ рд▓рд╛рдорд╣рд░реВ рдЫрдиреН рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ
рдХрд╛рд░реНрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрдиред
рдирд┐рдпрдорд╣рд░реВрдХреЛ рдЕрдиреНрддрд┐рдо рд░реВрдк рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реБрдиреЗрдЫ:

  • рдирд┐рдпрдо рез: рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛(A) > рдкреНрд░рд╛рдердорд┐рдХрддрд╛(B), рдХрд╛рд░реНрдп A рд╕реБрд░реБ рд╣реБрдиреЗрдЫ (B рд╣реБрдиреЗрдЫреИрди)
  • рдирд┐рдпрдо рез: рдпрджрд┐ priority(A) = Priority(B), A&B RR рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реБрд░реБ рдЧрд░рд┐рдПрдХреЛ рдЫ
  • рдирд┐рдпрдо рез: рдЬрдм рдХреБрдиреИ рдХрд╛рд░реНрдп рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдкреНрд░рд╡реЗрд╢ рдЧрд░реНрдЫ, рдпрд╕рд▓рд╛рдИ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдХреЛ рд▓рд╛рдЗрдирдорд╛ рд░рд╛рдЦрд┐рдиреНрдЫред
  • рдирд┐рдпрдо рез: рдХреБрдиреИ рдХрд╛рд░реНрдпрд▓реЗ рд╣рд╛рд▓рдХреЛ рд▓рд╛рдордорд╛ рдЖрдлреНрдиреЛ рдЖрд╡рдВрдЯрд┐рдд рд╕рдордп рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐ (рдпрд╕рд▓реЗ CPU рд▓рд╛рдИ рдЬрддрд┐рд╕реБрдХреИ рдкрдЯрдХ рдЦрд╛рд▓реА рдЧрд░реЗрдХреЛ рднрдП рдкрдирд┐), рддреНрдпреЛ рдХрд╛рд░реНрдпрдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдШрдЯрд╛рдЗрдиреНрдЫ (рдпреЛ рд▓рд╛рдордорд╛ рддрд▓ рд╕рд░реНрдЫ)ред
  • рдирд┐рдпрдо рез: рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ S рдкрдЫрд┐, рдкреНрд░рдгрд╛рд▓реАрдХрд╛ рд╕рдмреИ рдХрд╛рд░реНрдпрд╣рд░реВрд▓рд╛рдИ рдЙрдЪреНрдЪрддрдо рд▓рд╛рдордорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реНред

MLFQ рдирд┐рдореНрди рдХрд╛рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдЫ - рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬреНрдЮрд╛рди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛
рдХрд╛рд░реНрдпрдХреЛ рдкреНрд░рдХреГрддрд┐ рдкрд╣рд┐рд▓реЗ рдиреИ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдорд▓реЗ рдХрд╛рд░реНрдпрдХреЛ рд╡рд┐рдЧрддрдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рд░ рд╕реЗрдЯрд╣рд░реВрдХреЛ рдЕрдзреНрдпрдпрди рдЧрд░реНрджрдЫ
рддрджрдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рд╣рд░реВред рдпрд╕рд░реА, рдЙрд╕рд▓реЗ рдПрдХреИрдЪреЛрдЯрд┐ рджреБрдИ рдХреБрд░реНрд╕реАрд╣рд░реВрдорд╛ рдмрд╕реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫ - рд╕рд╛рдирд╛ рдХрд╛рдорд╣рд░реВ (SJF, STCF) рдХреЛ рд▓рд╛рдЧрд┐ рдЙрддреНрдкрд╛рджрдХрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдЧрд░реНрди рд░ рдЗрдорд╛рдирджрд╛рд░реАрдкреВрд░реНрд╡рдХ рд▓рд╛рдореЛ рджреМрдб рдЧрд░реНрди,
CPU- рд▓реЛрдбрд┐рдЩ рдХрд╛рд░реНрдпрд╣рд░реВред рддрд╕рд░реНрде, BSD рд░ рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдбреЗрд░рд┐рднреЗрдЯрд┐рднрд╣рд░реВ рд╕рд╣рд┐рдд рдзреЗрд░реИ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ,
рд╕реЛрд▓рд╛рд░рд┐рд╕, рд╡рд┐рдиреНрдбреЛрдЬ, рдореНрдпрд╛рдХ рд╢реЗрдбреНрдпреВрд▓рд░рдХреЛ рд░реВрдкрдорд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордХреЛ рдХреЗрд╣рд┐ рд░реВрдк рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ
рдЖрдзрд╛рд░ рд░реЗрдЦрд╛рдХреЛ рд░реВрдкрдорд╛ 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