Sistemụ arụ ọrụ: Mpekere atọ dị mfe. Nkebi 5: Nhazi: Queue nzaghachi ọtụtụ ọkwa (nsụgharị)

Okwu Mmalite nke Sistemụ Ọrụ

Hey Habr! Ọ ga-amasị m iwetara gị ntị usoro isiokwu-nsụgharị nke otu akwụkwọ na-atọ ụtọ n'uche m - OSTEP. Nke a ihe onwunwe na-atụle nnọọ miri emi ọrụ nke unix-dị ka sistemụ arụmọrụ, ya bụ, na-arụ ọrụ na usoro, dị iche iche schedulers, ebe nchekwa, na ndị ọzọ yiri components na-emejupụta a ọgbara ọhụrụ OS. Ị nwere ike ịhụ mbụ nke ihe niile ebe a ebe a. Biko mara na e mere ntụgharị asụsụ ahụ n'amaghị ama (n'efu), mana enwere m olileanya na m jigidere nkọwa izugbe.

Enwere ike ịchọta ọrụ ụlọ nyocha na isiokwu a ebe a:

Akụkụ ndị ọzọ:

Ị nwekwara ike lelee ọwa m na telegram =)

Atụmatụ: Queue nzaghachi ọtụtụ ọkwa

N'okwu a, anyị ga-ekwu maka nsogbu nke ịmepụta otu n'ime ụzọ ndị a ma ama
atụmatụ, nke a na-akpọ Queue nzaghachi ọtụtụ ọkwa (MLFQ). Fernando J. Corbató kọwara onye nhazi oge MLFQ na 1962 na sistemụ akpọrọ.
Sistemu Nkekọrịta Oge Dakọtara (CTSS). Ihe ndị a na-arụ ọrụ (gụnyere ọrụ ndị ọzọ na-esote
A họpụtara Multics) maka onyinye Turing. Onye nhazi ahụ bụ
emesia kwalitere wee nweta ọdịdị nke enwere ike ịhụ ugbua
ụfọdụ usoro ọgbara ọhụrụ.

Algọridim MLFQ na-anwa idozi nsogbu abụọ jikọtara ọnụ.
Firstly, ọ na-agbalị ịkwalite oge ntụgharị, nke, dị ka anyị tụlere na nkuzi gara aga, na-eme ka usoro nke ịmalite na mmalite nke kwụ n'ahịrị kacha mma.
obere ọrụ. Agbanyeghị, OS amaghị ogologo oge otu usoro ga-aga, yana nke a
ihe ọmụma dị mkpa maka ọrụ nke SJF, STCF algọridim. Nke abuo, MLFQ na-agbalị
mee ka usoro ahụ nwee nzaghachi maka ndị ọrụ (dịka ọmụmaatụ, maka ndị na-anọdụ ala na
legide anya na ihuenyo na-echere ọrụ ahụ iji wuchaa) ma si otú a belata oge
nzaghachi. N'ụzọ dị mwute, algọridim dị ka RR na-eme ka oge nzaghachi dịkwuo mma, mana nke ukwuu
nwere mmetụta ọjọọ na ntụgharị oge metric. N'ihi ya, nsogbu anyị: Olee otú imewe
onye nhazi oge nke ga-emezu ihe anyị chọrọ n'amaghị ihe ọ bụla
ọdịdị nke usoro n'ozuzu? Kedu ka onye nhazi oge ga-esi mụta njirimara nke ọrụ,
nke ọ na-ebupụta ma si otú ahụ mee mkpebi atụmatụ ka mma?

Ihe kachasị mkpa nke nsogbu ahụ: Otu esi eme atụmatụ nhazi nke ọrụ na-enweghị ihe ọmụma zuru oke?
Otu esi emepụta nhazi oge nke na-ebelata oge nzaghachi n'otu oge
maka ọrụ mmekọrịta yana n'otu oge ahụ na-ebelata oge ntụgharị n'amaghị
ihe ọmụma nke oge igbu ọrụ?

Mara: anyị na-amụta site na ihe omume ndị gara aga

Ahịrị MLFQ bụ ezigbo ihe atụ nke sistemụ na-amụta na ya
ihe ndị gara aga iji buru amụma ọdịnihu. Ụzọ ndị yiri ya na-abụkarị
achọtara na OS (Na ọtụtụ alaka ndị ọzọ nke sayensị kọmputa, gụnyere alaka
amụma ngwaike na caching algọridim). Njem ndị yiri ya
na-akpalite mgbe ọrụ nwere usoro omume ma bụrụ nke a ga-ebu amụma.
Otú ọ dị, ị kwesịrị ịkpachara anya na usoro a n'ihi na amụma dị mfe
nwere ike gbanwee na-ezighi ezi ma mee ka usoro ahụ mee mkpebi ka njọ karịa
agaghị enwe ihe ọmụma ma ọlị.

MLFQ: Iwu ntọala

Ka anyị leba anya n'iwu ndị bụ isi nke MLFQ algọridim. Ma ọ bụ ezie na mmejuputa algọridim a
Enwere ọtụtụ, ụzọ ndị bụ isi yiri ya.
Na mmejuputa atumatu anyị ga-ele anya, MLFQ ga-enwe ọtụtụ
kwụ n'ahịrị dị iche iche, nke ọ bụla n'ime ha ga-ebute ụzọ dị iche iche. Oge ọ bụla,
ọrụ dị njikere maka igbu ya dị n'otu kwụ n'ahịrị. MLFQ na-eji ihe ndị ka mkpa,
ikpebi ọrụ a ga-agba maka ogbugbu, ya bụ. ọrụ na elu
A ga-ebu ụzọ malite ọrụ (ọrụ sitere na kwụ n'ahịrị na-ebute ụzọ).
kwụ n'ahịrị.
N'ezie, enwere ike ịnwe ihe karịrị otu ọrụ na kwụ n'ahịrị enyere, yabụ
ya mere ha ga-enwe otu ihe kacha mkpa. N'okwu a, a ga-eji usoro ahụ
RR ka ịtọọ oge ịgba ọsọ n'etiti ọrụ ndị a.
Ya mere, anyị rutere na iwu abụọ bụ isi maka MLFQ:

  • Iwu 1: Ọ bụrụ na ebute ụzọ (A)> Ibu ụzọ (B), ọrụ A ga-amalite (B agaghị)
  • Iwu2: Ọ bụrụ na ebute ụzọ (A) = ebute ụzọ (B), A&B amalitere iji RR

Dabere na nke dị n'elu, isi ihe na-eme atụmatụ MLFQ
bụ ihe ndị ka mkpa. Kama inye onye ọ bụla ihe ka mkpa
ọrụ, MLFQ na-agbanwe mkpa ya dabere na omume a hụrụ.
Dịka ọmụmaatụ, ọ bụrụ na ọrụ na-atụba ọrụ mgbe niile na CPU mgbe ọ na-eche ntinye keyboard,
MLFQ ga-edobe usoro ihe kacha mkpa n'ihi na ọ bụ otu a
usoro mmekọrịta kwesịrị ịrụ ọrụ. Ọ bụrụ na, n'ụzọ megidere nke ahụ, ọrụ ahụ bụ mgbe niile na
na-eji CPU nke ukwuu ogologo oge, MLFQ ga-ebelata ya
ihe kacha mkpa. Ya mere, MLFQ ga-amụ omume nke usoro mgbe ha na-agba ọsọ
na-eji omume.
Ka anyị see ihe atụ nke ihe kwụ n'ahịrị nwere ike ịdị ka oge ụfọdụ
oge na mgbe ahụ ị ga-enweta ihe dị ka nke a:
Sistemụ arụ ọrụ: Mpekere atọ dị mfe. Nkebi 5: Nhazi: Queue nzaghachi ọtụtụ ọkwa (nsụgharị)

N'ime atụmatụ a, usoro 2 A na B nọ n'ahịrị kacha mkpa. Usoro
C dị n'etiti, usoro D dịkwa na njedebe nke kwụ n'ahịrị. Dị ka n'elu
Dị ka nkọwa nke MLFQ algọridim si kwuo, onye nhazi oge ga-arụ ọrụ naanị na nke kachasị elu
mkpa dị ka RR si dị, yana ọrụ C, D agaghị arụ ọrụ.
Dị ka o kwesịrị ịdị, onyonyo kwụ ọtọ agaghị enye nkọwa zuru ezu ka MLFQ si arụ ọrụ.
Ọ dị mkpa ịghọta kpọmkwem otú foto ahụ si agbanwe ka oge na-aga.

Mgbalị 1: Otu esi agbanwe ụzọ

N'oge a, ịkwesịrị ikpebi otú MLFQ ga-esi gbanwee ọkwa dị mkpa
ọrụ (ma si otú a na-arụ ọrụ na kwụ n'ahịrị) ka ọ na-aga n'ihu site ndụ ya okirikiri. Maka
nke a dị mkpa iburu n'uche usoro ọrụ: otu ego
ọrụ mmekọrịta nwere obere oge ọsọ ọsọ (ma si otú a na-ahapụ ya ugboro ugboro
CPU) na ọtụtụ ọrụ na-eme ogologo oge na-eji CPU oge ọrụ ha niile, ebe
Oge nzaghachi adịghị mkpa maka ọrụ ndị dị otú ahụ. N'ụzọ dị otú a, ị nwere ike ime mgbalị mbụ gị
mejuputa MLFQ algọridim na iwu ndị a:

  • Iwu 3: Mgbe ọrụ na-abanye na sistemụ, a na-etinye ya n'ahịrị na nke kachasị elu
  • mkpa.
  • Rule4a: Ọ bụrụ na ọrụ na-eji windo oge niile enyere ya, yabụ ọ
  • a na-ebelata ihe kacha mkpa.
  • Rule4b: Ọ bụrụ na ọrụ na-ahapụ CPU tupu oge mpio ya agwụ, mgbe ahụ ọ
  • na-anọgide na otu mkpa.

Ọmụmatụ 1: Otu ọrụ na-eme ogologo oge

Dị ka a na-ahụ na ihe atụ a, a na-edozi ọrụ nnabata na nke kachasị elu
mkpa. Mgbe windo oge nke 10ms gasịrị, a na-ewetu usoro a na mbụ
onye nhazi. Mgbe mpio nke ọzọ gachara, a ga-ewepụ ọrụ ahụ n'ikpeazụ
kacha ala na usoro, ebe ọ na-anọgide.
Sistemụ arụ ọrụ: Mpekere atọ dị mfe. Nkebi 5: Nhazi: Queue nzaghachi ọtụtụ ọkwa (nsụgharị)

Ọmụmatụ 2: Enyere obere ọrụ

Ugbu a, ka anyị hụ ihe atụ otu MLFQ ga-esi gbalịa ịbịakwute SJF. N'ime nke ahụ
ọmụmaatụ, ọrụ abụọ: A, nke bụ ọrụ na-adịte aka mgbe niile
na-ejide CPU na B, nke bụ ọrụ mmekọrịta dị mkpirikpi. Ka e were ya na
na A na-arụ ọrụ ruo oge ụfọdụ site na oge ọrụ B rutere.
Sistemụ arụ ọrụ: Mpekere atọ dị mfe. Nkebi 5: Nhazi: Queue nzaghachi ọtụtụ ọkwa (nsụgharị)

Eserese a na-egosi nsonaazụ nke ọnọdụ ahụ. Ọrụ A, dị ka ọrụ ọ bụla,
Ojiji CPU dị na ala. Task B ga-abịa n'oge T=100 ma ga-abịa
etinyere n'ahịrị kacha mkpa. Ebe ọ bụ na oge ọrụ ya dị mkpụmkpụ, yabụ
ọ ga-agwụcha tupu eru n'ahịrị ikpeazụ.

Site na ihe atụ a, a ghaghị ịghọta isi ihe mgbaru ọsọ nke algorithm: ebe ọ bụ na algọridim adịghị
maara ma ọrụ ọ dị ogologo ma ọ bụ mkpụmkpụ, mgbe ahụ nke mbụ ọ na-eche na ọrụ ahụ
nkenke ma nye ya ihe kacha mkpa. Ọ bụrụ na nke a bụ obere ọrụ, yabụ
a ga-emecha ngwa ngwa, ma ọ bụghị ya, ọ bụrụ na ọ bụ ogologo ọrụ, ọ ga-eji nwayọọ nwayọọ na-aga
mbụ ala na n'oge na-adịghị na-egosi na ọ bụ n'ezie a ogologo ọrụ na-adịghị
chọrọ nzaghachi.

Ọmụmatụ 3: Kedu maka I/O?

Ugbu a, ka anyị lee ihe atụ I/O. Dị ka e kwuru na iwu 4b,
Ọ bụrụ na usoro na-ahapụ onye nrụpụta na-ejighi oge nhazi ya niile,
mgbe ahụ, ọ na-anọgide n'otu ọkwa dị mkpa. Ebumnuche nke iwu a dị nnọọ mfe
- ọ bụrụ na ọrụ mmekọrịta na-arụ ọtụtụ ọrụ I / O, dịka ọmụmaatụ, ichere
site na igodo onye ọrụ ma ọ bụ pịa òké, ọrụ dị otú ahụ ga-ahapụ onye nrụpụta
tupu windo ekenyere. Anyị agaghị achọ iwetu ihe kacha mkpa nke ọrụ dị otú ahụ.
ya mere ọ ga-anọgide n'otu ọkwa ahụ.
Sistemụ arụ ọrụ: Mpekere atọ dị mfe. Nkebi 5: Nhazi: Queue nzaghachi ọtụtụ ọkwa (nsụgharị)

Ihe atụ a na-egosi otú algọridim ga-esi arụ ọrụ na usoro ndị dị otú ahụ - ọrụ mmekọrịta B, nke chọrọ naanị CPU maka 1ms tupu e gbuo ya.
Usoro I/O na ogologo oge na-arụ ọrụ A, nke na-eji CPU oge niile.
MLFQ na-edobe usoro B na ihe kacha mkpa n'ihi na ọ na-aga n'ihu
hapụ CPU. Ọ bụrụ na B bụ ọrụ mmekọrịta, mgbe ahụ algọridim enwetala
Ebumnobi gị bụ ịrụ ọrụ mmekọrịta ngwa ngwa.

Nsogbu na algọridim MLFQ dị ugbu a

N'ihe atụ ndị gara aga anyị wuru ụdị MLFQ bụ isi. Na o yiri ka ọ
na-arụ ọrụ ya nke ọma na n'eziokwu, na-ekesa oge CPU nke ọma n'etiti
ogologo ọrụ na ikwe ka obere ọrụ ma ọ bụ nnukwu olu
rụọ ọrụ na I/O ngwa ngwa. N'ụzọ dị mwute, usoro a nwere ọtụtụ
nsogbu siri ike.
Firstly, nsogbu nke agụụ: ma ọ bụrụ na usoro nwere ọtụtụ mmekọrịta
Ihe aga-eme, mgbe ahụ, ha ga-eri oge CPU niile ma yabụ na ọ bụghị otu maka ogologo oge
Agaghị enwe ike ịrụ ọrụ ahụ (agụụ na-agụ ha).

Nke abuo, smart ọrụ nwere ike dee ha mmemme nke mere na
ghọgbuo onye nhazi oge. Aghụghọ dị n'ime ihe ịmanye
Onye nhazi oge na-enye usoro oge CPU karịa. Algorithm na
akọwara n'elu bụ nnọọ ngwangwa yiri ọgụ: tupu oge window bụ ihe fọrọ nke nta
kwụsịrị, ịkwesịrị ịrụ ọrụ I/O (nye ụfọdụ, n'agbanyeghị faịlụ ọ bụla)
ma si otú ahụ hapụ CPU. Omume dị otú ahụ ga-enye gị ohere ịnọgide na otu
kwụ n'ahịrị n'onwe ya wee nweta pasentị buru ibu nke oge CPU. Ọ bụrụ na ị na-eme ya
nke a bụ eziokwu (dịka ọmụmaatụ, mebie 99% nke oge windo tupu ahapụ CPU),
Ọrụ dị otú ahụ nwere ike ime naanị onye nrụpụta.

N'ikpeazụ, mmemme nwere ike ịgbanwe omume ya ka oge na-aga. Ọrụ ndị ahụ
nke ejiri CPU mee ihe nwere ike ịghọ mmekọrịta. N'ihe atụ anyị, yiri ya
ọrụ agaghị enweta ọgwụgwọ kwesịrị ekwesị site n'aka onye nhazi usoro dịka ndị ọzọ ga-enweta
(mbụ) ọrụ mmekọrịta.

Ajụjụ maka ndị na-ege ntị: kedu ọgụ na onye nhazi oge nwere ike ime n'ụwa nke oge a?

Mgbalị 2: Ịbawanye mkpa

Ka anyị gbalịa ịgbanwe iwu ma hụ ma anyị nwere ike izere nsogbu
ibu ọnụ. Kedu ihe anyị nwere ike ime iji hụ na nke ahụ metụtara
Ọrụ CPU ga-enweta oge ha (ọbụlagodi ma ọ bụghị ogologo oge).
Dịka ngwọta dị mfe maka nsogbu ahụ, ị ​​nwere ike ịtụ aro kwa oge
bulie mkpa nke ọrụ niile dị otú ahụ na sistemụ. Enwere ọtụtụ ụzọ
Iji nweta nke a, ka anyị gbalịa ime ihe dị mfe dị ka ọmụmaatụ: ntụgharị
A na-enye ọrụ niile ọrụ ozugbo ihe kacha mkpa, ya mere iwu ọhụrụ:

  • Iwu5: Mgbe oge ụfọdụ S gachara, bugharịa ọrụ niile dị na sistemụ gaa n'ahịrị kacha elu.

Ọchịchị ọhụrụ anyị na-edozi nsogbu abụọ n'otu oge. Nke mbụ, usoro
a na-ekwe nkwa na agụụ agaghị agụ ya: a ga-ekewa ọrụ ndị kachasị mkpa
Oge CPU dabere na algọridim RR, yabụ usoro niile ga-enweta
CPU oge. Nke abuo, ma ọ bụrụ na ụfọdụ usoro na mbụ ji
naanị processor na-aghọ mmekọrịta, ọ ga-anọgide na kwụ n'ahịrị na kasị elu
mkpa mgbe ị nwetasịrị mmụba otu oge na mkpa na nke kachasị elu.
Ka anyị lee otu ihe atụ. Na nke a dịruru ná njọ, tụlee otu usoro iji
Sistemụ arụ ọrụ: Mpekere atọ dị mfe. Nkebi 5: Nhazi: Queue nzaghachi ọtụtụ ọkwa (nsụgharị)

CPU na abụọ mmekọrịta, obere usoro. N'aka ekpe na ọnụ ọgụgụ ahụ, ọnụ ọgụgụ ahụ na-egosi omume na-enweghị nkwalite mbụ, ya mere, ọrụ na-adị ogologo oge na-amalite agụụ mgbe ọrụ abụọ na-emekọrịta ihe rutere na usoro ahụ. Na ọnụ ọgụgụ dị n'aka nri, a na-eme mmụba dị mkpa ọ bụla 50ms ma si otú a na-ekwe nkwa na usoro niile ga-enweta oge CPU na a ga-amalite ya kwa oge. A na-ewere 50ms na nke a dị ka ihe atụ; n'ezie ọnụ ọgụgụ a dị ntakịrị elu.
N'ụzọ doro anya, ịgbakwụnye oge mmụba oge S na-eduga na
ajụjụ ezi uche: kedu uru kwesịrị ịtọ? Otu n'ime ndị a na-asọpụrụ
Ndị injinia sistemụ John Ousterhout kpọrọ ọnụọgụ dị na sistemu dị ka voo-doo
na-adịgide adịgide, ebe ọ bụ na ha n'ụzọ ụfọdụ chọrọ anwansi ojii maka eziokwu
na-egosipụta. Ma, ọ dị mwute ikwu, S nwere ísì dị otú ahụ. Ọ bụrụ na ị tọọkwa uru ahụ
nnukwu - ogologo ọrụ ga-amalite agụụ. Ma ọ bụrụ na ị tọọ uru dị oke ala,
Ọrụ mmekọrịta agaghị enweta oge CPU kwesịrị ekwesị.

Mgbalị 3: Akaụntụ ka mma

Ugbu a, anyị nwere nsogbu ọzọ iji dozie: ka esighị
ekwe ka ghọgbuo onye nhazi anyị? Ndị a ga-ata ụta maka ihe a nwere ike ime bụ
iwu 4a, 4b, nke na-enye ohere ka ọrụ jigide ụzọ, na-ahapụ onye nrụpụta
tupu oge ekenyere agwụ. Kedu ka esi eme nke a?
Enwere ike iwere ngwọta dị na nke a dị ka ndekọ ego kacha mma nke oge CPU na nke ọ bụla
Ọkwa MLFQ. Kama ichefu oge mmemme ahụ ji
processor maka oge ekenyela, ekwesịrị iburu n'uche ma chekwaa ya. Mgbe
usoro a ejirila oge ya, ekwesịrị iwetu ya na nke ọzọ
ọkwa dị mkpa. Ugbu a ọ baghị uru ka usoro a ga-esi jiri oge ya - kedu
na-agbakọ mgbe niile na processor ma ọ bụ dị ka ọnụọgụ oku. Ya mere,
Ekwesịrị idegharị iwu 4 n'ụdị a:

  • Iwu4: Mgbe ọrụ ejirila oge ekenye ya n'ahịrị dị ugbu a (n'agbanyeghị ugboro ole o wepụtara CPU), a na-ewetu ihe kacha mkpa nke ọrụ ahụ (ọ na-agbada n'ahịrị).

Ka anyị lee ihe atụ:
Sistemụ arụ ọrụ: Mpekere atọ dị mfe. Nkebi 5: Nhazi: Queue nzaghachi ọtụtụ ọkwa (nsụgharị)»

Ọnụ ọgụgụ ahụ na-egosi ihe na-eme ma ọ bụrụ na ị na-agbalị ịghọgbu onye nhazi oge, dị ka
ọ bụrụ na ọ dị na iwu ndị gara aga 4a, 4b ga-enweta nsonaazụ n'aka ekpe. Ezi ọhụrụ
iwu bụ nsonaazụ n'aka nri. Tupu nchedo, usoro ọ bụla nwere ike ịkpọ I/O tupu emechaa na
si otú a na-achịkwa CPU, mgbe o nyechara nchebe, n'agbanyeghị omume
M/O, ọ ka ga-agbada na kwụ n'ahịrị ma yabụ na ọ gaghị enwe ike ime ihe n'eziokwu
weghara akụrụngwa CPU.

Ịkwalite MLFQ na nsogbu ndị ọzọ

Site na nkwalite ndị dị n'elu na-abịa nsogbu ọhụrụ: otu n'ime isi
Ajụjụ - otu esi eme ka onye nhazi oge dị otú ahụ dị? Ndị ahụ. Ego ole ka ọ kwesịrị ịbụ
kwụ n'ahịrị? Kedu ihe kwesịrị ịbụ nha nke windo mmemme n'ime kwụ n'ahịrị? Kedu
Ekwesịrị ịbawanye mkpa mmemme iji zere agụụ na agụụ
buru n'uche mgbanwe omume mmemme? Ọ dịghị mfe azịza ajụjụ ndị a
zaa na naanị nnwale nwere ibu na nhazi na-esote
onye na-eme atụmatụ nwere ike ibute nguzozi na-eju afọ.

Dịka ọmụmaatụ, ọtụtụ mmejuputa MLFQ na-enye gị ohere ikenye dị iche iche
ogologo oge maka ahịrị dị iche iche. Ahịrị kacha mkpa na-abụkarị
A na-edepụta oge dị mkpirikpi. Ahịrị ndị a nwere ọrụ mmekọrịta,
ịgbanwee n'etiti nke dị nnọọ nro ma kwesịrị iwere 10 ma ọ bụ obere
ms. N'ụzọ dị iche, ahịrị ndị na-ebute ụzọ dị ala nwere ọrụ na-adị ogologo oge na-eji
CPU. Na nke a, ogologo oge etiti oge dabara nke ọma (100ms).
Sistemụ arụ ọrụ: Mpekere atọ dị mfe. Nkebi 5: Nhazi: Queue nzaghachi ọtụtụ ọkwa (nsụgharị)

N'ihe atụ a, e nwere ọrụ abụọ na-arụ ọrụ n'ahịrị 2 dị oke mkpa
ms, kewara na windo 10ms. 40ms n'etiti kwụ n'ahịrị (mpio 20ms) yana na mkpa dị ala
Window oge kwụ n'ahịrị ghọrọ 40ms ebe ọrụ rụchara ọrụ ha.

Mmejuputa Solaris OS nke MLFQ bụ klaasị nke nhazi oge.
Onye na-eme atụmatụ ga-enye otu tebụl nke na-akọwa kpọmkwem ka o kwesịrị
mkpa nke usoro na-agbanwe n'ime oge ndụ ya, ihe kwesịrị ịbụ nha
mpio ekenyela na ugboro ole ị ga-ebuli ihe kacha mkpa ọrụ. Onye nchịkwa
Sistemu nwere ike imekọrịta na tebụl a ma mee ka onye nhazi oge na-akpa àgwà
dị iche. Site na ndabara, tebụl a nwere ahịrị 60 yana mmụba nwayọ nwayọ
Ogo mpio site na 20ms (ihe kacha mkpa) ruo ọtụtụ narị ms (ihe kacha mkpa), na
jirikwa nkwalite ọrụ niile otu ugboro kwa nkeji.

Ndị ọzọ na-eme atụmatụ MLFQ anaghị eji tebụl ma ọ bụ ihe ọ bụla akọwapụtara
iwu na-kọwara na nke a okwu ihu ọha, n'ụzọ megidere, ha na-agbakọ mkpa iji
usoro mgbakọ na mwepụ. Dịka ọmụmaatụ, onye nhazi FreeBSD na-eji usoro maka
gbakọọ mkpa ugbu a nke ọrụ dabere n'ogologo oge usoro a dị
eji CPU. Na mgbakwunye, ojiji CPU na-emebi ka oge na-aga, ya mere
Ya mere, ịba ụba mkpa na-adị n'ụzọ dịtụ iche karịa ka akọwara n'elu. Nke a bụ eziokwu
akpọrọ algọridim ire ere. Kemgbe ụdị 7.1, FreeBSD ejirila ihe nhazi UL.

N'ikpeazụ, ọtụtụ ndị nhazi nhazi nwere atụmatụ ndị ọzọ. Dị ka ihe atụ, ụfọdụ
ndị nhazi oge na-edobe ọkwa kachasị elu maka ịrụ ọrụ nke sistemụ arụmọrụ yana ya mere
Ya mere, ọ dịghị usoro onye ọrụ nwere ike ịnweta ihe kacha mkpa na
usoro. Usoro ụfọdụ na-enye gị ohere ịnye ndụmọdụ iji nyere aka
onye na-eme atụmatụ nwere ike ịtọ ihe ndị ka mkpa ụzọ nke ọma. Dịka ọmụmaatụ, iji iwu ahụ ọ dị mma
ị nwere ike ịbawanye ma ọ bụ ibelata mkpa nke ọrụ wee si otú ahụ na-abawanye ma ọ bụ
belata ohere mmemme nke iji oge CPU.

MLFQ: Nchịkọta

Anyị akọwala ụzọ atụmatụ a na-akpọ MLFQ. Aha ya
agbachiri na ụkpụrụ nke ọrụ - ọ nwere ọtụtụ queues na-eji nzaghachi
iji chọpụta mkpa ọrụ.
Ụdị ikpeazụ nke iwu ga-adị ka ndị a:

  • Iwu1Ọ bụrụ na ebute ụzọ (A)> ebute ụzọ (B), ọrụ A ga-amalite (B agaghị)
  • Iwu2: Ọ bụrụ na ebute ụzọ (A) = ebute ụzọ (B), A&B na-amalite iji RR
  • Iwu3: Mgbe ọrụ na-abanye na sistemụ, a na-etinye ya n'ahịrị kacha mkpa.
  • Iwu4: Mgbe ọrụ ejirila oge ekenye ya n'ahịrị dị ugbu a (n'agbanyeghị ugboro ole o wepụtara CPU), a na-ewetu ihe kacha mkpa nke ọrụ ahụ (ọ na-agbada n'ahịrị).
  • Iwu5: Mgbe oge ụfọdụ S gachara, bugharịa ọrụ niile dị na sistemụ gaa n'ahịrị kacha elu.

MLFQ na-adọrọ mmasị maka ihe ndị a - kama ịchọ ihe ọmụma banyere ya
ọdịdị nke ọrụ ahụ tupu oge eruo, algọridim na-amụ omume gara aga nke ọrụ ahụ na nhazi
ebute ụzọ n'ihi ya. Ya mere, ọ na-anwa ịnọdụ ala n'oche abụọ n'otu oge - rụpụta mmepụta maka obere ọrụ (SJF, STCF) ma na-agba ọsọ ogologo oge,
Ọrụ na-ebu CPU. Ya mere, ọtụtụ sistemụ, gụnyere BSD na usoro ha.
Solaris, Windows, Mac na-eji ụfọdụ ụdị algọridim dị ka nhazi oge
MLFQ dị ka ntọala.

Ihe ndi ozo:

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

isi: www.habr.com

Tinye a comment