ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 5: ΠŸΠ»Π°Π½ΠΈΡ€Π°Π½Π΅: ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π° опашка Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° (ΠΏΡ€Π΅Π²ΠΎΠ΄)

Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ систСми

Π₯Π΅ΠΉ Π₯Π°Π±Ρ€! Π‘ΠΈΡ… искал Π΄Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ° Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ статии-ΠΏΡ€Π΅Π²ΠΎΠ΄ΠΈ Π½Π° Π΅Π΄Π½Π° интСрСсна спорСд ΠΌΠ΅Π½ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π° - OSTEP. Π’ΠΎΠ·ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» обсъТда доста дълбоко Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с процСси, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΡ†ΠΈ, ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡΡ‚Π°Π²Π»ΡΠ²Π°Ρ‚ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π° Π½Π° всички ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈ Ρ‚ΡƒΠΊ Ρ‚ΡƒΠΊ. Моля, ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ΡŠΡ‚ Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ нСпрофСсионално (съвсСм свободно), Π½ΠΎ сС надявам Π΄Π° съм Π·Π°ΠΏΠ°Π·ΠΈΠ» общия смисъл.

Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ Ρ‚Π΅ΠΌΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΡƒΠΊ:

Π”Ρ€ΡƒΠ³ΠΈ части:

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ‚Π΅ ΠΊΠ°Π½Π°Π»Π° ΠΌΠΈ Π½Π° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ° =)

ΠŸΠ»Π°Π½ΠΈΡ€Π°Π½Π΅: ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π° опашка Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°

Π’ Ρ‚Π°Π·ΠΈ лСкция Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°ΠΉ-извСстнитС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ към
ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π½Π°Ρ€ΠΈΡ‡Π° ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π° опашка Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° (MLFQ). ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ MLFQ Π΅ описан Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚ ΠΏΡ€Π΅Π· 1962 Π³. ΠΎΡ‚ Fernando J. CorbatΓ³ Π² систСма, Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π°
Π‘ΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠ° систСма Π·Π° сподСлянС Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ (CTSS). Π’Π΅Π·ΠΈ произвСдСния (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-късни Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ
Multics) впослСдствиС бяха Π½ΠΎΠΌΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Π·Π° Π½Π°Π³Ρ€Π°Π΄Π° Π’ΡŽΡ€ΠΈΠ½Π³. Π“Ρ€Π°Ρ„ΠΈΠΊΡŠΡ‚ бСшС
впослСдствиС сС подобрява ΠΈ ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²Π° външния Π²ΠΈΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΌΠ΅Ρ€ΠΈ Π²Π΅Ρ‡Π΅ Π²
някои ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ систСми.

ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ MLFQ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° Ρ€Π΅ΡˆΠΈ 2 Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΈ ΠΏΡ€ΠΈΠΏΠΎΠΊΡ€ΠΈΠ²Π°Ρ‰ΠΈ сС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.
ΠŸΡŠΡ€Π²ΠΎ, Ρ‚ΠΎΠΉ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС, ΠΊΠΎΠ΅Ρ‚ΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΠ±ΡΡŠΠ΄ΠΈΡ…ΠΌΠ΅ Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° лСкция, сС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° Ρ‡Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π° Π·Π°ΠΏΠΎΡ‡Π²Π°Π½Π΅ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ
ΠΊΡ€Π°Ρ‚ΠΊΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ОБ Π½Π΅ Π·Π½Π°Π΅ ΠΊΠΎΠ»ΠΊΠΎ дълго Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΈΠ»ΠΈ ΠΎΠ½Π·ΠΈ процСс ΠΈ Ρ‚ΠΎΠ²Π°
Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ познания Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с SJF, STCF Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ. Π½Π° Π²Ρ‚ΠΎΡ€ΠΎ място, MLFQ ΠΎΠΏΠΈΡ‚Π²Π°
Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ систСмата ΠΎΡ‚Π·ΠΈΠ²Ρ‡ΠΈΠ²Π° Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сСдят ΠΈ
Π²Π·ΠΈΡ€Π°Π½Π΅ Π² Π΅ΠΊΡ€Π°Π½Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Ρ‡Π°ΠΊΠ°Ρ‚Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°) ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ
ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€. Π—Π° съТалСниС, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ RR намаляват Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° рСакция, Π½ΠΎ
ΠΈΠΌΠ°Ρ‚ лош Π΅Ρ„Π΅ΠΊΡ‚ Π²ΡŠΡ€Ρ…Ρƒ показатСля Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС. ΠžΡ‚Ρ‚ΡƒΠΊ ΠΈ Π½Π°ΡˆΠΈΡΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: Как Π΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°ΠΌΠ΅
ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ отговаря Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ изисквания ΠΈ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅ Π·Π½Π°Π΅ Π½ΠΈΡ‰ΠΎ Π·Π° Π½Π΅Π³ΠΎ
СстСството Π½Π° процСса ΠΊΠ°Ρ‚ΠΎ цяло? Как ΠΌΠΎΠΆΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ Π΄Π° Π½Π°ΡƒΡ‡ΠΈ характСристикитС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅,
ΠΊΠΎΠΈΡ‚ΠΎ стартира ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π²Π·Π΅ΠΌΠ° ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅?

Π‘ΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Как Π΄Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ поставянСто Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ Π±Π΅Π· ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ‚Π½ΠΈ познания?
Как Π΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Ρ‚ΠΎΠ²Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° рСакция
Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС, Π±Π΅Π· Π΄Π° Π·Π½Π°Π΅
ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°?

Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°: ΡƒΡ‡Π΅Π½Π΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ

ΠžΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° MLFQ Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° систСма, Π½Π° която сС ΠΎΠ±ΡƒΡ‡Π°Π²Π°
ΠΌΠΈΠ½Π°Π»ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π·Π° прСдсказванС Π½Π° Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ. Π’Π°ΠΊΠΈΠ²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ са чСсто
Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ Π² ОБ (И ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈΡ‚Π΅ Π½Π°ΡƒΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅
Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅). Подобни ΠΏΡŠΡ‚ΡƒΠ²Π°Π½ΠΈΡ
задСйстват, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ ΠΈΠΌΠ°Ρ‚ повСдСнчСски Ρ„Π°Π·ΠΈ ΠΈ слСдоватСлно са ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΈ.
Врябва ΠΎΠ±Π°Ρ‡Π΅ Π΄Π° сС Π²Π½ΠΈΠΌΠ°Π²Π° с Ρ‚Π°Π·ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ‚Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ лСсни.
ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΠΊΠ°ΠΆΠ΅ Π³Ρ€Π΅ΡˆΠ½Π° ΠΈ Π΄Π° Π½Π°ΠΊΠ°Ρ€Π° систСмата Π΄Π° Π²Π·Π΅ΠΌΠ΅ ΠΏΠΎ-лоши Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΡ‚
Π±ΠΈ Π±ΠΈΠ»ΠΎ Π±Π΅Π· Π·Π½Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ.

MLFQ: Основни ΠΏΡ€Π°Π²ΠΈΠ»Π°

ΠŸΠΎΠΌΠΈΡΠ»Π΅Ρ‚Π΅ Π·Π° основнитС ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° MLFQ. И Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ
ΠΈΠΌΠ° няколко, основнитС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ са сходни.
Π’ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅, MLFQ Ρ‰Π΅ ΠΈΠΌΠ° няколко
ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ опашки, всяка ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ ΠΈΠΌΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. ΠΏΠΎ всяко Π²Ρ€Π΅ΠΌΠ΅,
Π³ΠΎΡ‚ΠΎΠ²Π°Ρ‚Π° Π·Π° изпълнСниС Π·Π°Π΄Π°Ρ‡Π° Π΅ Π² ΡΡŠΡ‰Π°Ρ‚Π° опашка. MLFQ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈ,
Π΄Π° Ρ€Π΅ΡˆΠΈ коя Π·Π°Π΄Π°Ρ‡Π° Π΄Π° стартира Π·Π° изпълнСниС, Ρ‚.Π΅. Π·Π°Π΄Π°Ρ‡Π° с висш
ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ (Π·Π°Π΄Π°Ρ‡Π° ΠΎΡ‚ ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° с Π½Π°ΠΉ-висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚) Ρ‰Π΅ сС стартира Π½Π° ΠΏΡŠΡ€Π²ΠΎ място
опашка.
Π Π°Π·Π±ΠΈΡ€Π° сС, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΅Π΄Π½Π° Π·Π°Π΄Π°Ρ‡Π° Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° опашка, Ρ‚Π°ΠΊΠ° Ρ‡Π΅
Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‚Π΅ Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚ ΡΡŠΡ‰ΠΈΡ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Π’ Ρ‚ΠΎΠ·ΠΈ случай Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚
RR Π·Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° стартиранС срСд Ρ‚Π΅Π·ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ.
Π’Π°ΠΊΠ° достигамС Π΄ΠΎ Π΄Π²Π΅ основни ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° MLFQ:

  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 1: Ако ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ (A) > ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ (B), Π·Π°Π΄Π°Ρ‡Π° A Ρ‰Π΅ сС изпълни (B няма)
  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 2: Ако ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚(A) = ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚(B), A&B сС стартират с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° RR

Π’ΡŠΠ· основа Π½Π° Π³ΠΎΡ€Π½ΠΎΡ‚ΠΎ, ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° MLFQ са
са ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈ. ВмСсто Π΄Π° Π΄Π°Π²Π°Ρ‚ фиксиран ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π° всСки
Π·Π°Π΄Π°Ρ‡Π°, MLFQ промСня ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° си Π² зависимост ΠΎΡ‚ Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Π½ΠΎΡ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
НапримСр, Π°ΠΊΠΎ Π΄Π°Π΄Π΅Π½Π° Π·Π°Π΄Π°Ρ‡Π° постоянно сС затваря Π½Π° процСсора, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Ρ‡Π°ΠΊΠ° въвСТданС ΠΎΡ‚ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π°,
MLFQ Ρ‰Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° Π½Π° процСса висок, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ²Π° Π΅ ΠΊΠ°ΠΊ
интСрактивният процСс трябва Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ. Ако, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΅ постоянно ΠΈ
Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π° процСсора Π·Π° дълъг ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅, MLFQ Ρ‰Π΅ Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΆΠΈ
ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ MLFQ Ρ‰Π΅ ΠΈΠ·ΡƒΡ‡Π°Π²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° процСситС ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° тяхното изпълнСниС.
ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
НСка Π΄Π° нарисувамС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ ΠΎΠΏΠ°ΡˆΠΊΠΈΡ‚Π΅ Π² Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚
Π²Ρ€Π΅ΠΌΠ΅ ΠΈ слСд Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ Π½Π΅Ρ‰ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ:
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 5: ΠŸΠ»Π°Π½ΠΈΡ€Π°Π½Π΅: ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π° опашка Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° (ΠΏΡ€Π΅Π²ΠΎΠ΄)

