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

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

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

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

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

И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посСщаватС ΠΊΠ°Π½Π°Π»Π° ΠΌΠΈ Π² Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ =)

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

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

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

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

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

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

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

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

  • Основавайки сС Π½Π° посочСното ΠΏΠΎ-Π³ΠΎΡ€Π΅, ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° MLFQ
  • са ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈ. ВмСсто Π΄Π° Π·Π°Π΄Π°Π²Π°ΠΌΠ΅ фиксиран ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π° всяка

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

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

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

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

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

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ ΠΊΡ€Π°Ρ‚ΠΊΠ° Π·Π°Π΄Π°Ρ‡Π°

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

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: А ΠΊΠ°ΠΊΠ²ΠΎ Π·Π° Π²Ρ…ΠΎΠ΄-ΠΈΠ·Ρ…ΠΎΠ΄?

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

Π’ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡŠΡ‚ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ с Ρ‚Π°ΠΊΠΈΠ²Π° процСси β€” ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° B, която сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ CPU само Π·Π° 1мс ΠΏΡ€Π΅Π΄ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ
Π½Π° процСса Π²Ρ…ΠΎΠ΄-ΠΈΠ·Ρ…ΠΎΠ΄ ΠΈ Π΄ΡŠΠ»Π³Π°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° A, която ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° цСлия си Π²Ρ€Π΅ΠΌΠ΅ Π½Π° CPU.
MLFQ Π΄ΡŠΡ€ΠΆΠΈ процСс B с Π½Π°ΠΉ-висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠΉ постоянно
освобоТдава CPU. Ако B Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° Π·Π°Π΄Π°Ρ‡Π°, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π΅ успял
Π΄Π° стартира ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΡŠΡ€Π·ΠΎ.

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

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

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

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

Π’ΡŠΠΏΡ€ΠΎΡ към Π·Π°Π»Π°Ρ‚Π°: ΠΊΠ°ΠΊΠ²ΠΈ Π°Ρ‚Π°ΠΊΠΈ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Π΅ възмоТно Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Π² ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ свят?

ΠžΠΏΠΈΡ‚ 2: ПовишаванС Π½Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°

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

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

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

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

ΠžΠΏΠΈΡ‚ 3: Най-Π΄ΠΎΠ±Ρ€ΠΎ ΠΎΡ‚Ρ‡ΠΈΡ‚Π°Π½Π΅

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

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

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

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

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

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

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

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

РСализация Π½Π° MLFQ Π² ОБ Solaris β€” клас ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ‰ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ раздСлят ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅.
ΠŸΠ»Π°Π½ΠΈΡ€Π°Ρ‰ΠΈΡΡ‚ прСдоставя Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ опрСдСлят Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠ°ΠΊ трябва
Π΄Π° сС промСня ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΡŠΡ‚ Π½Π° процСса с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΡ‚Π° ΠΌΡƒ, какъв трябва Π΄Π° бъдС Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚
Π½Π° отпусканото ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ‡Π΅ ΠΈ ΠΊΠ°ΠΊ чСсто трябва Π΄Π° сС ΠΏΠΎΠ²ΠΈΡˆΠ°Π²Π°Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈΡ‚Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°. ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚
Π½Π° систСмата ΠΌΠΎΠΆΠ΅ Π΄Π° взаимодСйствва с Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈ Π΄Π° Π½Π°ΠΊΠ°Ρ€Π° планиращия Π΄Π° сС Π΄ΡŠΡ€ΠΆΠΈ
ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π² Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈΠΌΠ° 60 опашки с постСпСнно ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅
Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ‡Π΅Ρ‚ΠΎ ΠΎΡ‚ 20мс (висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚) Π΄ΠΎ няколко стотин мс (нисък ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚), Π°
Ρ‚Π°ΠΊΠ° ΡΡŠΡ‰ΠΎ ΠΈ с ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° всички Π·Π°Π΄Π°Ρ‡ΠΈ вСднъТ Π² сСкунда.

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

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

MLFQ: РСзюмС

ОписаниС Π½Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° към ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ MLFQ. Π˜ΠΌΠ΅Ρ‚ΠΎ ΠΌΡƒ
Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° β€” Ρ‚ΠΎΠΉ ΠΈΠΌΠ° няколко опашки ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°
Π·Π° опрСдСлянС ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°.
Π˜Ρ‚ΠΎΠ³ΠΎΠ²ΠΈΡΡ‚ Π²ΠΈΠ΄ ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ‰Π΅ бъдС слСдният:

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

MLFQ Π΅ интСрСсСн ΠΏΠΎ слСдната ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° β€” вмСсто Π΄Π° изисква ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π½Π°Π½ΠΈΠ΅ Π·Π°
ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π°Ρ‚Π° Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ ΠΈΠ·ΡƒΡ‡Π°Π²Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΎΡ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° ΠΈ опрСдСля
ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Ρ‚ΠΎΠΉ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΡƒΠ³ΠΎΠ΄ΠΈ Π½Π° Π΄Π²Π΅ страни β€” Π΄Π° постигнС производитСлност Π·Π° ΠΌΠ°Π»ΠΊΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ (SJF, STCF) ΠΈ чСстно Π΄Π° стартира дълги,
изискващи CPU задания. Π—Π°Ρ‚ΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ систСми, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ 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

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster