Nā Pūnaehana Hana: ʻEkolu Māmā Māmā. Mahele 5: Hoʻolālā: Līlani Manaʻo Manaʻo Nui (unuhi)

Hoʻolauna i nā ʻōnaehana hana

E Habr! Makemake wau e lawe i kou manaʻo i kahi ʻatikala-unuhi o kahi palapala hoihoi i koʻu manaʻo - OSTEP. Kūkākūkā hohonu kēia mea i ka hana o nā ʻōnaehana hana unix-like, ʻo ia hoʻi, ka hana me nā kaʻina hana, nā mea hoʻonohonoho like ʻole, ka hoʻomanaʻo, a me nā mea like ʻē aʻe i kūkulu i kahi OS hou. Hiki iā ʻoe ke ʻike i ke kumu o nā mea a pau ma aneʻi maanei. E ʻoluʻolu e hoʻomaopopo ʻoe ua hana ʻia ka unuhi me ka ʻole o ka ʻoihana (me ke kūʻokoʻa), akā ke manaʻo nei au ua paʻa ka manaʻo nui.

Hiki ke loaʻa ka hana lab ma kēia kumuhana ma aneʻi:

Nā ʻāpana ʻē aʻe:

Hiki iā ʻoe ke nānā i kaʻu channel ma telegram =)

Hoʻolālā: Līlani Manaʻo Manaʻo Nui

Ma kēia haʻawina, e kamaʻilio mākou e pili ana i nā pilikia o ka hoʻomohala ʻana i kekahi o nā ala kaulana loa
hoʻolālā, i kapa ʻia Līlani Manaʻo Manaʻo Nui (MLFQ). Ua wehewehe mua ʻia ka mea hoʻonohonoho MLFQ ma 1962 e Fernando J. Corbató i kahi ʻōnaehana i kapa ʻia
Pūnaehana Kaʻana Manawa Kūlike (CTSS). ʻO kēia mau hana (me nā hana hope ma
Multics) i koho ʻia no ka makana Turing. ʻO ka mea hoʻonohonoho
hoʻomaikaʻi ʻia a loaʻa i ka hiʻohiʻona i hiki ke loaʻa i loko
kekahi mau ʻōnaehana hou.

Ke ho'āʻo nei ka algorithm MLFQ e hoʻoponopono i nā pilikia overlapping kumu.
ʻO ka mea mua, e ho'āʻo ana e hoʻonui i ka manawa huli, e like me kā mākou i kūkākūkā ai ma ka haʻiʻōlelo mua, ua hoʻonui ʻia e ke ʻano o ka hoʻomaka ʻana ma ke poʻo o ka pila.
nā hana pōkole. Eia naʻe, ʻaʻole ʻike ka OS i ka lōʻihi o ka holo ʻana o kēia a i kēlā kaʻina hana, a me kēia
ʻike pono no ka hana o SJF, STCF algorithms. ʻO ka lua, MLFQ hoao
e pane i ka ʻōnaehana no nā mea hoʻohana (no ka laʻana, no ka poʻe e noho ana a
e nānā ana i ka pale oiai e kali ana i ka hana e hoʻopau) a pēlā e hōʻemi ai i ka manawa
pane. ʻO ka mea pōʻino, hoʻemi nā algorithms e like me RR i ka manawa pane, akā
loaʻa ka hopena maikaʻi ʻole i ka metric manawa huli. No laila ko mākou pilikia: Pehea e hoʻolālā ai
mea hoʻonohonoho e hoʻokō i kā mākou mau koi a ma ka manawa like ʻole ʻike ʻole e pili ana
ke ano o ka hana, ma ke ano nui? Pehea e aʻo ai ka mea hoʻonohonoho i nā ʻano o nā hana,
ʻo ia ka mea e hoʻomaka ai a pēlā e hana ai i nā hoʻoholo hoʻonohonoho maikaʻi?

