Sistemi Operattivi: Tliet Biċċiet Faċli. Parti 5: Ippjanar: Kju ta' Feedback f'Livelli Multipli (traduzzjoni)

Introduzzjoni għas-Sistemi Operattivi

Ħej Habr! Nixtieq inġib għall-attenzjoni tiegħek sensiela ta' artikli-traduzzjonijiet ta' letteratura waħda interessanti fl-opinjoni tiegħi - OSTEP. Dan il-materjal jiddiskuti pjuttost fil-fond ix-xogħol ta 'sistemi operattivi unix-like, jiġifieri, ix-xogħol ma' proċessi, diversi schedulers, memorja, u komponenti oħra simili li jiffurmaw OS modern. Tista 'tara l-oriġinal tal-materjali kollha hawn hawn. Jekk jogħġbok innota li t-traduzzjoni saret b'mod mhux professjonali (pjuttost liberament), iżda nittama li żammejt it-tifsira ġenerali.

Xogħol tal-laboratorju dwar dan is-suġġett jista’ jinstab hawn:

Partijiet oħra:

Tista 'wkoll tiċċekkja l-kanal tiegħi fuq telegramma =)

Ippjanar: Kju ta' Feedback fuq Multi-Livell

F'din il-lecture, se nitkellmu dwar il-problemi tal-iżvilupp ta 'wieħed mill-aktar approċċi famużi
ippjanar, li jissejjaħ Kju ta' Feedback f'diversi livelli (MLFQ). L-iskedar MLFQ kien deskritt għall-ewwel darba fl-1962 minn Fernando J. Corbató f'sistema msejħa
Sistema Kompatibbli ta' Qsim tal-Ħin (CTSS). Dawn ix-xogħlijiet (inklużi xogħlijiet aktar tard fuq
Multics) sussegwentement ġew nominati għal Turing Award. L-iskedar kien
sussegwentement tjiebu u akkwistaw id-dehra li tista 'tinstab diġà fi
xi sistemi moderni.

L-algoritmu MLFQ jipprova jsolvi 2 problemi fundamentali li jikkoinċidu.
L-ewwelnett, jipprova jottimizza l-ħin tat-tibdil, li, kif iddiskutejna fit-taħdita preċedenti, huwa ottimizzat bil-metodu li jibda l-aktar fil-kap tal-kju.
ħidmiet qosra. Madankollu, l-OS ma jafx kemm se jdum dan jew dak il-proċess, u dan
għarfien meħtieġ għat-tħaddim tal-algoritmi SJF, STCF. It-tieni nett, MLFQ jipprova
tagħmel is-sistema tirrispondi għall-utenti (per eżempju, għal dawk li joqogħdu u
tħares lejn l-iskrin waqt li tistenna li l-kompitu jitlesta) u b’hekk timminimizza l-ħin
rispons. Sfortunatament, algoritmi bħal RR inaqqsu l-ħin tar-rispons, iżda
għandhom effett ħażin fuq il-metrika tal-ħin tat-tibdil. Għalhekk il-problema tagħna: Kif tiddisinja
Scheduler li se jissodisfa r-rekwiżiti tagħna u fl-istess ħin ma jkun jaf xejn dwar
in-natura tal-pro/ess, b’mod ;enerali? Kif jista 'l-iskedar jitgħallem il-karatteristiċi tal-kompiti,
li tniedi u b’hekk tieħu deċiżjonijiet ta’ skedar aħjar?

L-essenza tal-problema: Kif tippjana l-iffissar tal-kompiti mingħajr għarfien perfett?
Kif tfassal Scheduler li fl-istess ħin jimminimizza l-ħin tar-rispons
għal ħidmiet interattivi u fl-istess ħin jimminimizza l-ħin tat-tibdil mingħajr ma jkun jaf
għarfien tal-ħin tal-eżekuzzjoni tal-kompitu?

Nota: tagħlim minn avvenimenti preċedenti

