Nidaamyada Hawlgelinta: Saddex Qaybood oo Fudud. Qaybta 5: Qorshaynta: Safka Jawaab celinta Heer-kala duwan (tarjumaad)

Hordhaca Nidaamyada Hawlgelinta

Haye Habr! Waxaan jeclaan lahaa inaan kuu soo bandhigo maqaallo taxane ah - tarjumaad hal suugaan oo xiiso leh fikradayda - OSTEP. Qalabkani wuxuu si qoto dheer uga hadlayaa shaqada nidaamyada hawlgalka ee u eg, kuwaas oo ah, la shaqeynta hababka, jadwalayaasha kala duwan, xusuusta, iyo qaybaha kale ee la midka ah ee ka kooban OS casriga ah. Waxaad ku arki kartaa asalka dhammaan agabka halkan halkan. Fadlan ogow in tarjumaada loo sameeyay si aan xirfad lahayn (si xor ah), laakiin waxaan rajeynayaa inaan sii wado macnaha guud.

Shaqada shaybaadhka ee mawduucan waxaa laga heli karaa halkan:

Qaybaha kale:

Waxa kale oo aad ka hubin kartaa kanaalkayga telegram =)

Qorshaynta: Safka Jawaab celinta Heer-kala duwan

Muxaadaradan waxaynu kaga hadli doonaa dhibaatooyinka ay leedahay horumarinta mid ka mid ah hababka ugu caansan
qorshaynta, kaas oo loo yaqaan Safka Jawaab celinta Heer-kala duwan (MLFQ). Jadwalaha MLFQ waxa markii ugu horaysay ku sifeeyay 1962 kii Fernando J. CorbatΓ³ hab lagu magacaabo
Nidaamka Wadaagista Wakhtiga Wanaagsan (CTSS). Shaqooyinkan (oo ay ku jiraan shaqada dambe ee shaqada
Multics) ayaa markii dambe loo magacaabay Abaalmarinta Turing. Qorshuhu wuxuu ahaa
ka dib wanaajiyey oo helay muuqaalka laga heli karo mar horeba
hababka casriga ah qaarkood.

Algorithm-ka MLFQ wuxuu isku dayaa inuu xalliyo 2 masalo oo is-dul-saaran.
Marka, waxa ay isku daydaa in ay wanaajiso wakhtiga ka-soo-jeedinta, taas oo, sidii aynu uga soo hadalnay casharkii hore, waxa lagu hagaajiyaa habka bilowga safka ugu badan.
hawlo gaaban. Si kastaba ha ahaatee, OS ma garanayo ilaa inta ay hab gaar ah socon doonaa, iyo tan
aqoonta lagama maarmaanka u ah hawlgalka SJF, STCF algorithms. Marka labaad, MLFQ ayaa isku dayaya
ka dhig nidaamka mid u jawaabay isticmaalayaasha (tusaale, kuwa fadhiya iyo
u fiirso shaashadda oo sugaysa hawsha si ay u dhammaato) oo sidaas u yarayso wakhtiga
jawaab. Nasiib darro, algorithms sida RR waxay hagaajiyaan waqtiga jawaabta, laakiin aad u badan
waxay saamayn xun ku yeelaan mitirka wakhtiga soo noqoshada. Markaa dhibkayaga: Sida loo naqshadeeyo
jadwaliye buuxin doona shuruudayada anagoon waxba ka ogayn
nooca habka guud ahaan? Sidee u baran karaa jadwalaha sifooyinka hawlaha,
Kaas oo uu bilaabo oo uu sidaas sameeyo go'aamo qorshayn oo wanaagsan?

Nuxurka dhibaatada: Sidee loo qorsheeyaa dejinta hawlaha iyada oo aan aqoon buuxda loo lahayn?
Sida loo naqshadeeyo jadwaleeyaha oo isku mar yareeya wakhtiga jawaabta
Hawlaha is-dhexgalka isla markaana waxay yareeyaan wakhtiga soo noqoshada iyada oo aan la ogeyn
aqoonta wakhtiga fulinta hawsha?

Fiiro gaar ah: waxaan wax ka baranay dhacdooyin hore