Π’ Ρ‚Π°Π·ΠΈ схСма 2 процСса A ΠΈ B са Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° с Π½Π°ΠΉ-висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. ΠŸΡ€ΠΎΡ†Π΅Ρ
C Π΅ някъдС ΠΏΠΎ срСдата, Π° процСс D Π΅ Π² самия ΠΊΡ€Π°ΠΉ Π½Π° ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π°. Π‘ΠΏΠΎΡ€Π΅Π΄ Π³ΠΎΡ€Π½ΠΎΡ‚ΠΎ
описания Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° MLFQ, ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ Ρ‰Π΅ изпълнява само Π·Π°Π΄Π°Ρ‡ΠΈ с Π½Π°ΠΉ-високата
ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ спорСд RR, Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ C, D Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ извън Ρ€Π°Π±ΠΎΡ‚Π°.
ЕстСствСно, статичната ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка няма Π΄Π° Π΄Π°Π΄Π΅ пълна ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° Π½Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ MLFQ.
Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°Ρ‚Π° сС промСня с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ.

ΠžΠΏΠΈΡ‚ 1: Как Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°

На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ трябва Π΄Π° Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΊΠ°ΠΊ MLFQ Ρ‰Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚
Π·Π°Π΄Π°Ρ‡Π° (ΠΈ слСдоватСлно позицията Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π°) ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° нСйния ΠΆΠΈΠ·Π½Π΅Π½ Ρ†ΠΈΠΊΡŠΠ». Π—Π°
ΠΎΡ‚ Ρ‚ΠΎΠ²Π° трябва Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ работния процСс: ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° сума
ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΊΡ€Π°Ρ‚ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС (ΠΈ слСдоватСлно чСсто освобоТдаванС
CPU) ΠΈ няколко дълги Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ CPU ΠΏΡ€Π΅Π· цялото си Ρ€Π°Π±ΠΎΡ‚Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ
Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π·Π° Ρ‚Π°ΠΊΠΈΠ²Π° Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ Π΅ Π²Π°ΠΆΠ½ΠΎ. И Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΏΡŠΡ€Π²ΠΈΡ ΠΎΠΏΠΈΡ‚
ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° MLFQ със слСднитС ΠΏΡ€Π°Π²ΠΈΠ»Π°:

  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 3: ΠšΠΎΠ³Π°Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° Π²Π»Π΅Π·Π΅ Π² систСмата, тя сС поставя Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° с Π½Π°ΠΉ-високата
  • ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.
  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 4a: Ако Π΄Π°Π΄Π΅Π½Π° Π·Π°Π΄Π°Ρ‡Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° цСлия си Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, Ρ‚ΠΎΠ³Π°Π²Π° тя
  • ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΡŠΡ‚ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½.
  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 4b: Ако Π·Π°Π΄Π°Ρ‡Π° освободи процСсора ΠΏΡ€Π΅Π΄ΠΈ ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° врСмСвия ΠΉ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, Ρ‚ΠΎΠ³Π°Π²Π° тя
  • остава със ΡΡŠΡ‰ΠΈΡ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Π•Π΄ΠΈΠ½ΠΈΡ‡Π½Π° Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½Π° Π·Π°Π΄Π°Ρ‡Π°

ΠšΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ°Π½Π΅ Π΅ поставСна с Π½Π°ΠΉ-висока
ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Π‘Π»Π΅Π΄ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† ΠΎΡ‚ 10 ms ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΡŠΡ‚ Π½Π° процСса сС ΠΏΠΎΠ½ΠΈΠΆΠ°Π²Π°.
ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊ. Π‘Π»Π΅Π΄ слСдващия Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π½Π°ΠΉ-накрая сС ΠΏΠΎΠ½ΠΈΠΆΠ°Π²Π° Π΄ΠΎ
Π½Π°ΠΉ-нисък ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π² систСмата, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ остава.
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 5: ΠŸΠ»Π°Π½ΠΈΡ€Π°Π½Π΅: ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π° опашка Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° (ΠΏΡ€Π΅Π²ΠΎΠ΄)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: Π˜Π·Π±Ρ€Π°Ρ… ΠΊΡ€Π°Ρ‚ΠΊΠ° Π·Π°Π΄Π°Ρ‡Π°

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° Π²ΠΈΠ΄ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ MLFQ Ρ‰Π΅ сС ΠΎΠΏΠΈΡ‚Π° Π΄Π° сС Π΄ΠΎΠ±Π»ΠΈΠΆΠΈ Π΄ΠΎ SJF. Π’ Ρ‚ΠΎΠ²Π°
Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π²Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ: A, която Π΅ Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½Π° Π·Π°Π΄Π°Ρ‡Π° постоянно
Π·Π°Π΅ΠΌΠ°Ρ‰ΠΈ CPU ΠΈ B, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° Π·Π°Π΄Π°Ρ‡Π°. Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ
Ρ‡Π΅ A Π²Π΅Ρ‡Π΅ Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠ» извСстно Π²Ρ€Π΅ΠΌΠ΅ Π΄ΠΎ пристиганСто Π½Π° Π·Π°Π΄Π°Ρ‡Π° B.
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 5: ΠŸΠ»Π°Π½ΠΈΡ€Π°Π½Π΅: ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π° опашка Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° (ΠΏΡ€Π΅Π²ΠΎΠ΄)