Il-kju MLFQ huwa eżempju eċċellenti ta' sistema li hija mħarrġa fuqha
avvenimenti tal-passat biex ibassar il-futur. Tali approċċi huma spiss
misjuba fl-OS (U ħafna fergħat oħra fix-xjenza tal-kompjuter, inklużi fergħat
tbassir tal-ħardwer u algoritmi ta' caching). Żidiet simili
trigger meta l-kompiti jkollhom fażijiet ta 'mġieba u għalhekk huma prevedibbli.
Madankollu, wieħed għandu joqgħod attent b'din it-teknika, minħabba li t-tbassir huwa faċli ħafna.
jista' jirriżulta li jkun żbaljat u jwassal lis-sistema biex tieħu deċiżjonijiet agħar milli
ikun mingħajr għarfien għal kollox.

MLFQ: Regoli Bażiċi

Ikkunsidra r-regoli bażiċi tal-algoritmu MLFQ. U għalkemm l-implimentazzjonijiet ta 'dan l-algoritmu
hemm diversi, l-approċċi bażiċi huma simili.
Fl-implimentazzjoni li se nikkunsidraw, l-MLFQ se jkollu diversi
kjuwijiet separati, li kull wieħed minnhom ikollu prijorità differenti. Kull meta,
il-kompitu lest għall-eżekuzzjoni jinsab fl-istess kju. MLFQ juża prijoritajiet,
biex jiddeċiedi liema kompitu għandu jiddekorri għall-eżekuzzjoni, i.e. kompitu ma ogħla
prijorità (kompitu mill-kju bl-ogħla prijorità) se titnieda fl-ewwel
kju.
Naturalment, jista 'jkun hemm aktar minn kompitu wieħed fi kju partikolari, allura
għalhekk se jkollhom l-istess prijorità. F'dan il-każ, se jintuża l-mekkaniżmu
RR għall-ippjanar tat-tnedija fost dawn il-kompiti.
Għalhekk naslu għal żewġ regoli bażiċi għall-MLFQ:

  • Regola 1: Jekk prijorità(A) > Prijorità(B), il-kompitu A jibda (B mhux se)
  • Regola 2: Jekk prijorità(A) = Prijorità(B), A&B jibdew jużaw RR

Ibbażat fuq dan ta’ hawn fuq, l-elementi ewlenin għall-ippjanar ta’ MLFQ huma
huma prijoritajiet. Minflok tagħti prijorità fissa lil kull wieħed
kompitu, MLFQ jibdel il-prijorità tiegħu skond l-imġieba osservata.
Pereżempju, jekk kompitu jieqaf kontinwament mis-CPU waqt li qed jistenna l-input tat-tastiera,
MLFQ se żżomm il-prijorità tal-proċess għolja għax hekk
proċess interattiv għandu jaħdem. Jekk, għall-kuntrarju, il-kompitu huwa kontinwament u
huwa CPU intensiv għal perjodu twil, MLFQ se jiddegradaha
prijorità. Għalhekk, MLFQ se jistudja l-imġieba tal-proċessi fiż-żmien li jkunu qed jaħdmu.
u uża mgieba.
Ejja nġibu eżempju ta' kif jistgħu jidhru l-kjuwijiet f'xi punt
ħin u mbagħad ikollok xi ħaġa bħal din:
Sistemi Operattivi: Tliet Biċċiet Faċli. Parti 5: Ippjanar: Kju ta' Feedback f'Livelli Multipli (traduzzjoni)

F'din l-iskema, 2 proċessi A u B huma fil-kju bl-ogħla prijorità. Proċess
C jinsab x'imkien fin-nofs, u l-proċess D jinsab fl-aħħar nett tal-kju. Skond dan ta 'hawn fuq
deskrizzjonijiet tal-algoritmu MLFQ, l-iskeder se jesegwixxi biss kompiti bl-ogħla
prijorità skont RR, u l-kompiti C, D se jkunu bla xogħol.
Naturalment, snapshot statiku mhux se jagħti stampa sħiħa ta 'kif jaħdem MLFQ.
Huwa importanti li tifhem eżattament kif l-istampa tinbidel maż-żmien.

Tentattiv 1: Kif tibdel il-prijorità

F'dan il-punt, trid tiddeċiedi kif l-MLFQ se jibdel il-livell ta' prijorità
kompitu (u għalhekk il-pożizzjoni tal-kompitu fil-kju) matul iċ-ċiklu tal-ħajja tiegħu. Għal
ta 'dan, għandek bżonn li wieħed iżomm f'moħħu l-fluss tax-xogħol: ċertu ammont
ħidmiet interattivi b'ħinijiet qosra ta' tħaddim (u għalhekk rilaxx frekwenti
CPU) u diversi kompiti twal li jużaw is-CPU l-ħin kollu tax-xogħol tagħhom, filwaqt li
il-ħin tar-rispons għal kompiti bħal dawn mhuwiex importanti. U għalhekk tista 'tagħmel l-ewwel tentattiv
timplimenta l-algoritmu MLFQ bir-regoli li ġejjin:

  • Regola 3: Meta biċċa xogħol tidħol fis-sistema, titqiegħed fil-kju bl-ogħla
  • prijorità.
  • Regola 4a: Jekk kompitu juża t-tieqa tal-ħin kollu tiegħu, allura dan
  • il-prijorità titbaxxa.
  • Regola 4b: Jekk Task jirrilaxxa s-CPU qabel ma tiskadi t-tieqa tal-ħin tiegħu, allura dan
  • jibqa’ bl-istess prijorità.

Eżempju 1: Kompitu uniku fit-tul

Kif tistgħu taraw f'dan l-eżempju, il-kompitu fid-dħul huwa stabbilit bl-ogħla
prijorità. Wara tieqa ta 'żmien ta' 10ms, il-proċess jiġi degradat bi prijorità.
skedar. Wara t-tieqa tal-ħin li jmiss, il-kompitu huwa finalment degradat għal
l-aktar prijorità baxxa fis-sistema, fejn tibqa’.
Sistemi Operattivi: Tliet Biċċiet Faċli. Parti 5: Ippjanar: Kju ta' Feedback f'Livelli Multipli (traduzzjoni)

Eżempju 2: Qablet biċċa xogħol qasira

Issa ejja naraw eżempju ta' kif l-MLFQ se jipprova javviċina l-SJF. F'dak
eżempju, żewġ kompiti: A, li huwa kompitu fit-tul kontinwament
jokkupa CPU u B, li huwa kompitu interattiv qasir. Ejja ngħidu
li A kien diġà qed jaħdem għal xi żmien sa meta wasal il-kompitu B.
Sistemi Operattivi: Tliet Biċċiet Faċli. Parti 5: Ippjanar: Kju ta' Feedback f'Livelli Multipli (traduzzjoni)

Din il-grafika turi r-riżultati tax-xenarju. Kompitu A, bħal kull kompitu,
l-użu tas-CPU kien fil-qiegħ nett. Il-Kompitu B jasal fil-ħin T=100 u se
jitqiegħed fil-kju ta' l-ogħla prijorità. Peress li l-ħin tat-tħaddim huwa qasir,
se jitlesta qabel ma jilħaq l-aħħar kju.

Minn dan l-eżempju, għandek tifhem l-għan ewlieni tal-algoritmu: peress li l-algoritmu ma jagħmilx
jaf biċċa xogħol twila jew qasira, allura l-ewwel nett jassumi li l-kompitu
qasira u tagħtiha l-ogħla prijorità. Jekk huwa verament biċċa xogħol qasira, allura
se tesegwixxi malajr, inkella jekk tkun biċċa xogħol twila se timxi bil-mod
fil-prijorità isfel u dalwaqt se tipprova li hi tabilħaqq biċċa xogħol twila li ma
teħtieġ rispons.

Eżempju 3: Xi ngħidu dwar I/O?

Issa ejja nħarsu lejn eżempju I/O. Kif iddikjarat fir-regola 4b,
jekk proċess jirrilaxxa l-proċessur mingħajr ma jkun uża għal kollox il-ħin tal-proċessur tiegħu,
imbagħad jibqa’ fl-istess livell ta’ prijorità. L-intenzjoni ta 'din ir-regola hija pjuttost sempliċi.
- jekk ix-xogħol interattiv iwettaq ħafna I/O, pereżempju, stennija
mill-keystrokes tal-utent jew il-maws, tali kompitu se jeħles lill-proċessur
qabel it-tieqa allokata. Ma nixtiequx inħallu barra tali kompitu prijoritarju,
u b’hekk tibqa’ fl-istess livell.
Sistemi Operattivi: Tliet Biċċiet Faċli. Parti 5: Ippjanar: Kju ta' Feedback f'Livelli Multipli (traduzzjoni)

Dan l-eżempju juri kif l-algoritmu jaħdem ma 'proċessi bħal dawn - kompitu interattiv B, li jeħtieġ biss is-CPU għal 1ms qabel ma jeżegwixxi
Proċess I/O u xogħol twil A, li juża s-CPU il-ħin kollu.
L-MLFQ iżomm il-proċess B fl-ogħla prijorità hekk kif ikompli
rilaxx is-CPU. Jekk B huwa kompitu interattiv, allura l-algoritmu f'dan il-każ ikun laħaq
l-għan tiegħu huwa li tniedi ħidmiet interattivi malajr.

Problemi bl-algoritmu MLFQ attwali

Fl-eżempji preċedenti, bnejna verżjoni bażika tal-MLFQ. U jidher li hu
jagħmel xogħolha tajjeb u ġust, u jqassam il-ħin tas-CPU b'mod ġust bejniethom
kompiti twal u li jippermettu kompiti qosra jew kompiti li huma aċċessati ħafna
għal I/O biex tipproċessa malajr. Sfortunatament, dan l-approċċ fih diversi
problemi serji.
L-ewwelnett, il-problema tal-ġuħ: jekk is-sistema se jkollha ħafna interattivi
kompiti, huma se jikkunsmaw il-ħin kollu tas-CPU u għalhekk mhux twil wieħed
il-kompitu mhux se jkollu ċans li jiġi eżegwit (huma bil-ġuħ).

It-tieni nett, utenti intelliġenti jistgħu jiktbu l-programmi tagħhom sabiex
iqarraq l-iskeder. Il-qerq jinsab li tagħmel xi ħaġa sabiex tisforza
Scheduler biex jagħti lill-proċess aktar ħin tas-CPU. L-algoritmu li
deskritt hawn fuq huwa pjuttost vulnerabbli għal attakki bħal dawn: qabel it-tieqa tal-ħin hija prattikament
fuq, għandek bżonn twettaq operazzjoni I / O (għal xi wħud, irrispettivament minn liema fajl)
u b'hekk tillibera s-CPU. Imġieba bħal din tippermettilek tibqa 'fl-istess
il-kju innifsu u għal darb'oħra tikseb persentaġġ akbar ta 'ħin CPU. Jekk isir
dan huwa korrett (eż. ħaddem 99% tal-ħin tat-tieqa qabel ma toħroġ is-CPU),
kompitu bħal dan jista 'sempliċement jimmonopolizza l-proċessur.

Fl-aħħarnett, programm jista 'jbiddel l-imġieba tiegħu maż-żmien. Dawk il-kompiti
li użaw is-CPU jistgħu jsiru interattivi. Fl-eżempju tagħna, simili
ħidmiet mhux se jirċievu trattament xieraq mill-iskedatur, bħal oħrajn
kompiti interattivi (oriġinali).

Mistoqsija lill-udjenza: liema attakki fuq l-iskedar jistgħu jsiru fid-dinja moderna?

Tentattiv 2: Żid il-prijorità

Ejja nippruvaw nibdlu r-regoli u naraw jekk nistgħux nevitaw problemi bihom
ġuħ. X'nistgħu nagħmlu biex niżguraw li relatati
Il-kompiti tas-CPU se jiksbu l-ħin tagħhom (anke jekk mhux twal).
Bħala soluzzjoni sempliċi għall-problema, tista 'tissuġġerixxi perjodikament
tiżdied il-prijorità tal-kompiti kollha bħal dawn fis-sistema. Hemm ħafna modi
biex niksbu dan, ejja nippruvaw nimplimentaw xi ħaġa sempliċi bħala eżempju: ittraduċi
il-kompiti kollha f'daqqa għall-ogħla prijorità, għalhekk ir-regola l-ġdida:

  • Regola5: Wara xi perjodu S, ittrasferixxi l-kompiti kollha fis-sistema għall-ogħla kju.

Ir-regola l-ġdida tagħna ssolvi żewġ problemi f'daqqa. L-ewwel, il-proċessi
garantit li ma tmutx bil-ġuħ: il-kompiti fl-ogħla kju se jaqsmu
ħin tal-proċessur skond l-algoritmu RR u għalhekk il-proċessi kollha se jirċievu
ħin tal-proċessur. It-tieni, jekk xi proċess li użat qabel
il-proċessur biss isir interattiv, se jibqa 'fil-kju bl-ogħla
prijorità wara li tirċievi spinta għall-ogħla prijorità darba.
Ikkunsidra eżempju. F'dan ix-xenarju, ikkunsidra proċess wieħed bl-użu
Sistemi Operattivi: Tliet Biċċiet Faċli. Parti 5: Ippjanar: Kju ta' Feedback f'Livelli Multipli (traduzzjoni)

CPU u żewġ proċessi interattivi u qosra. Fuq ix-xellug fil-figura, il-figura turi l-imġieba mingħajr spinta ta 'prijorità, u b'hekk il-kompitu fit-tul jibda jmur bil-ġuħ wara li jaslu żewġ kompiti interattivi fuq is-sistema. Fil-figura fuq il-lemin, kull 50ms titwettaq żieda ta 'prijorità u għalhekk il-proċessi kollha huma ggarantiti li jirċievu ħin tal-proċessur u jinbdew perjodikament. 50ms f'dan il-każ jittieħed bħala eżempju, fir-realtà dan in-numru huwa kemmxejn ogħla.
Huwa ovvju li ż-żieda tal-ħin ta 'żieda perjodiku S twassal għal
mistoqsija loġika: liema valur għandu jiġi stabbilit? Waħda mill-mistħoqqa
inġiniera tas-sistemi John Ousterhout irrefera għal kwantitajiet simili fis-sistemi bħala voo-doo
kostanti, peress li b'xi mod kienu jeħtieġu maġija sewda għall-korretta
espożizzjoni. U, sfortunatament, S għandha togħma bħal din. Jekk issettja l-valur ukoll
kbar - kompiti twal se jmutu bil-ġuħ. U jekk issettjah baxx wisq,
ħidmiet interattivi mhux se jirċievu ħin tas-CPU xieraq.

Tentattiv 3: Kontabilità Aħjar

Issa għandna problema oħra xi nsolvu: kif le
jippermettu li iqarrqu Scheduler tagħna? Il-ħatja għal din il-possibbiltà huma
regoli 4a, 4b li jippermettu li xogħol iżomm il-prijorità tiegħu billi jillibera l-proċessur
qabel l-iskadenza taż-żmien allokat. Kif tittrattaha?
Is-soluzzjoni f'dan il-każ tista 'titqies bħala kontabilità aħjar tal-ħin tas-CPU fuq kull wieħed
livell MLFQ. Minflok tinsa l-ħin li uża l-programm
proċessur għall-intervall allokat, għandek tqis u ssejvjah. Wara
il-proċess ikun uża l-ħin allokat tiegħu, għandu jiġi degradat għall-ieħor
livell ta’ prijorità. Issa ma jimpurtax kif il-proċess se juża l-ħin tiegħu - kif
kontinwament kompjuters fuq il-proċessur jew bħala sett ta 'sejħiet. Għalhekk,
ir-regola 4 għandha tinkiteb mill-ġdid kif ġej:

  • Regola4: Wara li kompitu jkun uża l-ħin allokat tiegħu fil-kju attwali (irrispettivament minn kemm-il darba ħeles is-CPU), il-prijorità ta 'tali kompitu titnaqqas (jiċċaqlaq 'l isfel fil-kju).

Ejja nħarsu lejn eżempju:
Sistemi Operattivi: Tliet Biċċiet Faċli. Parti 5: Ippjanar: Kju ta' Feedback f'Livelli Multipli (traduzzjoni)»

Iċ-ċifra turi x'jiġri jekk tipprova tqarraq lill-iskeduler bħal
kieku kien bir-regoli preċedenti 4a, 4b ikun ir-riżultat fuq ix-xellug. Bil-ġdid
ir-regola hija r-riżultat huwa fuq il-lemin. Qabel il-protezzjoni, kwalunkwe proċess jista 'jsejjaħ I/O qabel it-tlestija u
għalhekk jiddominaw is-CPU, wara li jippermettu l-protezzjoni, irrispettivament mill-imġieba
I/O, hu xorta se jinżel fil-kju u b'hekk ma jkunx jista' b'mod diżonest
tieħu f'idejha r-riżorsi tas-CPU.

Titjib MLFQ u kwistjonijiet oħra

Bit-titjib t'hawn fuq, jinqalgħu problemi ġodda: waħda mill-ewlenin
mistoqsijiet - kif tipparametrizza tali scheduler? Dawk. Kemm għandu jkun
kjuwijiet? X'għandu jkun id-daqs tat-tieqa tal-programm fil-kju? Kif
programm ta spiss għandu jkun prijoritizzat biex jiġi evitat il-ġuħ u
biex tqis il-bidla fl-im;iba tal-programm? Għal dawn il-mistoqsijiet, m'hemm l-ebda sempliċi
rispons u esperimenti biss b'tagħbijiet u konfigurazzjoni sussegwenti
Scheduler jista 'jwassal għal xi bilanċ sodisfaċenti.