Safka MLFQ waa tusaale heersare ah oo nidaamka wax ka baranaya
dhacdooyin hore si loo saadaaliyo mustaqbalka. Habab la mid ah ayaa badanaa ah
laga helay OS (Iyo laamo kale oo badan oo sayniska kombiyuutarka ah, oo ay ku jiraan laamo
saadaasha qalabka iyo algorithms caching). Safarro la mid ah
waxay kiciyaan marka hawluhu leeyihiin wejiyo dabeecadeed oo sidaas la saadaaliyo.
Si kastaba ha ahaatee, waa inaad ka taxadartaa farsamadan sababtoo ah saadaasha aad bay u fududahay
Waxaa laga yaabaa inay noqoto mid khaldan oo u horseedda nidaamka inuu qaato go'aano ka sii xun
aqoon la'aan bay ahaan lahayd.

MLFQ: Xeerarka aasaasiga ah

Aynu eegno xeerarka aasaasiga ah ee algorithm MLFQ. Iyo in kasta oo fulinta algorithm this
Waxaa jira dhowr, hababka aasaasiga ah ayaa la mid ah.
Hirgelinta waxaan eegi doonaa, MLFQ waxay yeelan doontaa dhowr
safafka goonida ah, kuwaas oo mid kastaa yeelan doono mudnaan gaar ah. Waqti kasta,
hawl diyaar u ah fulinta waa hal saf. MLFQ waxay isticmaashaa mudnaanta,
si loo go'aamiyo hawsha loo qabanayo fulinta, i.e. hawl sare leh
mudnaanta (hawlaha safka leh ee mudnaanta ugu sarreeya) ayaa la bilaabayaa marka hore
safka
Dabcan, waxaa jiri kara in ka badan hal hawl oo safka la siiyay, sidaas darteed
sidaas darteed waxay yeelan doonaan mudnaan isku mid ah. Xaaladdan, habka ayaa la isticmaali doonaa
RR si loo jadwaleeyo socodsiinta hawlahan.
Markaa waxaynu ku nimid laba xeer oo aasaasi u ah MLFQ:

  • Xeerka 1: Haddii mudnaanta (A)> mudnaanta (B), hawsha A waa la bilaabayaa (B ma dhici doonto)
  • Xeerka2: Haddii mudnaanta (A) = Mudnaanta (B), A&B la bilaabay isticmaalka RR

Iyada oo ku saleysan tan sare, waxyaabaha ugu muhiimsan ee qorsheynta MLFQ
waa mudnaanta. Halkii la siin lahaa mudnaan go'an mid walba
hawsha, MLFQ waxay beddeshaa mudnaanteeda iyadoo ku xidhan hab-dhaqanka la arkay.
Tusaale ahaan, haddii hawl si joogto ah u tuurayso shaqada CPU iyada oo la sugayo gelinta kumbuyuutarka,
MLFQ waxa ay ilaalin doontaa mudnaanta hawsha sababtoo ah waa sidaas
habka is-dhexgalka waa inuu shaqeeyaa. Haddii, liddi ku ah, hawshu si joogto ah iyo
Isticmaalka CPU si xoog leh muddo dheer, MLFQ ayaa hoos u dhigi doonta
mudnaanta. Haddaba, MLFQ waxay baran doontaa hab-dhaqanka hab-socodka marka ay socdaan
oo isticmaal dabeecadaha.
Aan sawiro tusaale sida safafku u ekaan karaan mar mar
waqti ka dibna waxaad helaysaa wax sidan oo kale ah:
Nidaamyada Hawlgelinta: Saddex Qaybood oo Fudud. Qaybta 5: Qorshaynta: Safka Jawaab celinta Heer-kala duwan (tarjumaad)

Nidaamkan, 2 hab oo A iyo B ayaa ku jira safka ugu sarreeya. Habka
C waa meel dhexe, habka D-na wuxuu ku yaalaa dhamaadka safka. Sida kor ku xusan
Marka loo eego sharraxaadaha MLFQ algorithm, jadwalku wuxuu fulin doonaa hawlaha ugu sarreeya oo keliya
mudnaanta marka loo eego RR, iyo hawlaha C, D waxay noqon doontaa shaqo la'aan.
Dabiici ahaan, sawirka taagan ma bixin doono sawir dhamaystiran oo ku saabsan sida MLFQ u shaqeyso.
Waa muhiim in si sax ah loo fahmo sida sawirku isu beddelayo wakhti ka dib.

Isku dayga 1: Sida loo beddelo mudnaanta

Halkaa marka ay marayso waxaad u baahan tahay inaad go'aansato sida MLFQ u bedeli doonto heerka mudnaanta
hawlaha (oo sidaas awgeed booska shaqada ee safka) marka ay sii socoto meertada nolosheeda. Waayo
tani waa lagama maarmaan in maskaxda lagu hayo socodka shaqada: qadar go'an
hawlo is-dhexgal leh oo leh wakhtiyo run-guud oo gaaban (oo sidaas awgeed si joogto ah loo sii daayo
CPU) iyo dhowr hawlood oo dheer oo isticmaala CPU waqtigooda shaqada oo dhan, halka
Wakhtiga jawaab-celinta muhiim uma aha hawlahan oo kale. Oo habkan waxaad samayn kartaa isku dayga ugu horreeya
ku dhaqan Algorithmamka MLFQ ee leh xeerarka soo socda:

  • Xeerka 3: Marka hawshu gasho nidaamka, waxa la geliyaa safka ugu sarreeya
  • mudnaanta.
  • Rule4a: Haddii hawshu isticmaasho daaqadda wakhtiga oo dhan ee loo qoondeeyay, markaa waa
  • mudnaanta waa la dhimay.
  • Rule4b: Haddii Hawshu ay sii deyso CPU ka hor inta uusan dhicin daaqadda waqtiga, markaas waa
  • ayaa weli leh mudnaan isku mid ah.

Tusaale 1: Hal shaqo oo dheer

Sida lagu arki karo tusaalahan, hawsha ogolaanshaha waxaa lagu dejiyay midda ugu sareysa
mudnaanta. Kadib daaqada wakhtiga 10ms, habka ayaa hoos loo dhigay mudnaanta
qorsheeye. Kadib daaqada wakhtiga xigta, hawsha ayaa ugu dambeyntii hoos loo dhigay
mudnaanta ugu hooseysa ee nidaamka, halkaas oo ay ku hadhay.
Nidaamyada Hawlgelinta: Saddex Qaybood oo Fudud. Qaybta 5: Qorshaynta: Safka Jawaab celinta Heer-kala duwan (tarjumaad)

Tusaalaha 2: Waxa la keenay hawl gaaban

Hadda aan aragno tusaale ku saabsan sida MLFQ ay isugu dayi doonto inay u wajahdo SJF. Taas
tusaale, laba hawlood: A, oo ah hawl dheer oo joogto ah
qabsaday CPU iyo B, taas oo ah hawl gaaban oo is dhexgal ah. Ka soo qaad
in A ay hore u shaqaynaysay in muddo ah markii hawsha B ay timid.
Nidaamyada Hawlgelinta: Saddex Qaybood oo Fudud. Qaybta 5: Qorshaynta: Safka Jawaab celinta Heer-kala duwan (tarjumaad)

Jaantuskani wuxuu muujinayaa natiijada muuqaalka Hawsha A, sida hawl kasta,
Isticmaalka CPU wuxuu ahaa meesha ugu hooseysa. Hawsha B waxay iman doontaa wakhtiga T=100 wayna iman doontaa
la galiyay safka ugu sareeya. Maadaama wakhtiga shaqadu uu gaaban yahay, markaa
wuu dhammayn doonaa ka hor inta aanu gaadhin safka ugu dambeeya.

Laga soo bilaabo tusaalahan, hadafka ugu weyn ee algorithm waa in la fahmo: maadaama algorithm uusan dhicin
wuu garanayaa in hawshu ay dheer tahay iyo in ay gaaban tahay, dabadeed marka hore waxa uu u qaadanayaa in hawshaas
gaaban oo siinaysa mudnaanta ugu sareysa. Hadday tani runtii tahay hawl gaaban, markaa
si degdeg ah ayaa loo dhammeeyaa, haddii kale hadday hawl dheer tahay, si tartiib ah ayay u soconaysaa
Mudnaanta ayaa hoos u dhacday waxayna dhawaan caddayn doontaa inay runtii tahay hawl dheer oo aan samayn
waxay u baahan tahay jawaab.

Tusaalaha 3: Ka waran I/O?