Π’Π°Π·ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π²Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ сцСнария. Π—Π°Π΄Π°Ρ‡Π° А, ΠΊΠ°Ρ‚ΠΎ всяка Π΄Ρ€ΡƒΠ³Π° Π·Π°Π΄Π°Ρ‡Π°,
ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° процСсора бСшС Π½Π°ΠΉ-Π΄ΠΎΠ»Ρƒ. Π—Π°Π΄Π°Ρ‡Π° B Ρ‰Π΅ пристигнС Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ T=100 ΠΈ Ρ‰Π΅
поставСни Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° с Π½Π°ΠΉ-висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Въй ΠΊΠ°Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎ,
Ρ‰Π΅ Π·Π°Π²ΡŠΡ€ΡˆΠΈ ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° достигнС послСдната опашка.

ΠžΡ‚ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ основната Ρ†Π΅Π» Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ°: Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ
Π·Π½Π°Π΅ дълга Π·Π°Π΄Π°Ρ‡Π° ΠΈΠ»ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠ°, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΡŠΡ€Π²ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ°, Ρ‡Π΅ Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°
ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΈ ΠΌΡƒ Π΄Π°Π²Π° Π½Π°ΠΉ-висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Ако наистина Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠ° Π·Π°Π΄Π°Ρ‡Π°, Ρ‚ΠΎΠ³Π°Π²Π°
Ρ‰Π΅ сС изпълни Π±ΡŠΡ€Π·ΠΎ, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай, Π°ΠΊΠΎ Π΅ дълга Π·Π°Π΄Π°Ρ‡Π°, Ρ‰Π΅ сС Π΄Π²ΠΈΠΆΠΈ Π±Π°Π²Π½ΠΎ
с ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ΠΎΠ»Ρƒ ΠΈ скоро Ρ‰Π΅ Π΄ΠΎΠΊΠ°ΠΆΠ΅, Ρ‡Π΅ тя наистина Π΅ дълга Π·Π°Π΄Π°Ρ‡Π°, която Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ
изисква ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: Какво Ρ‰Π΅ ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π·Π° I/O?

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ I/O ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠšΠ°ΠΊΡ‚ΠΎ Π΅ посочСно Π² ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ 4b,
Π°ΠΊΠΎ Π΄Π°Π΄Π΅Π½ процСс освободи процСсора, Π±Π΅Π· Π΄Π° Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π» напълно своСто процСсорно Π²Ρ€Π΅ΠΌΠ΅,
слСд Ρ‚ΠΎΠ²Π° остава Π½Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Π¦Π΅Π»Ρ‚Π° Π½Π° Ρ‚ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π΅ доста проста.
- Π°ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ I/O, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡Π°ΠΊΠ°
ΠΎΡ‚ натисканСто Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΠΈΡ‚Π΅ ΠΈΠ»ΠΈ ΠΌΠΈΡˆΠΊΠ°Ρ‚Π° Π½Π° потрСбитСля, Ρ‚Π°ΠΊΠ°Π²Π° Π·Π°Π΄Π°Ρ‡Π° Ρ‰Π΅ освободи процСсора
ΠΏΡ€Π΅Π΄ΠΈ опрСдСлСния ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†. НС Π±ΠΈΡ…ΠΌΠ΅ искали Π΄Π° пропуснСм Ρ‚Π°ΠΊΠ°Π²Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Π° Π·Π°Π΄Π°Ρ‡Π°,
ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Ρ‰Π΅ останС Π½Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π½ΠΈΠ²ΠΎ.
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 5: ΠŸΠ»Π°Π½ΠΈΡ€Π°Π½Π΅: ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π° опашка Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° (ΠΏΡ€Π΅Π²ΠΎΠ΄)

Π’ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π±ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈΠ» с Ρ‚Π°ΠΊΠΈΠ²Π° процСси - ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° Π·Π°Π΄Π°Ρ‡Π° B, която сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ процСсора само Π·Π° 1ms ΠΏΡ€Π΅Π΄ΠΈ изпълнСниС
I/O процСс ΠΈ дълга Ρ€Π°Π±ΠΎΡ‚Π° A, която ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° CPU ΠΏΡ€Π΅Π· цялото Π²Ρ€Π΅ΠΌΠ΅.
MLFQ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° процСс B с Π½Π°ΠΉ-висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°
освободСтС процСсора. Ако B Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° Π·Π°Π΄Π°Ρ‡Π°, Ρ‚ΠΎΠ³Π°Π²Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π² Ρ‚ΠΎΠ·ΠΈ случай Π΅ достигнал
ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΡƒ Π΅ Π±ΡŠΡ€Π·ΠΎ Π΄Π° стартира ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с тСкущия MLFQ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ

Π’ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ…ΠΌΠ΅ основна вСрсия Π½Π° MLFQ. И ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ Ρ‚ΠΎΠΉ
Π²ΡŠΡ€ΡˆΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° си Π΄ΠΎΠ±Ρ€Π΅ ΠΈ справСдливо, ΠΊΠ°Ρ‚ΠΎ разпрСдСля справСдливо процСсорното Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ тях
дълги Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΡ€Π°Ρ‚ΠΊΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са силно Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ
към I/O Π·Π° Π±ΡŠΡ€Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π—Π° съТалСниС Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° няколко
сСриозни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.
ΠŸΡŠΡ€Π²ΠΎ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с Π³Π»Π°Π΄Π°: Π°ΠΊΠΎ систСмата Ρ‰Π΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ
Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚Π΅ Ρ‰Π΅ консумират цялото Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСсора ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π½ΠΈΡ‚ΠΎ Π΅Π΄Π½ΠΎ дълго
Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° няма Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ шанс Π΄Π° бъдС изпълнСна (Ρ‚Π΅ Π³Π»Π°Π΄ΡƒΠ²Π°Ρ‚).