Pereżempju, ħafna mill-implimentazzjonijiet tal-MLFQ jippermettulek tassenja differenti
slots tal-ħin għal kjuwijiet differenti. Kjuwijiet ta 'prijorità għolja huma normalment
intervalli qosra. Dawn il-kjuwijiet jikkonsistu f'kompiti interattivi,
bidla bejn liema hija pjuttost sensittiva u għandha tieħu 10 jew inqas
Sinjorina. B'kuntrast, kjuwijiet ta 'prijorità baxxa jikkonsistu f'kompiti fit-tul li jużaw
CPU. U f'dan il-każ, intervalli ta 'żmien twal joqogħdu tajjeb ħafna (100ms).
Sistemi Operattivi: Tliet Biċċiet Faċli. Parti 5: Ippjanar: Kju ta' Feedback f'Livelli Multipli (traduzzjoni)

F'dan l-eżempju, hemm 2 kompiti li ħadmu fil-kju ta' prijorità għolja 20
ms maqsuma fi 10ms twieqi. 40ms fil-kju tan-nofs (tieqa ta '20ms) u fil-kju ta' prijorità baxxa
tieqa tal-ħin tal-kju saret 40ms fejn il-kompiti temmew ix-xogħol tagħhom.

L-implimentazzjoni ta' MLFQ fis-Solaris OS hija klassi ta' time-shared schedulers.
L-iskeder se jipprovdi sett ta' tabelli li jiddefinixxu eżattament kif għandu
tibdel il-prijorità tal-proċess matul il-ħajja tiegħu, x'għandu jkun id-daqs
tieqa li għandha tiġi allokata u kemm-il darba tgħolli l-prijoritajiet tal-kompiti. Amministratur
is-sistema tista' tinteraġixxi ma' din it-tabella u tagħmel l-iskedatur iġib ruħu
differenti. B'mod awtomatiku, din it-tabella għandha 60 kju b'żieda gradwali
daqs tat-tieqa minn 20ms (prijorità għolja) għal diversi mijiet ta' ms (prijorità l-aktar baxxa), u
ukoll bl-ispinta tal-kompiti kollha darba kull sekonda.

Schedulers MLFQ oħra ma jużawx tabella jew xi speċifika
ir-regoli li huma deskritti f'dan il-kapitolu, għall-kuntrarju, huma jikkalkulaw prijoritajiet bl-użu
formuli matematiċi. Per eżempju, l-iskedar fi FreeBSD juża formula għal
tikkalkula l-prijorità tal-kompitu attwali bbażata fuq kemm il-proċess
uża s-CPU. Barra minn hekk, l-użu tas-CPU jitħassar maż-żmien, u għalhekk
Għalhekk, iż-żieda ta' prijorità hija kemmxejn differenti minn dik deskritta hawn fuq. Dan huwa minnu
imsejħa algoritmi ta' decay. Mill-verżjoni 7.1, FreeBSD juża l-ULE scheduler.

Fl-aħħarnett, ħafna pjanifikaturi għandhom karatteristiċi oħra. Per eżempju, xi wħud
Schedulers jirriservaw livelli ogħla għat-tħaddim tas-sistema operattiva u għalhekk
Għalhekk, l-ebda proċess tal-utent ma jista 'jikseb l-ogħla prijorità
sistema. Xi sistemi jippermettulek tagħti pariri biex tgħin
l-iskedar biex jipprijoritizza b'mod korrett. Per eżempju, bl-użu tal-kmand nice
tista 'żżid jew tnaqqas il-prijorità ta' biċċa xogħol u b'hekk iżżid jew tnaqqas
tnaqqas iċ-ċansijiet tal-programm għall-ħin tas-CPU.

MLFQ: Sommarju

Aħna ddeskrivejna approċċ ta' ppjanar imsejjaħ MLFQ. Ismu
konkluż fil-prinċipju tal-operat - għandu diversi kjuwijiet u juża feedback
biex tipprijoritizza kompitu.
Il-forma finali tar-regoli se tkun kif ġej:

  • Regola1: Jekk prijorità(A) > Prijorità(B), il-kompitu A jibda jaħdem (B mhux se)
  • Regola2: Jekk prijorità(A) = Prijorità(B), A&B jibdew jużaw RR
  • Regola3: Meta biċċa xogħol tidħol fis-sistema, titqiegħed fil-kju tal-ogħla prijorità.
  • Regola4: Wara li kompitu jkun uża l-ħin allokat tiegħu fil-kju attwali (irrispettivament minn kemm-il darba ħeles is-CPU), il-prijorità ta 'tali kompitu titnaqqas (jiċċaqlaq 'l isfel fil-kju).
  • Regola5: Wara xi perjodu S, ittrasferixxi l-kompiti kollha fis-sistema għall-ogħla kju.

MLFQ huwa interessanti għar-raġuni li ġejja - minflok ma teħtieġ għarfien dwar
natura tal-kompitu bil-quddiem, l-algoritmu jitgħallem l-imġieba passat tal-kompitu u settijiet
prijoritajiet kif xieraq. Għalhekk, jipprova joqgħod fuq żewġ siġġijiet f'daqqa - biex jikseb prestazzjoni għal ħidmiet żgħar (SJF, STCF) u jmexxi b'mod onest dawk twal,
Impjiegi tat-tagħbija tas-CPU. Għalhekk, ħafna sistemi, inklużi BSD u d-derivattivi tagħhom,
Solaris, Windows, Mac jużaw xi forma ta 'algoritmu bħala l-iskedar
MLFQ bħala linja bażi.

Materjali addizzjonali:

  1. manpages.debian.org/stretch/manpages/sched.7.en.html
  2. en.wikipedia.org/wiki/Scheduling_(informatika)
  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

Sors: www.habr.com

Żid kumment