ʻO ke kumu o ka pilikia: Pehea e hoʻolālā ai i ka hoʻonohonoho ʻana i nā hana me ka ʻole o ka ʻike piha?
Pehea e hoʻolālā ai i kahi mea hoʻonohonoho e hōʻemi i ka manawa pane
no nā hana pili a i ka manawa like e hōʻemi i ka manawa huli me ka ʻike ʻole
ʻike i ka manawa hoʻokō hana?

Nānā: ke aʻo ʻana mai nā hanana mua

He laʻana maikaʻi loa ka queue MLFQ o kahi ʻōnaehana i aʻo ʻia
nā hanana i hala e wānana i ka wā e hiki mai ana. ʻO ia mau ʻano hana pinepine
loaʻa i ka OS (A me nā lālā ʻē aʻe he nui i ka ʻepekema kamepiula, me nā lālā
nā wānana lako a me nā algorithms caching). Nā huakaʻi like
e hoʻomaka i ka wā e loaʻa ai nā ʻano hana a hiki ke wānana.
Eia naʻe, pono e makaʻala kekahi me kēia ʻenehana, no ka mea, maʻalahi loa nā wānana.
hiki ke lilo i hewa a alakaʻi i ka ʻōnaehana e hana i nā hoʻoholo ʻoi aku ka maikaʻi ma mua o
ʻaʻohe ʻike iki.

MLFQ: Nā rula kumu

E noʻonoʻo i nā lula kumu o ka MLFQ algorithm. A ʻoiai nā hoʻokō o kēia algorithm
aia kekahi, ua like nā ala kumu.
Ma ka hoʻokō a mākou e noʻonoʻo ai, loaʻa iā MLFQ kekahi mau
nā pila kaʻawale, e loaʻa i kēlā me kēia mea ka mea nui. I kēlā me kēia manawa,
aia ka hana i mākaukau no ka hoʻokō. Hoʻohana ʻo MLFQ i nā mea nui,
e hoʻoholo i ka hana e holo ai no ka hoʻokō, ʻo ia hoʻi. hana me ke kiekie
e hoʻomaka ʻia ka hana mua (kahi hana mai ka pila me ka mea nui loa).
laina laina.
ʻOiaʻiʻo, hiki ke ʻoi aku ma mua o hoʻokahi hana ma kahi pila, no laila
no laila e loaʻa iā lākou ka mea nui like. I kēia hihia, e hoʻohana ʻia ka mīkini
RR no ka hoʻolālā hoʻomaka ma waena o kēia mau hana.
No laila hiki mākou i ʻelua mau lula kumu no MLFQ:

  • Rule1: Inā hana mua(A) > Priority(B), holo ka hana A (ʻaʻole ʻo B)
  • Rule2: Inā hoʻohana mua (A) = Priority (B), hoʻomaka ʻia ʻo A&B me RR

Ma muli o ka mea i luna, ʻo nā mea nui i ka hoʻolālā ʻana i kahi MLFQ
he mau mea nui. Ma kahi o ka hāʻawi ʻana i ka manaʻo paʻa i kēlā me kēia
hana, hoʻololi ʻo MLFQ i kāna mea nui ma muli o ke ʻano i ʻike ʻia.
No ka laʻana, inā haʻalele mau kahi hana ma ka CPU oiai e kali ana no ka hoʻokomo kīpē,
Mālama ʻo MLFQ i ke kaʻina hana kiʻekiʻe no ka mea pēlā
Pono ke kaʻina hana pāʻani. Inā, ma kahi ʻē aʻe, ʻo ka hana mau a
he CPU ikaika no ka manawa lōʻihi, e hoʻohaʻahaʻa ʻo MLFQ iā ia
he mea nui. No laila, e aʻo ʻo MLFQ i ke ʻano o nā kaʻina hana i ka wā e holo ai lākou.
a hoʻohana i nā ʻano.
E kahakiʻi kākou i ke ʻano o nā queues i kekahi manawa
manawa a laila loaʻa iā ʻoe kekahi mea e like me kēia:
Nā Pūnaehana Hana: ʻEkolu Māmā Māmā. Mahele 5: Hoʻolālā: Līlani Manaʻo Manaʻo Nui (unuhi)

Ma kēia papahana, aia nā kaʻina 2 A a me B i ka laina me ka mea nui loa. Kaʻina hana
Aia ʻo C ma waena, a aia ke kaʻina D ma ka hope loa o ka pila. E like me ka mea i luna
nā wehewehe o ka algorithm MLFQ, e hoʻokō wale ka mea hoʻonohonoho i nā hana me ka mea kiʻekiʻe loa
ka mea nui e like me RR, a pau nā hana C, D.
ʻO ka mea maʻamau, ʻaʻole e hāʻawi kahi kiʻi paʻi kiʻi i ke kiʻi piha o ka hana ʻana o MLFQ.
Pono e hoʻomaopopo pono i ka loli ʻana o ke kiʻi i ka wā.

Ho'āʻo 1: Pehea e hoʻololi ai i ka mea nui

I kēia manawa, pono ʻoe e hoʻoholo pehea e hoʻololi ai ka MLFQ i ka pae mua
hana (a pēlā ke kūlana o ka hana ma ka pila) i kona wā e ola ai. No ka mea
o kēia, pono ʻoe e hoʻomanaʻo i ke kaʻina hana: kahi nui
nā hana pili me nā manawa holo pōkole (a pēlā e hoʻokuʻu pinepine ai
CPU) a me nā hana lōʻihi e hoʻohana ana i ka CPU i kā lākou manawa hana āpau, ʻoiai
ʻAʻole nui ka manawa pane no ia mau hana. A no laila hiki iā ʻoe ke hana i ka hoʻāʻo mua
e hoʻokō i ka MLFQ algorithm me kēia mau lula:

  • Rule3: Ke komo ka hana i ka ʻōnaehana, hoʻokomo ʻia i ka pila me ka mea kiʻekiʻe loa
  • mea nui.
  • Rule4a: Inā hoʻohana ka hana i kona puka aniani manawa holoʻokoʻa, a laila
  • hoemi ia ka mea mua.
  • Rule4b: Inā hoʻokuʻu kahi Task i ka CPU ma mua o ka pau ʻana o ka pukaaniani manawa, a laila
  • e mau ana me ka manao mua.

Laʻana 1: Hoʻokahi hana lōʻihi

E like me kāu e ʻike ai ma kēia hiʻohiʻona, ua hoʻonohonoho ʻia ka hana ma ke komo ʻana me ka mea kiʻekiʻe loa
mea nui. Ma hope o ka pukaaniani manawa 10ms, hoʻemi ʻia ke kaʻina hana i ka mea nui.
mea hoʻonohonoho. Ma hope o ka puka makani aʻe, ua hoʻemi ʻia ka hana i
haʻahaʻa mua i loko o ka ʻōnaehana, kahi e waiho ai.
Nā Pūnaehana Hana: ʻEkolu Māmā Māmā. Mahele 5: Hoʻolālā: Līlani Manaʻo Manaʻo Nui (unuhi)

Laʻana 2: Ua ʻohi i kahi hana pōkole

I kēia manawa e ʻike kākou i kahi laʻana o ka hoʻāʻo ʻana o MLFQ e hoʻokokoke iā SJF. I loko o kēlā
laʻana, ʻelua mau hana: A, ʻo ia ka hana lōʻihi mau
e noho ana i ka CPU a me ka B, he hana pōkole ia. Ina paha
ua holo mua ʻo A i ka manawa i hiki mai ai ka hana B.
Nā Pūnaehana Hana: ʻEkolu Māmā Māmā. Mahele 5: Hoʻolālā: Līlani Manaʻo Manaʻo Nui (unuhi)

Hōʻike kēia pakuhi i nā hopena o ke kūlana. Hana A, e like me kekahi hana,
ʻo ka hoʻohana ʻana i ka CPU aia ma lalo loa. Hiki mai ka hana B i ka manawa T=100 a hiki
kau ʻia ma ka pila koʻikoʻi. No ka pōkole o ka manawa holo,
e hoʻopau ʻia ma mua o ka hiki ʻana i ka pila hope.

Mai kēia hiʻohiʻona, pono ʻoe e hoʻomaopopo i ka pahuhopu nui o ka algorithm: ʻoiai ʻaʻole ka algorithm
ʻike i kahi hana lōʻihi a pōkole paha, a laila manaʻo mua ʻo ia ʻo ia ka hana
pōkole a hāʻawi i ka mea nui loa. Inā he hana pōkole maoli, a laila
e hoʻokō koke ia, inā ʻaʻole he hana lōʻihi e neʻe mālie
ma ka hana mua a e hōʻoia koke ʻo ia he hana lōʻihi ʻaʻole ia
pono i ka pane.

Laʻana 3: Pehea ʻo I/O?

I kēia manawa, e nānā kākou i kahi laʻana I/O. E like me ka olelo ma ka rula 4b,
inā hoʻokuʻu ke kaʻina hana me ka ʻole o ka hoʻohana piha ʻana i kona manawa kaʻina hana,
a laila noho mau ia ma ka pae mua. He maʻalahi ka manaʻo o kēia lula.
- inā hoʻokō ka hana pāʻani i ka nui o I/O, no ka laʻana, ke kali nei
mai nā kī kī a i ʻole ka ʻiole, ʻo ia hana e hoʻokuʻu i ka mea hana
ma mua o ka puka aniani i hāʻawi ʻia. ʻAʻole mākou makemake e haʻalele i kēlā hana mua,
a pela e mau ai ma ka pae like.
Nā Pūnaehana Hana: ʻEkolu Māmā Māmā. Mahele 5: Hoʻolālā: Līlani Manaʻo Manaʻo Nui (unuhi)

Hōʻike kēia hiʻohiʻona pehea e hana ai ka algorithm me nā kaʻina hana - hana pili B, pono wale ka CPU no 1ms ma mua o ka hoʻokō ʻana.
Kaʻina I/O a me kahi hana lōʻihi A, e hoʻohana ana i ka CPU i nā manawa a pau.
Mālama ʻo MLFQ i ke kaʻina hana B ma ke kūlana kiʻekiʻe loa ke hoʻomau nei
hoʻokuʻu i ka CPU. Inā he hana pili ʻo B, a laila ua hōʻea ka algorithm i kēia hihia
ʻO kāna kumu e hoʻomaka koke i nā hana pili.

Nā pilikia me ka MLFQ algorithm o kēia manawa

Ma nā hiʻohiʻona mua, ua kūkulu mākou i kahi mana kumu o MLFQ. A me he mea la oia
hana maikaʻi a kūpono hoʻi kāna hana, e puʻunaue pono i ka manawa CPU ma waena
nā hana lōʻihi a me ka ʻae ʻana i nā hana pōkole a i ʻole nā ​​​​hana i komo nui ʻia
i I/O e hana wikiwiki. ʻO ka mea pōʻino, aia i kēia ala he nui
pilikia nui.
ʻO ka mea mua, ka pilikia o ka pōloli: inā he nui ka pilina o ka ʻōnaehana
nā hana, e hoʻopau lākou i ka manawa CPU a no laila ʻaʻole lōʻihi
ʻAʻole loaʻa ka manawa e hoʻokō ʻia ai ka hana (ua pololi lākou).