Π½Π° Π²Ρ‚ΠΎΡ€ΠΎ място, ΡƒΠΌΠ½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π±ΠΈΡ…Π° ΠΌΠΎΠ³Π»ΠΈ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ°Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ си Ρ‚Π°ΠΊΠ°, Ρ‡Π΅
Π·Π°Π±Π»ΡƒΠ΄ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. Π˜Π·ΠΌΠ°ΠΌΠ°Ρ‚Π° сС ΡΡŠΡΡ‚ΠΎΠΈ Π² Ρ‚ΠΎΠ²Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡˆ Π½Π΅Ρ‰ΠΎ, Π·Π° Π΄Π° ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡˆ
ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊ, Π·Π° Π΄Π° Π΄Π°Π΄Π΅ Π½Π° процСса ΠΏΠΎΠ²Π΅Ρ‡Π΅ процСсорно Π²Ρ€Π΅ΠΌΠ΅. ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ
описано ΠΏΠΎ-Π³ΠΎΡ€Π΅ Π΅ доста уязвимо Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π°Ρ‚Π°ΠΊΠΈ: ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΈΠ·Ρ‚Π΅Ρ‡Π΅ практичСски врСмСвият ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†
Π½Π°Π΄, трябва Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ I / O опСрация (Π·Π° някои, Π±Π΅Π· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ»)
ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ освобоТдава процСсора. Π’Π°ΠΊΠΎΠ²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° останСтС Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ
самата опашка ΠΈ ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ ΠΏΠΎ-голям ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ процСсорно Π²Ρ€Π΅ΠΌΠ΅. Ако Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ
Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ (Π½Π°ΠΏΡ€. стартирайтС 99% ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° освободитС процСсора),
Ρ‚Π°ΠΊΠ°Π²Π° Π·Π°Π΄Π°Ρ‡Π° ΠΌΠΎΠΆΠ΅ просто Π΄Π° ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠ·ΠΈΡ€Π° процСсора.

И накрая, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ си с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ. Π’Π΅Π·ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ
ΠΊΠΎΠΈΡ‚ΠΎ са ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ процСсора, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° станат ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ. Π’ нашия ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ
Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ няма Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Ρ‚Ρ€Π΅Ρ‚ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ°, ΠΊΠ°ΠΊΡ‚ΠΎ Π±ΠΈΡ…Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ
(ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈ) ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ΡŠΠΏΡ€ΠΎΡ към ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π°: ΠΊΠ°ΠΊΠ²ΠΈ Π°Ρ‚Π°ΠΊΠΈ срСщу ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ Π² ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ свят?

ΠžΠΏΠΈΡ‚ 2: Π£Π²Π΅Π»ΠΈΡ‡Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°

НСка сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с
Π³Π»Π°Π΄ΡƒΠ²Π°Π½Π΅. Какво ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ, Π·Π° Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ
Π—Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° процСсора Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ своСто Π²Ρ€Π΅ΠΌΠ΅ (Π΄ΠΎΡ€ΠΈ ΠΈ Π½Π΅ дълго).
ΠšΠ°Ρ‚ΠΎ просто Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ
ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° Π½Π° всички ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π² систСмата. Има ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Ρ‡ΠΈΠ½ΠΈ
Π·Π° Π΄Π° постигнСм Ρ‚ΠΎΠ²Π°, Π½Π΅ΠΊΠ° сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ Π½Π΅Ρ‰ΠΎ просто ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΡ€Π΅Π²ΠΎΠ΄
всички Π·Π°Π΄Π°Ρ‡ΠΈ навСднъТ с Π½Π°ΠΉ-висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, ΠΎΡ‚Ρ‚ΡƒΠΊ ΠΈ Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ:

  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ5: Π‘Π»Π΅Π΄ извСстСн ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ S ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Ρ‚Π΅ всички Π·Π°Π΄Π°Ρ‡ΠΈ Π² систСмата Π½Π° Π½Π°ΠΉ-високата опашка.

Новото Π½ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ€Π΅ΡˆΠ°Π²Π° Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ΠŸΡŠΡ€Π²ΠΎ, процСситС
Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ няма Π΄Π° ΡƒΠΌΡ€Π΅Ρ‚Π΅ ΠΎΡ‚ Π³Π»Π°Π΄: Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π² Π½Π°ΠΉ-високата опашка Ρ‰Π΅ сподСлят
процСсорно Π²Ρ€Π΅ΠΌΠ΅ спорСд RR Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ всички процСси Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚
процСсорно Π²Ρ€Π΅ΠΌΠ΅. Π’Ρ‚ΠΎΡ€ΠΎ, Π°ΠΊΠΎ някой процСс, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½
само ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ става ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π΅Π½, Ρ‚ΠΎΠΉ Ρ‰Π΅ останС Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° с Π½Π°ΠΉ-високия
ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ слСд ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Ρ‚Π»Π°ΡΡŠΠΊ към Π½Π°ΠΉ-високия ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ вСднъТ.
ΠŸΠΎΠΌΠΈΡΠ»Π΅Ρ‚Π΅ Π·Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’ Ρ‚ΠΎΠ·ΠΈ сцСнарий помислСтС Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ процСс
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 5: ΠŸΠ»Π°Π½ΠΈΡ€Π°Π½Π΅: ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π° опашка Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° (ΠΏΡ€Π΅Π²ΠΎΠ΄)

CPU ΠΈ Π΄Π²Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΈ процСса. ΠžΡ‚Π»ΡΠ²ΠΎ Π½Π° Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚Π° Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π±Π΅Π· ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎ усилванС ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ дълго ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Π½Π°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° ΠΈΠ·Ρ‡Π΅Π·Π²Π°, слСд ΠΊΠ°Ρ‚ΠΎ Π΄Π²Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ пристигнат Π² систСмата. На Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚Π° вдясно Π½Π° всСки 50ms сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° повишаванС Π½Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ всички процСси Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ процСсорно Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ стартирани ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ. 50ms Π² Ρ‚ΠΎΠ·ΠΈ случай са Π²Π·Π΅Ρ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² дСйствитСлност Ρ‚ΠΎΠ²Π° число Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-високо.
ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π΅, Ρ‡Π΅ добавянСто Π½Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° нарастванС S Π²ΠΎΠ΄ΠΈ Π΄ΠΎ
Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ Π²ΡŠΠΏΡ€ΠΎΡ: ΠΊΠ°ΠΊΠ²Π° стойност трябва Π΄Π° сС Π·Π°Π΄Π°Π΄Π΅? Π•Π΄ΠΈΠ½ ΠΎΡ‚ заслуТилитС
систСмнитС ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈ John Ousterhout Π½Π°Ρ€ΠΈΡ‡Π°Ρ‚ ​​подобни количСства Π² систСмитС ΠΊΠ°Ρ‚ΠΎ voo-doo
постоянСн, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ изискват Ρ‡Π΅Ρ€Π½Π° магия Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ
ΠΈΠ·Π»Π°Π³Π°Π½Π΅. И, Π·Π° съТалСниС, S ΠΈΠΌΠ° Ρ‚Π°ΠΊΡŠΠ² вкус. Ако Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΈ стойността
Π³ΠΎΠ»Π΅ΠΌΠΈ - Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‰Π΅ Π³Π»Π°Π΄ΡƒΠ²Π°Ρ‚. И Π°ΠΊΠΎ Π³ΠΎ Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Ρ‚Π²ΡŠΡ€Π΄Π΅ ниско,
ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ няма Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ подходящо процСсорно Π²Ρ€Π΅ΠΌΠ΅.

ΠžΠΏΠΈΡ‚ 3: По-Π΄ΠΎΠ±Ρ€ΠΎ счСтоводство

Π‘Π΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅: ΠΊΠ°ΠΊ Π΄Π° Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ
ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ Π΄Π° ΠΈΠ·ΠΌΠ°ΠΌΠΈΠΌ нашия Π³Ρ€Π°Ρ„ΠΈΠΊ? Π’ΠΈΠ½ΠΎΠ²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° Ρ‚Π°Π·ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ са
ΠΏΡ€Π°Π²ΠΈΠ»Π° 4a, 4b, ΠΊΠΎΠΈΡ‚ΠΎ позволяват Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° си Ρ‡Ρ€Π΅Π· освобоТдаванС Π½Π° процСсора
ΠΏΡ€Π΅Π΄ΠΈ ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅. Как Π΄Π° сС справим с Π½Π΅Π³ΠΎ?
Π Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² Ρ‚ΠΎΠ·ΠΈ случай ΠΌΠΎΠΆΠ΅ Π΄Π° сС счита Π·Π° ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΎ ΠΎΡ‚Ρ‡ΠΈΡ‚Π°Π½Π΅ Π½Π° процСсорното Π²Ρ€Π΅ΠΌΠ΅ Π½Π° всСки
MLFQ Π½ΠΈΠ²ΠΎ. ВмСсто Π΄Π° Π·Π°Π±Ρ€Π°Π²ΠΈΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°
процСсор Π·Π° опрСдСлСния ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π», трябва Π΄Π° Π³ΠΎ Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Π΄Π° Π³ΠΎ Π·Π°ΠΏΠ°Π·ΠΈΡ‚Π΅. Π‘Π»Π΅Π΄
ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π΅ ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π°Π» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎΡ‚ΠΎ ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅, трябва Π΄Π° бъдС ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ Π΄ΠΎ слСдващия
Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Π‘Π΅Π³Π° няма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ си - ΠΊΠ°ΠΊ
постоянно изчислСниС Π½Π° процСсора ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ повиквания. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½,
ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ 4 трябва Π΄Π° сС ΠΏΡ€Π΅Π½Π°ΠΏΠΈΡˆΠ΅, ΠΊΠ°ΠΊΡ‚ΠΎ слСдва:

  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ4: Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π΄Π°Π΄Π΅Π½Π° Π·Π°Π΄Π°Ρ‡Π° ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎΡ‚ΠΎ ΠΉ Π²Ρ€Π΅ΠΌΠ΅ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° опашка (нСзависимо ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡŠΡ‚ΠΈ Π΅ освободила процСсора), ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΡŠΡ‚ Π½Π° Ρ‚Π°ΠΊΠ°Π²Π° Π·Π°Π΄Π°Ρ‡Π° сС намалява (тя сС прСмСства Π½Π°Π΄ΠΎΠ»Ρƒ Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π°).

Π”Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 5: ΠŸΠ»Π°Π½ΠΈΡ€Π°Π½Π΅: ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π° опашка Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° (ΠΏΡ€Π΅Π²ΠΎΠ΄)Β»