Hadda aan eegno tusaale I/O Sida ku xusan qaanuunka 4b,
Haddii hab-socodku sii daayo processor-ka isagoon isticmaalin dhammaan wakhtiga processor-kiisa,
ka dibna waxay ku sii sugnaan doontaa isla heerka mudnaanta. Ujeedada xeerkani waa mid fudud
- Haddii shaqada is-dhexgalka ay qabato hawlo badan oo I/O ah, tusaale ahaan, sugitaanka
Laga soo bilaabo furaha isticmaalaha ama mashiinnada jiirka, hawshan oo kale waxay xoreyn doontaa processor-ka
ka hor daaqada la qoondeeyey. Ma jecli inaan hoos u dhigno mudnaanta hawshan oo kale,
sidaasna ay ku ahaan doonto isla heerkaas.
Nidaamyada Hawlgelinta: Saddex Qaybood oo Fudud. Qaybta 5: Qorshaynta: Safka Jawaab celinta Heer-kala duwan (tarjumaad)

Tusaalahani wuxuu muujinayaa sida algorithm-ku uu ula shaqeyn doono hababkaas - shaqada isdhexgalka B, oo kaliya u baahan CPU 1ms ka hor inta aan la fulin.
Habka I/O iyo shaqada dheer ee A, kaas oo wakhtigeeda oo dhan ku bixiya isticmaalka CPU.
MLFQ waxay ku haysaa habka B mudnaanta ugu sareysa sababtoo ah wuu sii socdaa
sii daayo CPU. Haddii B ay tahay hawl is-dhexgal ah, markaa algorithm-ka ayaa la gaaray
Hadafkaagu waa inaad si dhakhso leh u socodsiiso hawlaha isdhexgalka.

Dhibaatooyinka MLFQ algorithm ee hadda jira

Tusaalooyinka hore waxaan ku dhisnay nooca aasaasiga ah ee MLFQ. Oo waxay u muuqataa in uu
shaqadeeda si fiican oo daacad ah u qabata, u qaybisa wakhtiga CPU si cadaalad ah inta u dhaxaysa
hawlo dheer iyo oggolaanshaha hawlo gaaban ama sare
si degdeg ah uga shaqee I/O. Nasiib darro, habkani wuxuu ka kooban yahay dhowr
dhibaatooyin halis ah.
Marka, dhibaatada gaajada: haddii nidaamku leeyahay wax badan oo isdhexgalka
Hawlaha, markaa waxay cuni doonaan dhammaan wakhtiga processor-ka oo sidaas darteed hal keliya ma aha muddo dheer
Hawshu ma awoodayso in la fuliyo (iyaga oo gaajoonaysa).

Marka labaadIsticmaalayaasha caqliga leh waxay qori karaan barnaamijyadooda si markaa
doqon jadwalaha. Khiyaanadu waxay ku jirtaa in la sameeyo wax lagu qasbo
Jadwalka wuxuu siinayaa habka waqti badan oo CPU ah. Algorithm in
Xagga sare lagu sheegay aad bay ugu nugul yihiin weerarrada la midka ah: ka hor inta aanu wakhtiga daaqaddu si dhab ah u dhicin
dhammaatay, waxaad u baahan tahay inaad samayso hawlgalka I/O (qaar, iyada oo aan loo eegayn fayl kasta)
sidaas darteedna ay xoreeyaan CPU-ga. Dabeecadda noocaan ah waxay kuu ogolaaneysaa inaad ku sii jirto
safka laftiisa oo haddana helaya boqolkiiba ka badan wakhtiga CPU. Haddii aad sameyso
tani waa sax (tusaale ahaan, fuli 99% wakhtiga daaqada ka hor inta aanad sii dayn CPU),
hawshan oo kale waxay si fudud u keli-tali kartaa processor-ka.

Ugu dambeyntii, barnaamijku wuxuu bedeli karaa dhaqankiisa waqti ka dib. Hawlahaas
kaas oo la isticmaalay CPU-gu wuxuu noqon karaa mid is dhexgal ah. Tusaalahayaga, la mid ah
hawluhu kama heli doonaan daawaynta ay u qalmaan jadwalaha sida kuwa kale ay heli lahaayeen
(bilowga) hawlaha isdhexgalka.

Su'aasha loogu talagalay dhagaystayaasha: waa maxay weerarrada jadwalaha ah ee lagu fulin karo adduunka casriga ah?

Isku dayga 2: Kordhinta mudnaanta

Aan isku dayno inaan bedelno sharciyada oo aan aragno inaan ka fogaan karno dhibaatooyinka
sooman. Maxaan sameyn karnaa si aan u hubinno taas la xiriirta
Hawlaha CPU waxay heli doonaan waqtigooda (xitaa haddaysan dheerayn).
Sida xal fudud ee dhibaatada, waxaad soo jeedin kartaa xilli
kor u qaad mudnaanta dhammaan hawlaha noocaas ah ee nidaamka. Waxaa jira siyaabo badan
Si taas loo gaaro, aan isku dayno inaan hirgelino wax fudud tusaale ahaan: turjumi
Dhammaan hawlaha ayaa isla markiiba la siiyaa mudnaanta ugu sareysa, sidaas darteed xeerka cusub:

  • Xeer5Muddo cayiman ka dib S, u dhaqaaji dhammaan hawlaha nidaamka safka ugu sarreeya.

Xeerkeena cusub ayaa laba dhibaato hal mar xaliya. Marka hore, hababka
waa la dammaanad qaaday in aanay gaajoon: hawlaha mudnaanta sare leh ayaa la qaybsan doonaa
Waqtiga CPU iyadoo loo eegayo algorithm RR sidaas darteed dhammaan geeddi-socodka ayaa heli doona
waqtiga CPU. Marka labaad, haddii qaar ka mid ah habka hore loo isticmaalay
kaliya Processor-ku wuxuu noqdaa mid is-dhexgal ah, wuxuu ku sii jirayaa safka ugu sarreeya
mudnaanta ka dib markii la helo koror hal mar ah mudnaanta ugu sareysa.
Bal aan tusaale u soo qaadano. Xaaladdan, tixgeli hal hab oo isticmaalaya
Nidaamyada Hawlgelinta: Saddex Qaybood oo Fudud. Qaybta 5: Qorshaynta: Safka Jawaab celinta Heer-kala duwan (tarjumaad)

CPU iyo laba hab is dhexgal, gaaban. Dhinaca bidix ee shaxanka, jaantusku wuxuu muujinayaa habdhaqanka iyada oo aan mudnaanta la siinin, sidaas awgeed hawsha muddada dheer socota waxay bilaabataa inay gaajooto ka dib laba hawlood oo isdhexgalka ah oo ku yimaada nidaamka. Jaantuska midig, kordhinta mudnaanta ayaa la sameeyaa 50ms kasta sidaas darteed dhammaan hababka waxaa loo dammaanad qaaday inay helaan waqtiga CPU waxaana la bilaabi doonaa xilliyo. 50ms kiiskan waxa loo qaadanayaa tusaale ahaan; run ahaantii tiradani wax yar ayay ka badan tahay.
Sida iska cad, ku darista wakhtiga korodhka xilliyeed S u horseedo
su'aal macquul ah: waa maxay qiimaha ay tahay in la dejiyo? Mid ka mid ah kuwa la sharfay
Injineerada nidaamyada John Ousterhout ayaa ugu yeeray tirada nidaamyada sida voo-doo
joogto ah, tan iyo markii ay si qaar ka mid ah looga baahan yahay sixir madow si sax ah
soo bandhigid. Iyo, nasiib daro, S waxay leedahay udgoon. Haddii aad adigu qiimayso
hawlo waaweyn - hawlo dhaadheer ayaa bilaabi doona inay gaajoodaan. Oo haddii aad qiimihiisu aad u hoosayso,
Hawlaha isdhexgalka ma heli doonaan waqti ku habboon CPU.

Isku dayga 3: Xisaabinta Wanaagsan

Hadda waxaan heysanaa dhibaato kale oo aan xallin karno: sida aan loo xallin karin
Allow jadwalahayaga in la khiyaamo? Dadka lagu eedaynayo suurtogalnimadan ayaa ah
Xeerarka 4a, 4b, kaas oo u oggolaanaya shaqada in ay sii hayso mudnaanta, xoraynta processor-ka
ka hor inta uusan dhicin wakhtiga loogu talagalay. Sidee wax looga qabtaa tan?
Xalka kiiskan waxaa loo tixgelin karaa xisaabinta ka fiican ee waqtiga CPU mid kasta
heerka MLFQ. Halkii la iloobi lahaa wakhtiga uu barnaamijku isticmaalay
Processor-ka muddada loogu talagalay, waa in lagu xisaabtamaa oo la keydiyaa. Kadib
Hawshu waxay ka faa’iidaysatay waqtigii loogu talo galay, waa in hoos loo dhigaa midda xigta
heerka mudnaanta. Hadda dhib ma laha sida hawshu u isticmaali doonto waqtigeeda - sidee
si joogto ah ugu xisaabin processor-ka ama tiro wicitaano ah. Haddaba,
qaanuunka 4 waa in dib loogu qoraa foomkan:

  • Xeer4: Ka dib marka hawshu ay ka faa'iidaysato waqtigii loogu talo galay ee safka hadda jira (iyada oo aan loo eegin inta jeer ee ay fasaxday CPU), mudnaanta hawshaas ayaa hoos loo dhigayaa (waxay hoos u socotaa safka).

Aan tusaale u soo qaadano:
Nidaamyada Hawlgelinta: Saddex Qaybood oo Fudud. Qaybta 5: Qorshaynta: Safka Jawaab celinta Heer-kala duwan (tarjumaad)Β»

Sawirku wuxuu muujinayaa waxa dhacaya haddii aad isku daydo inaad khiyaanayso jadwalka, sida
Haddii ay ahaan lahayd xeerarkii hore ee 4a, 4b natiijada bidixda ayaa la heli lahaa. Farxad cusub
xeerku waa natiijada dhanka midig. Ilaalinta ka hor, nidaam kastaa wuxuu wici karaa I/O ka hor inta aan la dhamaystirin iyo
sidaas darteed u taliya CPU, ka dib markii awood ilaalinta, iyadoon loo eegin dhaqanka
I/O, wuxuu weli hoos ugu soo degi doonaa safka sidaas darteedna ma awoodi doono inuu daacad-darro sameeyo
la wareego agabka CPU.

Horumarinta MLFQ iyo dhibaatooyinka kale

Horumarinta kor ku xusan waxay timaaddaa dhibaatooyin cusub: mid ka mid ah kuwa ugu waaweyn
Su'aalo - sida loo cabbiro jadwalaha noocaas ah? Kuwaas. Intee in le'eg ayay tahay
safafka? Waa maxay cabbirka daaqadda barnaamijka ee safka dhexdiisa? Sidee
Mudnaanta barnaamijka waa in badanaa la kordhiyaa si looga fogaado gaajo iyo
xisaabta ku darsada isbeddelka hab-dhaqanka barnaamijka? Ma jirto jawaab fudud oo su'aalahan
ka jawaab oo tijaabi oo kaliya oo leh culeysyo iyo qaabeynta dambe
qorshayuhu waxa uu u horseedi karaa dheeli tirnaan lagu qanco.

Tusaale ahaan, inta badan hirgelinta MLFQ waxay kuu oggolaaneysaa inaad meeleyso wax ka duwan
waqti u dhexeeya safafka kala duwan. Safafka mudnaanta sare leh badanaa
muddo gaaban ayaa loo qoraa. Safafkani waxa uu ka kooban yahay hawlo is dhexgal ah,
u dhexeeya taas oo ah mid aad xasaasi u ah oo ay tahay in ay qaataan 10 ama ka yar
ms Taa beddelkeeda, safafka mudnaanta-hooseeya waxay ka kooban yihiin hawlo dheer oo la isticmaalo
PROCESSOR. Xaaladdan oo kale, muddada dheer waxay ku habboon tahay si aad u wanaagsan (100ms).
Nidaamyada Hawlgelinta: Saddex Qaybood oo Fudud. Qaybta 5: Qorshaynta: Safka Jawaab celinta Heer-kala duwan (tarjumaad)

Tusaalahan waxa jira 2 hawlood oo ka shaqeeyay safka 20aad ee mudnaanta sare leh
ms, oo loo qaybiyay 10ms daaqadaha. 40ms ee safka dhexe (20ms daaqad) iyo mudnaanta hoose
Daaqada wakhtiga safka ayaa noqotay 40ms halkaas oo hawluhu ku dhameeyeen shaqadooda.

Hirgelinta Solaris OS ee MLFQ waa fasalka jadwal-wadaagga waqtiga.
Qorsheeyaha ayaa bixin doona jaantusyo kala duwan oo qeexaya sida ay tahay
mudnaanta geeddi-socodku waxay isbeddelaan muddada nolosheeda, waxa ay noqon doonaan cabbirka
daaqada loo qoondeeyay iyo inta jeer ee aad u baahan tahay inaad sare u qaaddo mudnaanta hawsha. Maamule
Nidaamyadu waxay la falgali karaan miiskan waxayna sababi karaan jadwaleeyaha inuu u dhaqmo
si ka duwan. Sida caadiga ah, shaxdani waxa ay leedahay 60 saf oo ay si tartiib tartiib ah u kordheyso
cabbirka daaqada min 20ms (mudnaanta sare) ilaa dhowr boqol oo ms (mudnaan hoose), iyo
sidoo kale iyadoo la kordhinayo dhammaan hawlaha hal mar ilbiriqsikiiba.

Qorsheeyayaasha kale ee MLFQ ma isticmaalaan miis ama wax gaar ah
Xeerarka lagu sharraxay muxaadaradan, liddi ku ah, waxay xisaabiyaan mudnaanta iyagoo isticmaalaya
qaacidooyinka xisaabta. Tusaale ahaan, jadwalaha FreeBSD wuxuu isticmaalaa qaacido
xisaabi mudnaanta hadda ee hawsha iyadoo lagu salaynayo inta hawshu tahay
loo isticmaalo CPU. Intaa waxaa dheer, isticmaalka CPU ayaa burbura waqti ka dib, iyo wixii la mid ah
Haddaba, mudnaan kordhintu waxay u dhacdaa si ka duwan sidii kor lagu sheegay. Tani waa run
loo yaqaan algorithms suuska. Laga soo bilaabo nooca 7.1, FreeBSD waxay isticmaashay jadwalka UL.

Ugu dambeyntii, jadwalayaal badan ayaa leh astaamo kale. Tusaale ahaan, qaar
jadwaleeyayaashu waxay kaydiyaan heerarka ugu sarreeya ee hawlgalka nidaamka hawlgalka sidaas darteed
Markaa, ma jiro habraac isticmaale oo heli kara mudnaanta ugu sarreysa gudaha
nidaamka. Nidaamyada qaar ayaa kuu oggolaanaya inaad bixiso talo aad ku caawiso
qorsheeyuhu wuxuu u dejin karaa mudnaanta si sax ah. Tusaale ahaan, adeegsiga amarka nice
waxaad kordhin kartaa ama hoos u dhigi kartaa mudnaanta hawsha oo aad sidaas u kordhin kartaa ama
yareeya fursadaha barnaamijka ee isticmaalka wakhtiga CPU.

MLFQ: Kooban

Waxa aanu sharaxnay hab qorshayn oo la yidhaahdo MLFQ. Magaciisa
ku lifaaqan mabda'a hawlgalka - waxay leedahay dhowr saf oo waxay isticmaashaa jawaab celin
si loo go'aamiyo mudnaanta hawsha.
Qaabka ugu dambeeya ee xeerarku wuxuu noqon doonaa sida soo socota:

  • Xeer1Haddii mudnaanta (A)> mudnaanta (B), hawsha A waa la bilaabayaa (B ma dhici doonto)
  • Xeer2: Haddii mudnaanta (A) = mudnaanta (B), A&B waxaa la bilaabay isticmaalka RR
  • Xeer3: Marka hawshu gasho nidaamka, waxa la geliyaa safka ugu sarreeya.
  • Xeer4: Ka dib marka hawshu ay ka faa'iidaysato waqtigii loogu talo galay ee safka hadda jira (iyada oo aan loo eegin inta jeer ee ay fasaxday CPU), mudnaanta hawshaas ayaa hoos loo dhigayaa (waxay hoos u socotaa safka).
  • Xeer5Muddo cayiman ka dib S, u dhaqaaji dhammaan hawlaha nidaamka safka ugu sarreeya.

MLFQ waa mid xiiso leh sababta soo socota - halkii looga baahnaa aqoon ku saabsan
dabeecadda hawsha ka hor, algorithm wuxuu daraaseeyaa habdhaqankii hore ee hawsha iyo dejinta
mudnaanta si waafaqsan. Sidaa darteed, wuxuu isku dayaa inuu laba kursi ku fadhiisto hal mar - si uu u gaaro wax soo saarka hawlaha yaryar (SJF, STCF) iyo inuu si daacad ah u ordo wakhti dheer.
Shaqooyinka CPU-loading. Sidaa darteed, nidaamyo badan, oo ay ku jiraan BSD iyo kuwa ka soo jeeda,
Solaris, Windows, Mac waxay isticmaalaan nooc ka mid ah algorithm ahaan jadwal ahaan
MLFQ asal ahaan.

Alaabooyin dheeri ah:

  1. manpages.debian.org/stretch/manpages/sched.7.en.html
  2. en.wikipedia.org/wiki/Jadwalka_(xisaabinta)
  3. bogagga.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

Source: www.habr.com

Add a comment