ʻO ka lua, hiki i nā mea hoʻohana akamai ke kākau i kā lākou mau papahana no laila
hoʻopunipuni ka mea hoʻonohonoho. Aia ka hoopunipuni ma ka hana ana i mea e hooikaika ai
mea hoʻonohonoho e hāʻawi i ke kaʻina hana i ka manawa CPU. ʻO ka algorithm kēlā
i ho'ākāka 'ia ma luna nei, ua pilikia loa ia i ia mau hoouka: ma mua o ka hiki 'ana o ka puka makani
ma hope, pono ʻoe e hana i kahi hana I / O (i kekahi, ʻaʻohe mea o ka faila)
a pēlā e hoʻokuʻu ai i ka CPU. ʻO ia ʻano hana e ʻae iā ʻoe e noho i ka like
ka pila pono'ī a loaʻa hou ka hapa nui o ka manawa CPU. Inā hana
pololei kēia (e like me ka holo ʻana i ka 99% o ka manawa puka makani ma mua o ka hoʻokuʻu ʻana i ka CPU),
hiki i ia hana ke monopoli wale i ka mea hana.

ʻO ka hope, hiki i kahi polokalamu ke hoʻololi i kāna ʻano i ka manawa. ʻO kēlā mau hana
ka mea i hoʻohana i ka CPU hiki ke lilo i mea pili. I kā mākou laʻana, like
ʻAʻole e loaʻa nā hana kūpono mai ka mea hoʻonohonoho, e like me nā mea ʻē aʻe
(kumu) hana pili.

Nīnau i ka lehulehu: he aha nā hoʻouka ʻana i ka mea hoʻonohonoho i hiki ke hana i kēia ao hou?

Ho'āʻo 2: E hoʻonui i ka mea nui

E hoʻāʻo kākou e hoʻololi i nā lula a ʻike inā hiki iā mākou ke pale i nā pilikia me
pololi. He aha kā mākou e hana ai e hōʻoia i ka pili
E loaʻa i nā hana CPU ko lākou manawa (ʻoiai inā ʻaʻole lōʻihi).
Ma keʻano he hopena maʻalahi i ka pilikia, hiki iāʻoe ke'ōlelo i kēlā me kēia manawa
e hoʻonui i ka mea nui o ia mau hana i loko o ka ʻōnaehana. Nui nā ala
e hoʻokō i kēia, e hoʻāʻo kākou e hoʻokō i kahi mea maʻalahi ma ke ʻano he laʻana: unuhi
nā hana a pau i ka manawa hoʻokahi i ka mea kiʻekiʻe loa, no laila ke kānāwai hou:

  • Rula5: Ma hope o kekahi manawa S, e hoʻololi i nā hana a pau o ka ʻōnaehana i ka laina kiʻekiʻe loa.

Hoʻoponopono kā mākou lula hou i ʻelua pilikia i ka manawa hoʻokahi. ʻO ka mua, nā kaʻina hana
ʻaʻole pōloli: e kaʻana like nā hana ma ka laina kiʻekiʻe
ka manawa hana e like me ka RR algorithm a pēlā e loaʻa ai nā kaʻina hana a pau
manawa hana. ʻO ka lua, inā kekahi kaʻina hana i hoʻohana mua ʻia
ʻo ka mea hana wale nō ke lilo i mea pāʻani, e noho ia ma ka pila me ka mea kiʻekiʻe loa
ka mea nui ma hope o ka loaʻa ʻana o ka hoʻonui ʻana i ka mea nui i hoʻokahi manawa.
E noʻonoʻo i kekahi laʻana. Ma kēia hiʻohiʻona, e noʻonoʻo i kahi kaʻina hana hoʻokahi
Nā Pūnaehana Hana: ʻEkolu Māmā Māmā. Mahele 5: Hoʻolālā: Līlani Manaʻo Manaʻo Nui (unuhi)