Π€ΠΈΠ³ΡƒΡ€Π°Ρ‚Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊΠ²ΠΎ сС случва, Π°ΠΊΠΎ сС ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ΄ΠΌΠ°ΠΌΠΈΡ‚Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ°
Π°ΠΊΠΎ бСшС с ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° 4a, 4b Ρ‰Π΅ΡˆΠ΅ Π΄Π° Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ отляво. Π‘ Π½ΠΎΠ²
ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΡ‚ΠΎ Π΅, Ρ‡Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ Π΅ отдясно. ΠŸΡ€Π΅Π΄ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° всСки процСс ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ° I/O ΠΏΡ€Π΅Π΄ΠΈ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ ΠΈ
ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€Π°Ρ‚ процСсора, слСд Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π°, нСзависимо ΠΎΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ
I/O, Ρ‚ΠΎΠΉ ΠΏΠ°ΠΊ Ρ‰Π΅ слСзС Π½Π°Π΄ΠΎΠ»Ρƒ Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ няма Π΄Π° ΠΌΠΎΠΆΠ΅ нСчСстно
ΠΏΠΎΠ΅ΠΌΠ΅Ρ‚Π΅ рСсурситС Π½Π° процСсора.

ΠŸΠΎΠ΄ΠΎΠ±Ρ€ΡΠ²Π°Π½Π΅ Π½Π° MLFQ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ

Π‘ Π³ΠΎΡ€Π½ΠΈΡ‚Π΅ подобрСния Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ Π½ΠΎΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ: Π΅Π΄ΠΈΠ½ ΠΎΡ‚ основнитС
Π²ΡŠΠΏΡ€ΠΎΡΠΈ - ΠΊΠ°ΠΊ Π΄Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΈΡ€Π°ΠΌ Ρ‚Π°ΠΊΡŠΠ² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊ? Π’Π΅Π·ΠΈ. Колко трябва Π΄Π° бъдС
опашки? Какъв трябва Π΄Π° бъдС Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π°? ΠΊΠ°ΠΊ
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° чСсто трябва Π΄Π° бъдС ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Π°, Π·Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π΅ Π³Π»Π°Π΄ΡƒΠ²Π°Π½Π΅ ΠΈ
Π΄Π° сС Π²Π·Π΅ΠΌΠ΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ промяната Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°? На Ρ‚Π΅Π·ΠΈ Π²ΡŠΠΏΡ€ΠΎΡΠΈ няма просто
рСакция ΠΈ само СкспСримСнти с натоварвания ΠΈ послСдваща конфигурация
Scheduler ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ някакъв Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΠΈΡ‚Π΅Π»Π΅Π½ баланс.

НапримСр, ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° MLFQ Π²ΠΈ позволяват Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ
Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ опашки. ΠžΠΏΠ°ΡˆΠΊΠΈΡ‚Π΅ с висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ са
ΠΊΡ€Π°Ρ‚ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ. Π’Π΅Π·ΠΈ опашки сС ΡΡŠΡΡ‚ΠΎΡΡ‚ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ,
ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΈΡ‚ΠΎ Π΅ доста чувствитСлно ΠΈ трябва Π΄Π° ΠΎΡ‚Π½Π΅ΠΌΠ΅ 10 ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ
ГоспоТица. ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΠΎΠΏΠ°ΡˆΠΊΠΈΡ‚Π΅ с нисък ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ сС ΡΡŠΡΡ‚ΠΎΡΡ‚ ΠΎΡ‚ дълго изпълнявани Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚
ΠŸΠ ΠžΠ¦Π•Π‘ΠžΠ . И Π² Ρ‚ΠΎΠ·ΠΈ случай Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ пасват ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅ (100ms).
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 5: ΠŸΠ»Π°Π½ΠΈΡ€Π°Π½Π΅: ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π° опашка Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° (ΠΏΡ€Π΅Π²ΠΎΠ΄)

Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠΌΠ° 2 Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са Ρ€Π°Π±ΠΎΡ‚ΠΈΠ»ΠΈ Π² опашка с висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ 20
ms Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° 10ms ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ. 40ms Π² срСдната опашка (20ms ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†) ΠΈ Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° с нисък ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚
врСмСвият ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π½Π° ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° стана 40ms, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π·Π°Π²ΡŠΡ€ΡˆΠΈΡ…Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° си.

ВнСдряванСто Π½Π° MLFQ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма Solaris Π΅ клас програмисти Π·Π° сподСлянС Π½Π° Π²Ρ€Π΅ΠΌΠ΅.
ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ Ρ‰Π΅ прСдостави Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ опрСдСлят Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠ°ΠΊ трябва
промяна Π½Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° Π½Π° процСса Π² Ρ…ΠΎΠ΄Π° Π½Π° ΠΆΠΈΠ²ΠΎΡ‚Π° ΠΌΡƒ, какъв трябва Π΄Π° бъдС Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚
ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π° бъдС Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ чСсто Π΄Π° сС ΠΏΠΎΠ²ΠΈΡˆΠ°Π²Π°Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈΡ‚Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅. Администратор
систСмата ΠΌΠΎΠΆΠ΅ Π΄Π° взаимодСйства с Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈ Π΄Π° Π½Π°ΠΊΠ°Ρ€Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ° Π΄Π° сС Π΄ΡŠΡ€ΠΆΠΈ
Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈΠΌΠ° 60 опашки с постСпСнно ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅
Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° ΠΎΡ‚ 20 ms (висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚) Π΄ΠΎ няколкостотин ms (Π½Π°ΠΉ-нисък ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚) ΠΈ
ΡΡŠΡ‰ΠΎ ΠΈ с усилванС Π½Π° всички Π·Π°Π΄Π°Ρ‡ΠΈ вСднъТ Π² сСкунда.

Π”Ρ€ΡƒΠ³ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΡ†ΠΈ Π½Π° MLFQ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈΠ»ΠΈ някакви спСцифични
ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ са описани Π² Ρ‚Π°Π·ΠΈ Π³Π»Π°Π²Π°, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², Ρ‚Π΅ изчисляват ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈΡ‚Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ
матСматичСски Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈ. НапримСр ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ във FreeBSD ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Π·Π°
изчисляванС Π½Π° тСкущия ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° въз основа Π½Π° Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚
ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ… процСсора. Π’ допълнСниС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° процСсора ΠΈΠ·Π³Π½ΠΈΠ²Π° с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½
По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΏΠΎΠ²ΠΈΡˆΠ°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ ΠΎΡ‚ описаното ΠΏΠΎ-Π³ΠΎΡ€Π΅. Π’ΠΎΠ²Π° Π΅ вярно
Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π½Π° Π·Π°Ρ‚ΠΈΡ…Π²Π°Π½Π΅. ΠžΡ‚ вСрсия 7.1 FreeBSD ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ULE ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ°.

И накрая, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈΡ†ΠΈ ΠΈΠΌΠ°Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НапримСр някои
ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π·Π°ΠΏΠ°Π·Π²Π°Ρ‚ ΠΏΠΎ-високи Π½ΠΈΠ²Π° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½
По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π½ΠΈΡ‚ΠΎ Π΅Π΄ΠΈΠ½ потрСбитСлски процСс Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π½Π°ΠΉ-висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚
систСма. Някои систСми Π²ΠΈ позволяват Π΄Π° Π΄Π°Π²Π°Ρ‚Π΅ ΡΡŠΠ²Π΅Ρ‚ΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅Ρ‚Π΅
ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ Π΄Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚ΠΈΠ·ΠΈΡ€Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ. НапримСр с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Ρ…ΡƒΠ±Π°Π²ΠΎ
ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π½Π°ΠΌΠ°Π»ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° Π½Π° Π΄Π°Π΄Π΅Π½Π° Π·Π°Π΄Π°Ρ‡Π° ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π½Π°ΠΌΠ°Π»ΠΈΡ‚Π΅
намаляват ΡˆΠ°Π½ΡΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π° процСсорно Π²Ρ€Π΅ΠΌΠ΅.

MLFQ: РСзюмС

ΠžΠΏΠΈΡΠ°Ρ…ΠΌΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ MLFQ. НСговото ΠΈΠΌΠ΅
Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° - ΠΈΠΌΠ° няколко опашки ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°
Π·Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡Π°.
ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π½ΠΈΡΡ‚ Π²ΠΈΠ΄ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Ρ‰Π΅ бъдС ΠΊΠ°ΠΊΡ‚ΠΎ слСдва:

  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ1: Ако ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ (A) > ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ (B), Π·Π°Π΄Π°Ρ‡Π° A Ρ‰Π΅ сС изпълни (B няма)
  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ2: Ако ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚(A) = ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚(B), A&B сС стартират с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° RR
  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ3: ΠšΠΎΠ³Π°Ρ‚ΠΎ Π΄Π°Π΄Π΅Π½Π° Π·Π°Π΄Π°Ρ‡Π° Π²Π»Π΅Π·Π΅ Π² систСмата, тя сС поставя Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° с Π½Π°ΠΉ-висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.
  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ4: Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π΄Π°Π΄Π΅Π½Π° Π·Π°Π΄Π°Ρ‡Π° ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎΡ‚ΠΎ ΠΉ Π²Ρ€Π΅ΠΌΠ΅ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° опашка (нСзависимо ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡŠΡ‚ΠΈ Π΅ освободила процСсора), ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΡŠΡ‚ Π½Π° Ρ‚Π°ΠΊΠ°Π²Π° Π·Π°Π΄Π°Ρ‡Π° сС намалява (тя сС прСмСства Π½Π°Π΄ΠΎΠ»Ρƒ Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π°).
  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ5: Π‘Π»Π΅Π΄ извСстСн ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ S ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Ρ‚Π΅ всички Π·Π°Π΄Π°Ρ‡ΠΈ Π² систСмата Π½Π° Π½Π°ΠΉ-високата опашка.

MLFQ Π΅ интСрСсСн ΠΏΠΎΡ€Π°Π΄ΠΈ слСдната ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° - вмСсто Π΄Π° изисква знания Π·Π°
СстСството Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π½Π°ΡƒΡ‡Π°Π²Π° ΠΌΠΈΠ½Π°Π»ΠΎΡ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° ΠΈ Π·Π°Π΄Π°Π²Π°
ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈ. Π’Π°ΠΊΠ° Ρ‚ΠΎΠΉ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° сСднС Π½Π° Π΄Π²Π° стола Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ - Π΄Π° постигнС производитСлност Π·Π° ΠΌΠ°Π»ΠΊΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ (SJF, STCF) ΠΈ чСстно Π΄Π° изпълнява дълги,
Π—Π°Π΄Π°Ρ‡ΠΈ Π·Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° процСсора. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ систСми, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ BSD ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΈ,
Solaris, Windows, Mac ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ някаква Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ ΠΊΠ°Ρ‚ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊ
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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€