Awọn ọna ṣiṣe: Awọn nkan Rọrun mẹta. Apá 5: Ètò: Titẹ Ìdáhùn Ìpele púpọ̀ (itumọ̀)

Ifihan si Awọn ọna ṣiṣe

Hey Habr! Emi yoo fẹ lati mu si akiyesi rẹ lẹsẹsẹ awọn nkan-awọn itumọ ti awọn iwe ti o nifẹ ninu ero mi - OSTEP. Ohun elo yii n jiroro ni jinna iṣẹ ti awọn ọna ṣiṣe bi unix, eyun, ṣiṣẹ pẹlu awọn ilana, awọn oluṣeto oriṣiriṣi, iranti, ati awọn paati ti o jọra miiran ti o jẹ OS ode oni. O le wo atilẹba ti gbogbo awọn ohun elo nibi nibi. Jọwọ ṣakiyesi pe a ṣe itumọ naa lainiṣiṣẹ (ni ọfẹ), ṣugbọn Mo nireti pe MO ni itumọ gbogbogbo mọ.

Iṣẹ lab lori koko yii le ṣee ri nibi:

Awọn ẹya miiran:

O tun le ṣayẹwo ikanni mi ni telegram =)

Eto: Olona-Level esi isinyi

Ninu iwe-ẹkọ yii, a yoo sọrọ nipa awọn iṣoro ti idagbasoke ọkan ninu awọn ọna olokiki julọ si
igbogun, eyi ti a npe ni Olona-Level esi isinyi (MLFQ). Oluṣeto MLFQ ni akọkọ ṣe apejuwe ni 1962 nipasẹ Fernando J. Corbató ninu eto ti a pe ni
Eto Pipin Akoko Ibaramu (CTSS). Awọn iṣẹ wọnyi (pẹlu awọn iṣẹ nigbamii lori
Multics) ni atẹle ni yiyan fun Aami Eye Turing kan. Awọn iṣeto wà
lẹhinna ilọsiwaju ati gba irisi ti o le rii tẹlẹ ninu
diẹ ninu awọn igbalode awọn ọna šiše.

Algoridimu MLFQ n gbiyanju lati yanju awọn iṣoro agbekọja ipilẹ 2.
Ni ibere, o gbìyànjú lati mu akoko iyipada pọ si, eyiti, bi a ti sọrọ ninu iwe-ẹkọ ti tẹlẹ, ti wa ni iṣapeye nipasẹ ọna ti o bẹrẹ ni ori ti isinyi julọ.
kukuru awọn iṣẹ-ṣiṣe. Sibẹsibẹ, OS ko mọ igba pipẹ eyi tabi ilana naa yoo ṣiṣẹ, ati eyi
imọ pataki fun iṣẹ ti SJF, awọn algoridimu STCF. Ẹlẹẹkeji, MLFQ gbiyanju
jẹ ki eto naa ṣe idahun fun awọn olumulo (fun apẹẹrẹ, fun awọn ti o joko ati
wiwo iboju lakoko ti o nduro fun iṣẹ-ṣiṣe lati pari) ati nitorinaa dinku akoko naa
esi. Laanu, awọn algoridimu bi RR dinku akoko idahun, ṣugbọn
ni ipa buburu lori iwọn akoko iyipada. Nitorinaa iṣoro wa: Bii o ṣe ṣe apẹrẹ
oluṣeto ti yoo pade awọn ibeere wa ati ni akoko kanna ko mọ nkankan nipa
iseda ti ilana, ni apapọ? Bawo ni oluṣeto le kọ awọn abuda ti awọn iṣẹ-ṣiṣe,
eyiti o ṣe ifilọlẹ ati nitorinaa ṣe awọn ipinnu ṣiṣe eto to dara julọ?

Kokoro ti iṣoro naa: Bii o ṣe le gbero eto awọn iṣẹ ṣiṣe laisi imọ pipe?
Bii o ṣe le ṣe apẹrẹ oluṣeto ti o dinku akoko idahun nigbakanna
fun awọn iṣẹ-ṣiṣe ibaraẹnisọrọ ati ni akoko kanna dinku akoko iyipada lai mọ
imọ ti akoko ipaniyan iṣẹ-ṣiṣe?

Akiyesi: ẹkọ lati awọn iṣẹlẹ iṣaaju

MLFQ isinyi jẹ ẹya o tayọ apẹẹrẹ ti a eto ti o ti wa ni oṣiṣẹ lori
Awọn iṣẹlẹ ti o kọja lati ṣe asọtẹlẹ ọjọ iwaju. Iru awọn ọna bẹ nigbagbogbo
ti a rii ni OS (Ati ọpọlọpọ awọn ẹka miiran ni imọ-ẹrọ kọnputa, pẹlu awọn ẹka
Awọn asọtẹlẹ ohun elo ati awọn algoridimu caching). Awọn irin-ajo ti o jọra
nfa nigbati awọn iṣẹ-ṣiṣe ni awọn ipele ihuwasi ati pe o jẹ asọtẹlẹ.
Sibẹsibẹ, ọkan yẹ ki o ṣọra pẹlu ilana yii, nitori awọn asọtẹlẹ jẹ rọrun pupọ.
le yipada lati jẹ aṣiṣe ati mu eto naa lati ṣe awọn ipinnu ti o buru ju
yoo jẹ laisi imọ rara.

MLFQ: Awọn ofin ipilẹ

Wo awọn ofin ipilẹ ti MLFQ algorithm. Ati biotilejepe awọn imuse ti yi alugoridimu
ọpọlọpọ wa, awọn ọna ipilẹ jẹ iru.
Ninu imuse ti a yoo ronu, MLFQ yoo ni pupọ
lọtọ queues, kọọkan ti eyi ti yoo ni kan ti o yatọ ayo . Nigbakugba,
iṣẹ-ṣiṣe ti o ṣetan fun ipaniyan wa ni isinyi kanna. MLFQ nlo awọn ohun pataki,
lati pinnu iru iṣẹ-ṣiṣe lati ṣiṣẹ fun ipaniyan, i.e. iṣẹ-ṣiṣe pẹlu ti o ga
ayo (ṣiṣe kan lati awọn ti isinyi pẹlu ga ni ayo) yoo wa ni se igbekale ni akọkọ
isinyi.
Dajudaju, nibẹ ni o le wa siwaju ju ọkan-ṣiṣe ni kan pato ti isinyi, rẹ
ki won yoo ni kanna ni ayo. Ni idi eyi, ẹrọ naa yoo lo
RR fun ifilọlẹ ifilọlẹ laarin awọn iṣẹ ṣiṣe wọnyi.
Nitorinaa a de awọn ofin ipilẹ meji fun MLFQ:

  • Ilana 1: Ti o ba jẹ pataki (A)> ayo (B), iṣẹ-ṣiṣe A yoo ṣiṣẹ (B kii yoo ṣiṣẹ)
  • Ofin2: Ti o ba jẹ pataki (A) = ayo ​​(B), A&B bẹrẹ ni lilo RR

Da lori eyi ti o wa loke, awọn eroja pataki lati gbero MLFQ jẹ
ni ayo . Dipo fifun ni ayo ti o wa titi si kọọkan
iṣẹ-ṣiṣe, MLFQ yipada ayo rẹ da lori ihuwasi ti a ṣe akiyesi.
Fun apẹẹrẹ, ti iṣẹ-ṣiṣe kan ba duro nigbagbogbo lori Sipiyu lakoko ti o nduro fun titẹ sii keyboard,
MLFQ yoo jẹ ki ilana ni pataki ga nitori iyẹn ni
ilana ibaraẹnisọrọ yẹ ki o ṣiṣẹ. Ti, ni ilodi si, iṣẹ naa jẹ nigbagbogbo ati
jẹ aladanla Sipiyu fun igba pipẹ, MLFQ yoo dinku rẹ
ayo kan. Nitorinaa, MLFQ yoo ṣe iwadi ihuwasi ti awọn ilana lakoko ti wọn nṣiṣẹ
ati lo awọn iwa.
Jẹ ki a fa apẹẹrẹ ti kini awọn ila le dabi ni aaye kan
akoko ati lẹhinna o gba nkan bii eyi:
Awọn ọna ṣiṣe: Awọn nkan Rọrun mẹta. Apá 5: Ètò: Titẹ Ìdáhùn Ìpele púpọ̀ (itumọ̀)