ʻO ka CPU a me nā kaʻina hana pōkole ʻelua. Ma ka ʻaoʻao hema o ke kiʻi, hōʻike ke kiʻi i ke ʻano me ka hoʻonui ʻole ʻana i ka mea nui, a no laila e hoʻomaka ana ka hana lōʻihi e pōloli ma hope o ka hiki ʻana o ʻelua mau hana pili i ka ʻōnaehana. Ma ke kiʻi ma ka ʻākau, ʻo kēlā me kēia 50ms e hoʻonui ʻia ka hoʻonui ʻia a no laila e hōʻoiaʻiʻo ʻia nā kaʻina hana āpau e loaʻa ka manawa kaʻina hana a e hoʻomaka ʻia i kēlā me kēia manawa. Lawe ʻia ʻo 50ms i kēia hihia ma ke ʻano he laʻana, ʻoiaʻiʻo, ʻoi aku ka kiʻekiʻe o kēia helu.
ʻIke ʻia ka hoʻohui ʻana o ka manawa piʻi manawa S ke alakaʻi i
nīnau pili: he aha ka waiwai e kau ai? ʻO kekahi o nā mea kūpono
ʻO nā ʻenekini ʻōnaehana ʻo John Ousterhout i kuhikuhi i nā nui like i nā ʻōnaehana e like me voo-doo
mau, no ka mea, ua makemake lākou i ka ʻeleʻele no ka pololei
hōʻike. A ʻo ka mea pōʻino, he ʻono ko S. Inā hoʻonoho ʻoe i ka waiwai
nui nā hana lōʻihi e pōloli. A inā hoʻohaʻahaʻa loa ʻoe,
ʻAʻole e loaʻa i nā hana pili ka manawa CPU kūpono.

Ho'āʻo 3: ʻOi aku ka maikaʻi o ka moʻohelu kālā

I kēia manawa he hoʻokahi pilikia hou aʻe mākou e hoʻoponopono ai: pehea e ʻole ai
ʻae e hoʻopunipuni i kā mākou mea hoʻonohonoho? ʻO nā mea hewa no kēia hiki
Nā lula 4a, 4b e ʻae i kahi hana e mālama i kāna mea nui ma ka hoʻokuʻu ʻana i ka mea hana
mamua o ka pau ana o ka manawa i haawiia. Pehea e hana ai me ia?
Hiki ke noʻonoʻo ʻia ka hopena i kēia hihia he helu helu maikaʻi o ka manawa CPU ma kēlā me kēia
pae MLFQ. Ma kahi o ka poina i ka manawa i hoʻohana ʻia ai ka papahana
ka papa hana no ka manawa i hāʻawi ʻia, pono ʻoe e noʻonoʻo a mālama iā ia. Ma hope
ua hoʻopau ke kaʻina hana i kona manawa i hāʻawi ʻia, pono e hoʻemi ʻia i kahi aʻe
pae mua. I kēia manawa, ʻaʻole ia he mea nui pehea e hoʻohana ai ke kaʻina hana i kona manawa - pehea
e helu mau ana ma ke kaʻina hana a i ʻole ma ke ʻano he mau kelepona. Pela,
pono e kakau hou i ka rula 4 penei:

  • Rula4: Ma hope o ka hoʻohana ʻana o kahi hana i kāna manawa i hoʻokaʻawale ʻia i ka pila o kēia manawa (me ka ʻole o ka nui o ka manawa i hoʻokuʻu ʻia ai ka CPU), ua hoʻemi ʻia ka mea nui o ia hana (e neʻe i lalo i ka pila).

E nānā kākou i kekahi laʻana:
Nā Pūnaehana Hana: ʻEkolu Māmā Māmā. Mahele 5: Hoʻolālā: Līlani Manaʻo Manaʻo Nui (unuhi)»

Hōʻike ke kiʻi i ka mea e hana inā hoʻāʻo ʻoe e hoʻopunipuni i ka mea hoʻonohonoho like
ina me na rula mua 4a, 4b ka hopena ma ka hema. Me ka mea hou
aia ka lula ma ka ʻākau ka hopena. Ma mua o ka pale ʻana, hiki i kekahi kaʻina ke kelepona iā I/O ma mua o ka pau ʻana a
no laila e hoʻomalu i ka CPU, ma hope o ka ʻae ʻana i ka pale, me ka nānā ʻole i ke ʻano
I/O, e iho mau ana oia i ka laina a pela e hiki ole ai ke hana pono ole
lawe i nā kumuwaiwai CPU.

Hoʻomaikaʻi i ka MLFQ a me nā pilikia ʻē aʻe

Me ka hoʻomaikaʻi ʻana i luna, ua kū mai nā pilikia hou: ʻo kekahi o nā mea nui
nā nīnau - pehea e hoʻohālikelike ai i kahi mea hoʻonohonoho? ʻO kēlā mau. Pehea ka nui e pono ai
nā lālani? He aha ka nui o ka puka makani papahana i loko o ka pila? Pehea
Pono e hana mua ʻia ka papahana no ka pale ʻana i ka pōloli a
e noʻonoʻo i ka hoʻololi ʻana i ke ʻano o ka papahana? I kēia mau nīnau, ʻaʻohe mea maʻalahi
pane a me nā hoʻokolohua wale nō me nā ukana a me ka hoʻonohonoho hope
hiki i ka mea hoʻonohonoho ke alakaʻi i kahi kaulike kūpono.

No ka laʻana, ʻae ka hapa nui o nā hoʻokō MLFQ iā ʻoe e hāʻawi i nā ʻokoʻa
nā kau manawa no nā pila like ʻole. ʻO ka maʻamau ka nui o nā queue
wā pōkole. Aia kēia mau pila i nā hana pili,
ka hoʻololi ʻana ma waena o ia mea maʻalahi a pono e lawe i 10 a i ʻole
ms. ʻO ka ʻokoʻa, ʻo nā queue haʻahaʻa haʻahaʻa he mau hana lōʻihi e hoʻohana ai
CPU. A i kēia hihia, kūpono loa nā manawa lōʻihi (100ms).
Nā Pūnaehana Hana: ʻEkolu Māmā Māmā. Mahele 5: Hoʻolālā: Līlani Manaʻo Manaʻo Nui (unuhi)

Ma kēia hiʻohiʻona, aia nā hana 2 i hana i ka laina 20 kiʻekiʻe
ms i māhele ʻia i 10ms windows. 40ms ma ka laina waena (20ms pukaaniani) a ma ka pila haʻahaʻa haʻahaʻa
Ua lilo ka puka aniani manawa laina i 40ms kahi i hoʻopau ai nā hana i kā lākou hana.

ʻO ka hoʻokō ʻana o MLFQ i ka Solaris OS he papa o nā mea hoʻonohonoho manawa.
Hāʻawi ka mea hoʻonohonoho i kahi papaʻaina e wehewehe pono i ke ʻano e pono ai
hoʻololi i ka mea nui o ke kaʻina hana i ka wā o kona ola, he aha ka nui
puka makani e hoʻokaʻawale ʻia a pehea ka manawa e hoʻonui ai i nā mea nui. Lunahooponopono
Hiki i ka ʻōnaehana ke launa pū me kēia pākaukau a hana i ka mea hoʻonohonoho
ʻokoʻa. Ma ka maʻamau, loaʻa i kēia pākaukau he 60 queues me ka piʻi mālie
ka nui pukaaniani mai 20ms (ke kumu nui) a i kekahi mau haneri ms (ke kumu haʻahaʻa loa), a
me ka hoʻonui ʻana i nā hana a pau i hoʻokahi kekona.

ʻAʻole hoʻohana nā mea hoʻonohonoho MLFQ ʻē aʻe i kahi papaʻaina a i ʻole kekahi kikoʻī
nā lula i wehewehe ʻia ma kēia mokuna, ʻaʻole, helu lākou i nā mea nui e hoʻohana ana
huahelu makemakika. No ka laʻana, hoʻohana ka mea hoʻonohonoho ma FreeBSD i kahi kumu no
ka helu ʻana i ka hana mua ma muli o ka nui o ke kaʻina hana
hoʻohana i ka CPU. Eia kekahi, palaha ka hoʻohana ʻana o ka CPU i ka manawa, a pēlā
No laila, ʻokoʻa ka piʻi ʻana o ka mea nui ma mua o ka mea i hōʻike ʻia ma luna. He oiaio keia
kapa ʻia nā algorithm decay. E like me ka mana 7.1, hoʻohana ʻo FreeBSD i ka mea hoʻonohonoho ULE.

ʻO ka hope, nui nā mea hoʻolālā i nā hiʻohiʻona ʻē aʻe. Eia kekahi laʻana, kekahi
Mālama nā mea hoʻonohonoho i nā pae kiʻekiʻe no ka hana o ka ʻōnaehana hana a pēlā
No laila, ʻaʻole hiki i ka mea hoʻohana ke kiʻi i ka mea nui loa
ʻōnaehana. ʻAe kekahi mau ʻōnaehana iā ʻoe e hāʻawi i ka ʻōlelo aʻo e kōkua
ka mea hoʻonohonoho pono e hoʻonohonoho mua. No ka laʻana, hoʻohana i ke kauoha ʻoluʻolu
hiki iā ʻoe ke hoʻonui a hoʻemi paha i ka mea nui o kahi hana a pēlā e hoʻonui ai a hoʻemi paha
e ho'ēmi i ka manawa o ka papahana no ka manawa CPU.

MLFQ: Hōʻuluʻulu manaʻo

Ua wehewehe mākou i kahi ala hoʻolālā i kapa ʻia ʻo MLFQ. Kona inoa
i hoʻopau ʻia ma ke kumu o ka hana - he nui nā queues a hoʻohana i ka manaʻo
e hoomua i ka hana.
Penei ke ano hope o na rula:

  • Rula1: Inā pono (A) > Manaʻo (B), holo ka hana A (ʻaʻole ʻo B)
  • Rula2: Inā hoʻohana mua (A) = Priority (B), hoʻomaka ʻia ʻo A&B me RR
  • Rula3: Ke komo ka hana i ka ʻōnaehana, hoʻonoho ʻia ia i ka pila kiʻekiʻe loa.
  • Rula4: Ma hope o ka hoʻohana ʻana o kahi hana i kāna manawa i hoʻokaʻawale ʻia i ka pila o kēia manawa (me ka ʻole o ka nui o ka manawa i hoʻokuʻu ʻia ai ka CPU), ua hoʻemi ʻia ka mea nui o ia hana (e neʻe i lalo i ka pila).
  • Rula5: Ma hope o kekahi manawa S, e hoʻololi i nā hana a pau o ka ʻōnaehana i ka laina kiʻekiʻe loa.

He mea hoihoi ka MLFQ no kēia kumu - ma kahi o ke koi ʻana i ka ʻike e pili ana
ʻO ke ʻano o ka hana ma mua, e aʻo ka algorithm i ka hana i hala o ka hana a me nā hoʻonohonoho
nā mea nui e like me ia. No laila, ho'āʻo ʻo ia e noho ma nā noho ʻelua i ka manawa hoʻokahi - e hoʻokō i ka hana no nā hana liʻiliʻi (SJF, STCF) a holo pololei i nā mea lōʻihi,
Nā hana hoʻouka CPU. No laila, nui nā ʻōnaehana, me ka BSD a me kā lākou derivatives,
Hoʻohana ʻo Solaris, Windows, Mac i kekahi ʻano algorithm e like me ka mea hoʻonohonoho
MLFQ ma ke ʻano he kumu.

Nā kumuwaiwai hou:

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

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka