Pūnaha Whakahaere: E toru nga waahanga ngawari. Wāhanga 4: He kupu whakataki ki te kaihōtaka (whakamaori)

He Kupu Whakataki ki nga Pūnaha Whakahaere

Hei Habr! E hiahia ana ahau ki te kawe mai ki a koe he raupapa tuhinga-whakamaoritanga o tetahi tuhinga whakamere ki taku whakaaro - OSTEP. Ka tino matapakihia e tenei rauemi nga mahi o nga punaha whakahaere rite-unix, ara, te mahi me nga tikanga, nga momo kaihōtaka, mahara, me etahi atu waahanga rite e hanga ana i te OS hou. Ka taea e koe te kite i te taketake o nga rawa katoa i konei konei. Kia mahara ko te whakamaoritanga he mea kore noa (he tino kore noa), engari ko taku tumanako ka mau tonu te tikanga whanui.

Ko nga mahi taiwhanga mo tenei kaupapa ka kitea i konei:

Ko etahi atu waahanga:

Ka taea hoki e koe te tirotiro i taku hongere i waea waea =)

Introduction to Kaihōtaka

Ko te ngako o te raruraru: Me pehea te whakawhanake i te kaupapa here kaiwhakarite
Me pehea te hanga i nga anga kaupapa here a te kaiwhakarite? He aha nga whakaaro matua? He aha nga inenga he mea nui? He aha nga tikanga taketake i whakamahia i roto i nga punaha rorohiko moata?

Nga Whakaaro Utamahi

I mua i te matapaki i nga kaupapa here ka taea, me hanga e tatou etahi rereke whakangawari mo nga tukanga e whakahaere ana i roto i te punaha, e kiia nei. kawenga mahi. Ko te tautuhi i te kawenga mahi he waahanga nui o nga kaupapa here hanga whare, me te nui ake o to mohio mo te taumahatanga mahi, ka pai ake te kaupapa here ka taea e koe te tuhi.

Me hanga nga whakaaro e whai ake nei mo nga tukanga e rere ana i roto i te punaha, i etahi wa ka kiia ano mahi (nga mahi). Tata ki te katoa o enei whakaaro ehara i te mea pono, engari e tika ana mo te whanaketanga o te whakaaro.

  1. He rite tonu te roa o ia mahi,
  2. Kua whakaritea nga mahi katoa i te wa kotahi,
  3. Ka mahi te mahi kua whakaritea kia oti ra ano,
  4. Ka whakamahi nga mahi katoa i te PTM anake,
  5. E mohiotia ana te wa whakahaere o ia mahi.

Inenga Kaihōtaka

I tua atu i etahi whakaaro mo te kawenga, ka hiahiatia tetahi atu taputapu mo te whakataurite i nga kaupapa here rereke rereke: nga inenga kairangi. Ko te ine he ine noa o tetahi mea. He maha nga inenga ka taea te whakamahi hei whakataurite i nga kaihōtaka.

Hei tauira, ka whakamahia e matou he inenga e kiia nei wā huri (te wa huri). Ko te wa huri mahi ko te rereketanga i waenga i te wa whakaoti mahi me te wa tae mai mahi i roto i te punaha.

Tturnaround=Tcompletion−Tarrival

I te mea i whakaaro matou i tae mai nga mahi katoa i te wa kotahi, katahi ka Ta=0 ka penei ko Tt=Tc. Ka huri noa tenei uara ina huri tatou i nga whakapae o runga ake nei.

Tetahi atu ine - tika (te tika, te pono). Ko te hua me te totika he whakahē i nga ahuatanga o te whakamahere. Hei tauira, ka arotau pea te kaiwhakariterite i te mahi, engari i te utu mo te tatari mo etahi atu mahi kia rere, na reira ka whakaiti i te tika.

TUATAHI KI TE TUATAHI (FIFO)

Ko te algorithm tino taketake ka taea e tatou te whakatinana ko te FIFO ranei tuatahi haere mai (ki roto), tuatahi mahi (ki waho). He maha nga painga o tenei algorithm: he tino ngawari ki te whakatinana me te pai ki o maatau whakaaro me te mahi pai.

Ka titiro tatou ki tetahi tauira ngawari. Me kii e 3 nga mahi i whakaritea i te wa kotahi. Engari me whakaaro ko te mahi a A i tae wawe atu i era atu katoa, no reira ka puta ki te rarangi mahi i mua atu i era atu, pera i a B e pa ana ki a C. Me whakaaro ka mahia mo te 10 hēkona. He aha te wa toharite hei whakaoti i enei mahi i tenei keehi?

Pūnaha Whakahaere: E toru nga waahanga ngawari. Wāhanga 4: He kupu whakataki ki te kaihōtaka (whakamaori)

Ma te tatau i nga uara - 10+20+30 me te wehewehe ki te 3, ka whiwhi tatou i te wa roa o te mahinga o te papatono rite ki te 20 hēkona.
Inaianei me ngana ki te whakarereke i o tatou whakaaro. Ina koa, ko te whakapae 1 ka kore matou e kii he rite tonu te wa e mahia ai e ia mahi. Ka pehea te mahi a te FIFO i tenei wa?

I te mea ka puta, he rerekee nga waa mahi ka pa te kino ki te hua o te FIFO algorithm. Me whakaaro tatou ka 100 hēkona te mahi a A, ko B me C ka 10 hēkona ia.

Pūnaha Whakahaere: E toru nga waahanga ngawari. Wāhanga 4: He kupu whakataki ki te kaihōtaka (whakamaori)

Ka kitea mai i te ahua, ko te wa toharite mo te punaha ko (100+110+120)/3=110. Ka kiia tenei paanga pānga tira, i te wa e tutira ana etahi kaihoko mo te wa poto o tetahi rauemi i muri i tetahi kaihoko taumaha. He rite ki te raina i te toa toa ina he kaihoko kei mua i a koe me te kaata katoa. Ko te otinga pai mo te raru ko te ngana ki te huri i te rehita putea, whakangawari ranei me te manawa hohonu.

Mahi Poto Tuatahi

Ka taea te whakatau i tetahi ahuatanga rite ki nga tikanga taumaha? He pono. Ko tetahi atu momo whakamahere ka kiiaMahi Poto Tuatahi (SJF). Ko tana algorithm he ahua o mua - e ai ki te ingoa, ko nga mahi poto rawa ka whakarewahia i te tuatahi, tetahi i muri i tetahi.

Pūnaha Whakahaere: E toru nga waahanga ngawari. Wāhanga 4: He kupu whakataki ki te kaihōtaka (whakamaori)

I roto i tenei tauira, ko te hua o te whakahaere i nga tikanga ano he whakapai ake i te waa hurihanga o te hotaka, ka rite ki 50 hei utu mo te 110, he tata ki te 2 nga wa pai ake.

No reira, mo te whakaaro kua tae mai nga mahi katoa i te wa kotahi, ko te SJF algorithm te ahua o te algorithm tino pai rawa atu. Heoi ano, kaore ano i te ahua pono o tatou whakaaro. I tenei wa ka huri tatou i te whakapae 2 me tenei wa ka whakaaro ka taea nga mahi i nga wa katoa, kaore i te katoa i te wa kotahi. He aha nga raruraru ka taea e tenei?

Pūnaha Whakahaere: E toru nga waahanga ngawari. Wāhanga 4: He kupu whakataki ki te kaihōtaka (whakamaori)

Whakaarohia ko te mahi A (100c) ka tae tuatahi ka timata te mahi. I te t=10, ka tae mai nga mahi B me C, he 10 hekona te roa o ia mahi. No reira ko te wa roa o te mahi ko (100+(110-10)+(120-10))3 = 103. He aha te mahi a te kaiwhakariterite hei whakapai ake i tenei?

Wā Poto-ki-Whakaoti Tuatahi (STCF)

Hei whakapai ake i te ahuatanga, ka whakakorehia te whakapae 3 ka whakarewahia te hotaka ka haere kia oti ra ano. I tua atu, ka hiahia matou ki te tautoko taputapu, me te whakaaro koe, ka whakamahia e matou waahi ki te haukoti i tetahi mahi whakahaere me te hurihanga horopaki. No reira, ka taea e te kaiwhakariterite tetahi mea i te wa ka tae mai nga mahi B, C - mutu te mahi i te mahi A ka tukuna nga mahi B me C ki roto ki te tukatuka, a, i muri i te otinga, ka haere tonu ki te whakahaere i te tukanga A. STCFranei Tuhinga o mua Job Tuatahi.

Pūnaha Whakahaere: E toru nga waahanga ngawari. Wāhanga 4: He kupu whakataki ki te kaihōtaka (whakamaori)

Ko te hua o tenei mahere ko nga hua e whai ake nei: ((120-0)+(20-10)+(30-10))/3=50. No reira, ka tino pai ake te ahua o te raarangi mo a maatau mahi.

Wā Whakautu ine

No reira, ki te mohio tatou ki te wa whakahaere o nga mahi ka whakamahia e enei mahi te PTM anake, ko STCF te otinga pai. A i nga wa o mua, he pai te mahi o enei algorithms. Heoi, ka noho te kaiwhakamahi i te nuinga o tona wa ki te tauranga me te tumanako kia whai wheako tauwhitiwhiti whai hua. No reira i whanau mai he inenga hou - te wa whakautu (whakautu).

Ko te wa whakautu ka tatauhia penei:

Tresponse=Tfirsrun−Tarrival

No reira, mo te tauira o mua, ko te wa whakautu: A=0, B=0, C=10 (abg=3,33).

Na ka puta ko te STCF algorithm kaore i te tino pai i roto i te waahi ka tae mai nga mahi 3 i te wa kotahi - me tatari kia oti katoa nga mahi iti. Na he pai te algorithm mo te inenga wa huri, engari he kino mo te inenga tauwhitiwhiti. Whakaarohia mena kei te noho koe i te tauranga e ngana ana ki te pato i nga tohu ki roto i te kaiwhakatika me te tatari neke atu i te 10 hēkona na te mea kei te mahi etahi atu mahi i te PTM. Ehara i te mea tino pai.

Pūnaha Whakahaere: E toru nga waahanga ngawari. Wāhanga 4: He kupu whakataki ki te kaihōtaka (whakamaori)

Na kei te raru ano tatou - me pehea e hanga ai i tetahi kaihōtaka e aro nui ana ki te wa whakautu?

Robin Rauna

I hangaia he algorithm hei whakaoti i tenei raru Robin Rauna (RR). He tino ngawari te whakaaro matua: hei utu mo te whakahaere i nga mahi kia oti ra ano, ka whakahaerea e matou te mahi mo tetahi waa (e kiia ana ko te waahanga wa) ka huri ki tetahi atu mahi mai i te rarangi. Ka whakahoki ano te algorithm i ana mahi kia oti ra ano nga mahi katoa. I roto i tenei take, ko te wa whakahaere o te hotaka me he maha o nga wa ka mutu ka haukotia e te matawā te mahi. Hei tauira, ki te haukotia e te matawā te tukanga ia x=10ms, ko te rahi o te matapihi mahi tukanga me taurea o te 10 me te 10,20, x*10 ranei.

Me titiro tatou ki tetahi tauira: Ka tae mai nga mahi ABC i te wa kotahi ki roto i te punaha ka hiahia ia o ratou kia oma mo te 5 hēkona. Ma te SJF algorithm e whakaoti ia mahi i mua i te tiimata i tetahi atu. Engari, ko te RR algorithm me te matapihi whakarewatanga = 1s ka haere i roto i nga mahi e whai ake nei (Fig. 4.3):

Pūnaha Whakahaere: E toru nga waahanga ngawari. Wāhanga 4: He kupu whakataki ki te kaihōtaka (whakamaori)
(SJF Ano (Kino mo te Wa Whakautu)

Pūnaha Whakahaere: E toru nga waahanga ngawari. Wāhanga 4: He kupu whakataki ki te kaihōtaka (whakamaori)
(Round Robin (He pai mo te wa whakautu)

Ko te wa whakautu toharite mo te RR algorithm ko (0+1+2)/3=1, ko te SJF (0+5+10)/3=5.

He mea tika ki te whakaaro ko te matapihi wa he tawhā tino nui mo te RR; ko te iti ake, ko te teitei ake o te wa whakautu. Heoi, kaua e iti rawa, i te mea ka whai waahi ano te wa whakawhiti horopaki i roto i nga mahi katoa. No reira, ko te kowhiringa o te wa matapihi mahi ka whakatauhia e te kaitoi OS me te whakawhirinaki ki nga mahi kua whakamaheretia kia mahia ki roto. Ko te huri i te horopaki ehara i te mea anake te mahi ratonga e moumou ana te taima - he maha atu nga mea kei te whakahaere te kaupapa whakahaere, hei tauira, nga momo keteroki, a ma ia huringa he mea tika ki te penapena me te whakaora i tenei taiao, ka taea hoki te nui wā.

Ko te RR he kaihoroi pai mena kei te korero noa tatou mo te inenga wa whakautu. Engari me pehea te mahi a te inenga wa huri mahi me tenei algorithm? Whakaarohia te tauira i runga ake nei, ina tae mai te wa mahi o A, B, C = 5s ka tae ki te wa kotahi. Ka mutu te mahi A i te 13, ko te B ki te 14, ko te C hei te 15s, a ko te toharite hurihanga he 14s. No reira, ko te RR te algorithm kino rawa atu mo te ine hurihanga.

I roto i nga tikanga whanui, he tika nga momo momo RR algorithm; ka wehewehe i te wa PTM i waenga i nga mahi katoa. Na, ko enei inenga ka taupatupatu tonu tetahi ki tetahi.

No reira, he maha o taatau momo hātepe me te wa ano he maha tonu nga whakapae e toe ana - kua mohiotia te wa mahi me te whakamahi i te PTM anake te mahi.

Te ranu ki te I/O

Tuatahi, me tango te whakapae 4 ko te mahi anake e whakamahi ana i te PTM; ma te tikanga, ehara tenei i te keehi ka taea e nga tukanga te uru atu ki etahi atu taputapu.

I te wa e tono ana tetahi tukanga i tetahi mahi I/O, ka uru te tukanga ki te ahua kua aukatihia, e tatari ana kia oti te I/O. Mēnā ka tukuna a I/O ki te puku mārō, ka roa pea te roa o te mahi penei, ka noho mangere te tukatuka i tenei wa. I tenei wa, ka taea e te kaihōtaka te noho ki te tukatuka me etahi atu tukanga. Ko te whakatau e whai ake nei ka mahia e te kaiwhakariterite ko te wa ka oti te mahi i tana I/O. Ka pa ana tenei, ka puta he haukoti, ka tukuna e te OS te tukanga e kiia nei ko te I/O ki te ahua rite.

Kia titiro tatou ki tetahi tauira o nga raruraru maha. Me 50ms o te wa PTM ia o ratou. Heoi, ka uru te tuatahi ki te I/O ia 10ms (ka mahia hoki ia 10ms). Ka whakamahi noa te tukanga B i te tukatuka 50ms me te kore I/O.

Pūnaha Whakahaere: E toru nga waahanga ngawari. Wāhanga 4: He kupu whakataki ki te kaihōtaka (whakamaori)

I roto i tenei tauira ka whakamahia e matou te mahere STCF. Ka pehea te mahi a te kaihōtaka mena ka whakarewahia he tukanga penei i te A? Ka mahia e ia nga mea e whai ake nei: i te tuatahi ka tino mahi ia i te tukanga A, ka oti te mahi B.

Pūnaha Whakahaere: E toru nga waahanga ngawari. Wāhanga 4: He kupu whakataki ki te kaihōtaka (whakamaori)

Ko te huarahi tuku iho ki te whakaoti rapanga ko te mahi i ia 10 ms mahi iti o te tukanga A hei mahi motuhake. No reira, i te tiimata me te STJF algorithm, ka kitea te kowhiri i waenga i te mahi 50 ms me te mahi 10 ms. Na, ka oti te mahi iti A, ka whakarewahia te tukanga B me I/O. Ka oti te I/O, he tikanga kia timata ano te tukanga 10ms A hei utu mo te tukanga B. I tenei ara, ka taea te whakatinana inaki, kei te whakamahia te PTM e tetahi atu tukanga i te wa e tatari ana te tuatahi mo te I/O. Ko te mutunga, he pai ake te whakamahi i te punaha - i te wa e tatari ana nga tukanga taunekeneke mo te I/O, ka taea etahi atu tukanga ki te tukatuka.

Kua kore te Oracle

Inaianei me ngana ki te whakakore i te whakaaro kua mohiotia te wa whakahaere o te mahi. Koinei te whakapae kino rawa atu me te kore pono i runga i te rarangi katoa. Inaa, i roto i te OS noa noa, ko te OS ake he iti noa te mohio mo te wa mahi o nga mahi, na me pehea e taea ai e koe te hanga i te raarangi me te kore e mohio ki te roa o te mahi ka mahia? Ka taea pea e tatou te whakamahi etahi maataapono RR hei whakaoti i tenei raru?

Ko te hua

I titiro matou ki nga whakaaro taketake o te whakarite mahi me te titiro ki nga whanau e 2 o nga kaiwhakarite. Ko te mea tuatahi ka timata i te mahi poto rawa i te tuatahi ka nui ake te wa hurihanga, ko te tuarua ka haea i waenga i nga mahi katoa kia rite, ka piki ake te wa whakautu. He kino nga algorithms e rua he pai nga algorithms o tetahi atu whanau. I titiro ano matou me pehea e taea ai e te whakamahi whakarara o te PTM me te I/O te whakapai ake i nga mahi, engari kaore i whakatauhia te raru ki te maarama OS. A, hei te akoranga e whai ake nei ka titiro tatou ki tetahi kaiwhakatakoto whakaaro e titiro ana ki nga wa o mua me te ngana ki te matapae mo nga ra kei mua. A ka kiia ko te rarangi urupare taumata-maha.

Source: will.com

Tāpiri i te kōrero