Ninu ero yii, awọn ilana 2 A ati B wa ni isinyi pẹlu pataki ti o ga julọ. Ilana
C wa ni ibikan ni aarin, ati ilana D wa ni opin ti isinyi. Ni ibamu si awọn loke
awọn apejuwe ti MLFQ algorithm, oluṣeto yoo ṣe awọn iṣẹ-ṣiṣe nikan pẹlu ga julọ
ayo gẹgẹ bi RR, ati awọn iṣẹ-ṣiṣe C, D yoo jẹ jade ti ise.
Nipa ti, aworan aimi kan kii yoo fun aworan pipe ti bii MLFQ ṣe n ṣiṣẹ.
O ṣe pataki lati ni oye gangan bi aworan ṣe yipada lori akoko.

Igbiyanju 1: Bii o ṣe le yi ayo pada

Ni aaye yii, o nilo lati pinnu bi MLFQ yoo ṣe yi ipele pataki pada
iṣẹ-ṣiṣe (ati bayi ipo ti iṣẹ-ṣiṣe ni isinyi) lakoko igbesi aye rẹ. Fun
ti eyi, o nilo lati tọju ni lokan bisesenlo: iye kan
awọn iṣẹ ṣiṣe ibaraenisepo pẹlu awọn akoko ṣiṣe kukuru (ati nitorinaa idasilẹ loorekoore
Sipiyu) ati ọpọlọpọ awọn iṣẹ ṣiṣe gigun ti o lo Sipiyu gbogbo akoko iṣẹ wọn, lakoko
akoko idahun fun iru awọn iṣẹ-ṣiṣe ko ṣe pataki. Ati nitorinaa o le ṣe igbiyanju akọkọ
Mu algorithm MLFQ ṣiṣẹ pẹlu awọn ofin wọnyi:

  • Ilana 3: Nigbati iṣẹ kan ba wọ inu eto naa, a gbe e sinu isinyi pẹlu giga julọ
  • ayo .
  • Rule4a: Ti iṣẹ-ṣiṣe kan ba lo gbogbo window akoko rẹ, lẹhinna o
  • ayo ti wa ni lo sile.
  • Rule4b: Ti Iṣẹ kan ba tu Sipiyu silẹ ṣaaju window akoko rẹ dopin, lẹhinna o
  • si maa wa pẹlu kanna ni ayo.

Apẹẹrẹ 1: Iṣẹ-ṣiṣe pipẹ-ẹyọkan

Gẹgẹbi o ti le rii ninu apẹẹrẹ yii, iṣẹ-ṣiṣe ni gbigba ti ṣeto pẹlu ti o ga julọ
ayo . Lẹhin window akoko 10ms, ilana naa ti dinku ni ayo.
oluṣeto. Lẹhin window ti o tẹle, iṣẹ-ṣiṣe ti wa ni nipari downgraded si
ni asuwon ti ayo ninu awọn eto, ibi ti o si maa wa.
Awọn ọna ṣiṣe: Awọn nkan Rọrun mẹta. Apá 5: Ètò: Titẹ Ìdáhùn Ìpele púpọ̀ (itumọ̀)

Apẹẹrẹ 2: Ti gbe iṣẹ-ṣiṣe kukuru kan

Bayi jẹ ki a wo apẹẹrẹ ti bii MLFQ yoo ṣe gbiyanju lati sunmọ SJF. Ninu iyen
apẹẹrẹ, awọn iṣẹ-ṣiṣe meji: A, ti o jẹ iṣẹ-ṣiṣe pipẹ nigbagbogbo
occupying Sipiyu ati B, eyi ti o jẹ kukuru kan ibanisọrọ iṣẹ-ṣiṣe. Ká sọ pé
pe A ti nṣiṣẹ tẹlẹ fun igba diẹ nipasẹ akoko iṣẹ-ṣiṣe B ti de.
Awọn ọna ṣiṣe: Awọn nkan Rọrun mẹta. Apá 5: Ètò: Titẹ Ìdáhùn Ìpele púpọ̀ (itumọ̀)

Aworan yii fihan awọn abajade ti oju iṣẹlẹ naa. Iṣẹ A, bii iṣẹ eyikeyi,
lilo awọn Sipiyu wà ni gan isalẹ. Iṣẹ-ṣiṣe B yoo de ni akoko T=100 ati pe yoo
gbe ni ga ni ayo isinyi. Niwọn igba ti akoko ṣiṣe jẹ kukuru,
yoo pari ṣaaju ki o to de isinyi ti o kẹhin.

Lati apẹẹrẹ yii, o yẹ ki o loye ibi-afẹde akọkọ ti algorithm: niwon algorithm ko ṣe
mọ iṣẹ-ṣiṣe gigun tabi kukuru kan, lẹhinna akọkọ ti gbogbo rẹ dawọle pe iṣẹ naa
kukuru ati fun ni ayo to ga julọ. Ti o ba jẹ iṣẹ-ṣiṣe kukuru kan gaan, lẹhinna
yoo ṣiṣẹ ni kiakia, bibẹẹkọ ti o ba jẹ iṣẹ pipẹ yoo lọ laiyara
ni ayo isalẹ ati ki o yoo laipe fi mule pe o jẹ nitootọ a gun-ṣiṣe ti ko
nbeere idahun.

Apeere 3: Kini nipa I/O?

Bayi jẹ ki a wo apẹẹrẹ I/O kan. Gẹgẹbi a ti sọ ni ofin 4b,
ti ilana kan ba tu ero isise naa silẹ laisi lilo ni kikun akoko ero isise rẹ,
lẹhinna o wa ni ipele ayo kanna. Idi ti ofin yii rọrun pupọ.
- ti iṣẹ ibanisọrọ ba ṣe ọpọlọpọ awọn iṣẹ I / O, fun apẹẹrẹ, nduro
lati awọn bọtini bọtini olumulo tabi Asin, iru iṣẹ kan yoo gba ero isise naa laaye
ṣaaju window ti a pin. A ko fẹ lati fi iru iṣẹ-ṣiṣe pataki kan silẹ,
ati bayi o yoo wa nibe ni ipele kanna.
Awọn ọna ṣiṣe: Awọn nkan Rọrun mẹta. Apá 5: Ètò: Titẹ Ìdáhùn Ìpele púpọ̀ (itumọ̀)

Apẹẹrẹ yii fihan bi algorithm yoo ṣe ṣiṣẹ pẹlu iru awọn ilana bẹ - iṣẹ-ṣiṣe ibaraenisepo B, eyiti o nilo Sipiyu nikan fun 1ms ṣaaju ṣiṣe.
I / O ilana ati ki o kan gun ise A, eyi ti o nlo Sipiyu gbogbo awọn akoko.
MLFQ ntọju ilana B ni ipo ti o ga julọ bi o ti n tẹsiwaju lati
tu Sipiyu. Ti B jẹ iṣẹ-ṣiṣe ibaraẹnisọrọ, lẹhinna algorithm ninu ọran yii ti de
Idi rẹ ni lati ṣe ifilọlẹ awọn iṣẹ-ṣiṣe ibaraẹnisọrọ ni kiakia.

Awọn iṣoro pẹlu algorithm MLFQ lọwọlọwọ

Ninu awọn apẹẹrẹ ti tẹlẹ, a ti kọ ẹya ipilẹ ti MLFQ. Ati pe o dabi ẹnipe o
ṣe awọn oniwe-ise daradara ati iṣẹtọ, pin Sipiyu akoko iṣẹtọ laarin
awọn iṣẹ-ṣiṣe gigun ati gbigba awọn iṣẹ-ṣiṣe kukuru tabi awọn iṣẹ-ṣiṣe ti o wọle si pupọ
si I/O lati ṣe ilana ni kiakia. Laanu, ọna yii ni ọpọlọpọ ninu
pataki isoro.
Ni ibere, iṣoro ti ebi: ti eto naa yoo ni ọpọlọpọ awọn ibaraẹnisọrọ
awọn iṣẹ-ṣiṣe, won yoo run gbogbo awọn Sipiyu akoko ati bayi ko kan nikan gun
iṣẹ naa kii yoo ni aye lati pa wọn (ebi npa wọn).

Ẹlẹẹkeji, smart olumulo le kọ wọn eto ki
aṣiwere oluṣeto. Ẹtan naa wa ni ṣiṣe ohun kan lati fi ipa mu
oluṣeto lati fun ilana naa ni akoko Sipiyu diẹ sii. Algoridimu ti o
ti salaye loke jẹ ipalara pupọ si iru awọn ikọlu: ṣaaju ki window akoko jẹ adaṣe
lori, o nilo lati ṣe iṣẹ I / O kan (si diẹ ninu awọn, laibikita faili wo)
ati bayi laaye soke Sipiyu. Iru iwa bẹẹ yoo gba ọ laaye lati duro ni kanna
awọn ti isinyi ara ati lẹẹkansi gba kan ti o tobi ogorun ti Sipiyu akoko. Ti o ba ṣe
Eyi jẹ deede (fun apẹẹrẹ ṣiṣe 99% ti akoko window ṣaaju idasilẹ Sipiyu),
iru iṣẹ kan le jiroro ni monopolize ero isise.

Ni ipari, eto kan le yi ihuwasi rẹ pada ni akoko pupọ. Awon ise yen
ti o lo Sipiyu le di ibanisọrọ. Ninu apẹẹrẹ wa, iru
Awọn iṣẹ-ṣiṣe kii yoo gba itọju to dara lati ọdọ oluṣeto, bi awọn miiran yoo ṣe
(atilẹba) ibanisọrọ awọn iṣẹ-ṣiṣe.

Ibeere si awọn olugbo: kini awọn ikọlu lori oluṣeto le ṣee ṣe ni agbaye ode oni?

Igbiyanju 2: Mu pataki sii

Jẹ ki a gbiyanju lati yi awọn ofin pada ki o rii boya a le yago fun awọn iṣoro pẹlu
ebi. Kini a le ṣe lati rii daju pe o ni ibatan
Awọn iṣẹ-ṣiṣe Sipiyu yoo gba akoko wọn (paapaa ti ko ba gun).
Gẹgẹbi ojutu ti o rọrun si iṣoro naa, o le daba ni igbagbogbo
mu ayo ti gbogbo iru awọn iṣẹ-ṣiṣe ninu awọn eto. Awọn ọna pupọ lo wa
lati ṣaṣeyọri eyi, jẹ ki a gbiyanju lati ṣe nkan ti o rọrun bi apẹẹrẹ: tumọ
gbogbo awọn iṣẹ-ṣiṣe ni ẹẹkan si pataki ti o ga julọ, nitorinaa ofin tuntun:

  • Ofin 5: Lẹhin awọn akoko S, gbe gbogbo awọn iṣẹ-ṣiṣe ninu awọn eto si awọn ga isinyi.

Ofin tuntun wa yanju awọn iṣoro meji ni ẹẹkan. Ni akọkọ, awọn ilana
ṣe idaniloju pe ki ebi ma pa: awọn iṣẹ-ṣiṣe ni isinyi ti o ga julọ yoo pin
akoko isise ni ibamu si algorithm RR ati nitorinaa gbogbo awọn ilana yoo gba
Sipiyu akoko. Ẹlẹẹkeji, ti o ba ti diẹ ninu awọn ilana ti o ti lo tẹlẹ
nikan isise di ohun ibanisọrọ, o yoo wa nibe ninu awọn ti isinyi pẹlu ga
ayo lẹhin gbigba a didn si ga ni ayo ni kete ti.
Ẹ jẹ́ ká gbé àpẹẹrẹ kan yẹ̀ wò. Ni oju iṣẹlẹ yii, ronu ilana kan nipa lilo
Awọn ọna ṣiṣe: Awọn nkan Rọrun mẹta. Apá 5: Ètò: Titẹ Ìdáhùn Ìpele púpọ̀ (itumọ̀)

Sipiyu ati meji ibanisọrọ, awọn ilana kukuru. Ni apa osi ni nọmba naa, eeya naa ṣe afihan ihuwasi laisi igbega pataki, ati nitorinaa iṣẹ ṣiṣe pipẹ bẹrẹ lati ebi lẹhin awọn iṣẹ ṣiṣe ibaraenisọrọ meji de lori eto naa. Ninu nọmba ti o wa ni apa ọtun, gbogbo 50ms ni ilọsiwaju pataki ni a ṣe ati nitorinaa gbogbo awọn ilana jẹ iṣeduro lati gba akoko ero isise ati pe yoo bẹrẹ lorekore. 50ms ninu ọran yii ni a mu bi apẹẹrẹ, ni otitọ nọmba yii ga ni itumo.
O ti wa ni han pe awọn afikun ti awọn igbakọọkan jinde akoko S nyorisi si
mogbonwa ibeere: ohun ti iye yẹ ki o wa ṣeto? Ọkan ninu awọn daradara-ti tọ si
Awọn ẹlẹrọ awọn ọna ṣiṣe John Ousterhout tọka si awọn iwọn kanna ni awọn eto bi voo-doo
ibakan, niwon nwọn ni diẹ ninu awọn ọna ti a beere dudu idan fun awọn ti o tọ
ìsírasílẹ̀. Ati, laanu, S ni iru adun kan. Ti o ba ṣeto iye paapaa
ti o tobi - gun awọn iṣẹ-ṣiṣe yoo ebi. Ati pe ti o ba ṣeto si kekere pupọ,
ibanisọrọ awọn iṣẹ-ṣiṣe yoo ko gba to dara Sipiyu akoko.

Igbiyanju 3: Iṣiro to dara julọ

Bayi a ni iṣoro kan diẹ sii lati yanju: bii kii ṣe
gba lati iyanjẹ wa scheduler? Awọn ẹlẹṣẹ fun iṣeeṣe yii jẹ
awọn ofin 4a, 4b ti o fun laaye iṣẹ kan lati tọju ayo rẹ nipa didasilẹ ero isise naa
ṣaaju ipari akoko ti a pin. Bawo ni lati ṣe pẹlu rẹ?
Ojutu ninu ọran yii le jẹ iṣiro ti o dara julọ ti akoko Sipiyu lori ọkọọkan
ipele MLFQ. Dipo ki o gbagbe akoko ti eto naa lo
isise fun awọn pín aarin, o yẹ ki o gba sinu iroyin ki o si fi o. Lẹhin
ilana naa ti lo akoko ti o pin, o yẹ ki o wa ni isalẹ si atẹle
ayo ipele. Bayi ko ṣe pataki bi ilana naa yoo ṣe lo akoko rẹ - bawo ni
nigbagbogbo iširo lori ero isise tabi bi a ṣeto awọn ipe. Bayi,
Ofin 4 yẹ ki o tun kọ bi atẹle:

  • Ofin 4: Lẹhin ti a iṣẹ-ṣiṣe ti lo soke awọn oniwe-soto akoko ninu atojọ isinyi (laiwo ti bi ọpọlọpọ igba ti o laaye Sipiyu), ni ayo ti iru iṣẹ-ṣiṣe kan dinku (o rare si isalẹ awọn ti isinyi).

Jẹ ki a wo apẹẹrẹ:
Awọn ọna ṣiṣe: Awọn nkan Rọrun mẹta. Apá 5: Ètò: Titẹ Ìdáhùn Ìpele púpọ̀ (itumọ̀)»

Nọmba naa fihan ohun ti o ṣẹlẹ ti o ba gbiyanju lati tan oluṣeto bi
ti o ba wa pẹlu awọn ofin ti tẹlẹ 4a, 4b yoo jẹ abajade ni apa osi. Pẹlu titun
Ofin jẹ abajade ti o wa ni apa ọtun. Ṣaaju si aabo, ilana eyikeyi le pe I/O ṣaaju ipari ati
bayi jẹ gaba lori awọn Sipiyu, lẹhin ti muu Idaabobo, lai ti awọn ihuwasi
I/O, oun yoo tun lọ silẹ ni isinyi ati nitorinaa kii yoo ni anfani lati ṣe aiṣotitọ
ya lori Sipiyu oro.

Imudara MLFQ ati awọn ọran miiran

Pẹlu awọn ilọsiwaju ti o wa loke, awọn iṣoro tuntun dide: ọkan ninu awọn akọkọ
Awọn ibeere - bawo ni a ṣe le ṣe parameterize iru oluṣeto kan? Awon. Elo ni o yẹ ki o jẹ
awọn isinyi? Kini o yẹ ki o jẹ iwọn ti window eto laarin isinyi? Bawo
eto yẹ ki o igba wa ni ayo lati yago fun ebi ati
lati ṣe akiyesi iyipada ihuwasi ti eto naa? Si awọn ibeere wọnyi, ko si rọrun
esi ati ki o nikan adanwo pẹlu èyà ati ọwọ iṣeto ni
iṣeto le ja si diẹ ninu awọn iwọntunwọnsi itelorun.

Fun apẹẹrẹ, pupọ julọ awọn imuse MLFQ gba ọ laaye lati fi oriṣiriṣi sọtọ
akoko iho fun yatọ si queues. Ga ni ayo queues ni o wa maa
kukuru awọn aaye arin. Awọn ila wọnyi ni awọn iṣẹ ṣiṣe ibaraenisepo,
yi pada laarin eyi ti o jẹ ohun kókó ati ki o yẹ ki o gba 10 tabi kere si
ms. Ni idakeji, awọn ila pataki-kekere ni awọn iṣẹ ṣiṣe pipẹ ti o lo
Sipiyu. Ati ninu ọran yii, awọn aaye arin igba pipẹ baamu daradara (100ms).
Awọn ọna ṣiṣe: Awọn nkan Rọrun mẹta. Apá 5: Ètò: Titẹ Ìdáhùn Ìpele púpọ̀ (itumọ̀)

Ninu apẹẹrẹ yii, awọn iṣẹ-ṣiṣe 2 wa ti o ti ṣiṣẹ ni isinyi pataki 20
ms pin si 10ms windows. 40ms ni isinyi aarin (windows 20ms) ati ni isinyi pataki kekere
window akoko isinyi di 40ms nibiti awọn iṣẹ ṣiṣe ti pari iṣẹ wọn.

Imuse ti MLFQ ni Solaris OS jẹ kilasi ti awọn oluṣeto pinpin akoko.
Awọn iṣeto yoo pese kan ti ṣeto ti tabili ti o setumo gangan bi o ti yẹ
yi ayo ilana naa pada ni igbesi aye rẹ, kini o yẹ ki o jẹ iwọn
window lati wa ni soto ati bi igba lati gbe awọn ayo-ṣiṣe soke. Alakoso
eto le se nlo pẹlu yi tabili ati ki o ṣe awọn scheduler huwa
otooto. Nipa aiyipada, tabili yii ni awọn ila 60 pẹlu ilosoke mimu
window iwọn lati 20ms (ga ni ayo) to orisirisi awọn ọgọrun ms (asuwon ti ayo), ati
tun pẹlu igbelaruge gbogbo awọn iṣẹ-ṣiṣe lẹẹkan ni iṣẹju-aaya.

Awọn oluṣeto MLFQ miiran ko lo tabili tabi eyikeyi pato
awọn ofin ti o ti wa ni apejuwe ninu yi ipin, lori ilodi si, ti won iṣiro ayo lilo
mathematiki fomula. Fun apẹẹrẹ, oluṣeto ni FreeBSD nlo agbekalẹ kan fun
iṣiro awọn ti isiyi-ṣiṣe ayo da lori bi Elo ilana
lo Sipiyu. Ni afikun, Sipiyu lilo rots lori akoko, ati bayi
Bayi, ayo ilosoke ni itumo ti o yatọ ju ṣàpèjúwe loke. Eyi jẹ otitọ
ti a npe ni alugoridimu ibajẹ. Gẹgẹbi ti ikede 7.1, FreeBSD nlo oluṣeto UL.

Nikẹhin, ọpọlọpọ awọn oluṣeto ni awọn ẹya miiran. Fun apẹẹrẹ, diẹ ninu awọn
Awọn oluṣeto ni ẹtọ awọn ipele ti o ga julọ fun iṣẹ ti ẹrọ ṣiṣe ati nitorinaa
Nitorinaa, ko si ilana olumulo ti o le gba ipo ti o ga julọ ninu
eto. Diẹ ninu awọn ọna ṣiṣe gba ọ laaye lati fun imọran lati ṣe iranlọwọ
awọn scheduler lati tọ ni ayo. Fun apẹẹrẹ, lilo aṣẹ wuyi
o le mu tabi dinku ni ayo ti iṣẹ-ṣiṣe kan ati bayi mu tabi dinku
din awọn anfani ti awọn eto fun Sipiyu akoko.

MLFQ: Lakotan

A ti ṣe apejuwe ọna igbero ti a pe ni MLFQ. Oruko re
pari ni ilana iṣiṣẹ - o ni ọpọlọpọ awọn ila ati lilo awọn esi
lati ṣe pataki iṣẹ-ṣiṣe kan.
Fọọmu ikẹhin ti awọn ofin yoo jẹ bi atẹle:

  • Ofin 1: Ti o ba jẹ pataki (A)> ayo (B), iṣẹ-ṣiṣe A yoo ṣiṣẹ (B kii yoo)
  • Ofin 2: Ti o ba ti ayo (A) = ayo ​​(B), A & B ti wa ni bere lilo RR
  • Ofin 3: Nigbati iṣẹ-ṣiṣe kan ba wọ inu eto naa, a gbe e sinu isinyi ayo to ga julọ.
  • Ofin 4: Lẹhin ti a iṣẹ-ṣiṣe ti lo soke awọn oniwe-soto akoko ninu atojọ isinyi (laiwo ti bi ọpọlọpọ igba ti o laaye Sipiyu), ni ayo ti iru iṣẹ-ṣiṣe kan dinku (o rare si isalẹ awọn ti isinyi).
  • Ofin 5: Lẹhin awọn akoko S, gbe gbogbo awọn iṣẹ-ṣiṣe ninu awọn eto si awọn ga isinyi.

MLFQ jẹ iyanilenu fun idi atẹle - dipo ti o nilo imọ nipa
iseda ti iṣẹ-ṣiṣe ni ilosiwaju, algorithm kọ ẹkọ ihuwasi ti o kọja ti iṣẹ-ṣiṣe ati ṣeto
ayo accordingly. Nitorinaa, o gbiyanju lati joko lori awọn ijoko meji ni ẹẹkan - lati ṣaṣeyọri iṣẹ ṣiṣe fun awọn iṣẹ-ṣiṣe kekere (SJF, STCF) ati nitootọ ṣiṣe awọn gigun,
Sipiyu-ikojọpọ ise. Nitorinaa, ọpọlọpọ awọn ọna ṣiṣe, pẹlu BSD ati awọn itọsẹ wọn,
Solaris, Windows, Mac lo diẹ ninu awọn ọna algorithm bi oluṣeto
MLFQ bi ipilẹṣẹ.

Awọn ohun elo afikun:

  1. manpages.debian.org/stretch/manpages/sched.7.en.html
  2. yo.wikipedia.org/wiki/Scheduling_(iṣiro)
  3. ojúewé.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

orisun: www.habr.com

Fi ọrọìwòye kun