Rafitra fiasana: Telo mora. Fizarana 5: Fanomanana: Filaharana fanehoan-kevitra marobe (fandikan-teny)

Fampidirana ny Rafitra fiasana

Hey Habr! Te-hitondra ny sainao andian-dahatsoratra aho - fandikana literatiora iray mahaliana araka ny hevitro - OSTEP. Ity fitaovana ity dia miresaka lalina momba ny asan'ny rafitra miasa toy ny unix, izany hoe, miasa miaraka amin'ireo dingana, fandaharam-potoana isan-karazany, fitadidiana ary singa mitovy amin'izany izay mandrafitra OS maoderina. Hitanao eto ny tany am-boalohany amin'ny fitaovana rehetra eto. Azafady, mariho fa ny fandikan-teny dia natao tamin'ny fomba tsy matihanina (tena malalaka), saingy manantena aho fa nitazona ny dikany ankapobeny.

Ny asa laboratoara momba ity lohahevitra ity dia azo jerena eto:

Fizarana hafa:

Azonao atao ihany koa ny mijery ny fantsona ao amin'ny telegrama =)

Planning: Filaharana fanehoan-kevitra marobe

Amin'ity lahateny ity dia hiresaka momba ny olana amin'ny fampivoarana ny iray amin'ireo fomba malaza indrindra isika
drafitra, izay atao hoe Filaharana fanehoan-kevitra marobe (MLFQ). Ny fandaharam-potoana MLFQ dia nofaritana voalohany tamin'ny 1962 nataon'i Fernando J. CorbatΓ³ tamin'ny rafitra iray antsoina hoe
Rafitra fifampizarana fotoana mifanentana (CTSS). Ireo asa ireo (anisan'izany ny asa manaraka
Multics) dia voatendry ho an'ny Turing Award avy eo. Ny fandaharam-potoana dia
nohatsaraina avy eo ary nahazo ny endrika efa hita ao
rafitra maoderina sasany.

Ny algorithm MLFQ dia manandrana mamaha olana 2 mifanipaka fototra.
Voalohany, dia miezaka manatsara ny fotoana fihodinana, izay, araka ny noresahina tamin'ny lahateny teo aloha, dia nohatsaraina tamin'ny fomba fanombohana eo amin'ny lohan'ny filaharana indrindra.
asa fohy. Na izany aza, tsy fantatry ny OS hoe hafiriana no handrosoan'ity dingana ity, ary ity
fahalalana ilaina amin'ny fampandehanana ny algorithm SJF, STCF. Faharoa, MLFQ manandrana
ataovy mamaly ny mpampiasa ny rafitra (ohatra, ho an'ireo izay mipetraka sy
mibanjina ny efijery eo am-piandrasana ny fahavitan'ny asa) ka manamaivana ny fotoana
valiny. Mampalahelo fa ny algorithm toy ny RR dia mampihena ny fotoana famaliana, saingy
misy fiantraikany ratsy amin'ny metrikan'ny fotoana fihodinana. Noho izany ny olanay: Ahoana ny famolavolana
scheduler izay mahafeno ny fepetra takinay ary tsy mahalala na inona na inona momba izany
ny toetry ny dingana, amin'ny ankapobeny? Ahoana no ahafahan'ny mpandrindra mianatra ny toetran'ny asa,
izay atombony ary noho izany dia mandray fanapahan-kevitra tsara kokoa momba ny fandaharam-potoana?

Ny fototry ny olana: Ahoana ny fomba hanomanana ny fametrahana asa tsy misy fahalalana tonga lafatra?
Ahoana ny fandrafetana fandaharam-potoana izay manamaivana ny fotoana famaliana
ho an'ny asa ifanakalozan-kevitra ary amin'izay fotoana izay dia manamaivana ny fotoana fanodinana tsy misy fahalalana
fahalalana ny fotoana fanatanterahana asa?

Fanamarihana: mianatra avy amin'ny zava-nitranga teo aloha

Ny filaharana MLFQ dia ohatra tena tsara amin'ny rafitra iray nampiofanina
zava-nitranga taloha mba haminavina ny ho avy. Matetika ny fomba fiasa toy izany
hita ao amin'ny OS (Ary sampana maro hafa amin'ny siansa informatika, anisan'izany ny sampana
faminaniana momba ny fitaovana sy algorithms caching). Dia mitovy
mipoitra rehefa manana dingana fitondran-tena ny asa ary azo vinavinaina.
Na izany aza, tokony hitandrina amin'ity teknika ity ny olona iray, satria ny faminaniana dia tena mora.
mety hivadika ho diso ary hitarika ny rafitra handray fanapahan-kevitra ratsy noho
ho tsy misy fahalalana mihitsy.

MLFQ: Fitsipika fototra

Diniho ny fitsipika fototra amin'ny algorithm MLFQ. Ary na dia ny fampiharana ity algorithm ity
misy maromaro, mitovy ny fomba fiasa fototra.
Amin'ny fampiharana izay hodinihintsika dia hanana maromaro ny MLFQ
filaharana misaraka, izay samy hanana laharam-pahamehana ny tsirairay. amin'ny fotoana rehetra,
eo amin'ny filaharana iray ihany ny asa vonona hotanterahina. MLFQ dia mampiasa laharam-pahamehana,
hanapa-kevitra izay asa hatao ho an'ny famonoana, i.e. asa amin'ny ambony
laharam-pahamehana (asa avy amin'ny filaharana manana laharam-pahamehana ambony indrindra) no hatomboka voalohany
filaharana.
Mazava ho azy fa mety misy asa mihoatra ny iray ao amin'ny filaharana manokana, noho izany
ka hitovy ny laharam-pahamehana. Amin'ity tranga ity, ny mekanika dia hampiasaina
RR ho an'ny drafitra fanombohana amin'ireo asa ireo.
Noho izany dia tonga amin'ny fitsipika fototra roa momba ny MLFQ isika:

  • Fitsipika 1: Raha laharam-pahamehana (A) > Laharam-pahamehana (B), ny asa A dia mandeha (B tsy ho)
  • Fitsipika2: Raha laharam-pahamehana(A) = Laharam-pahamehana(B), dia manomboka mampiasa RR ny A&B

Mifototra amin'ireo voalaza etsy ambony ireo, ireo singa fototra amin'ny famolavolana MLFQ dia
laharam-pahamehana. Fa tsy manome laharam-pahamehana ny tsirairay
asa, manova ny laharam-pahamehana ny MLFQ miankina amin'ny fihetsika voamarika.
Ohatra, raha mijanona tsy tapaka amin'ny CPU ny asa iray eo am-piandrasana ny fampidirana klavier,
Ny MLFQ dia hitazona ny laharam-pahamehana ho laharam-pahamehana satria izany no fomba
ny dingana interactive dia tokony hiasa. Raha, ny mifanohitra amin`izany, ny asa dia tsy tapaka sy
dia CPU mafimafy mandritra ny fotoana maharitra, ny MLFQ dia hampidina azy io
laharam-pahamehana. Noho izany, ny MLFQ dia handalina ny fitondran-tenan'ireo dingana amin'ny fotoana iasany.
ary mampiasa fitondrantena.
Andeha isika hanao ohatra momba ny mety ho endriky ny filaharana amin'ny fotoana iray
fotoana ary avy eo dia mahazo zavatra toy izao ianao:
Rafitra fiasana: Telo mora. Fizarana 5: Fanomanana: Filaharana fanehoan-kevitra marobe (fandikan-teny)

Amin'ity rafitra ity, dingana 2 A sy B no eo amin'ny filaharana manana laharam-pahamehana ambony indrindra. DINGANA
C dia eo afovoany, ary ny dingana D dia eo amin'ny faran'ny filaharana. Araka ny voalaza etsy ambony
Ny famaritana ny algorithm MLFQ, ny mpandrindra dia hanatanteraka asa miaraka amin'ny avo indrindra ihany
laharam-pahamehana araka ny RR, ary ny asa C, D dia tsy miasa.
Mazava ho azy, tsy hanome sary feno momba ny fomba fiasan'ny MLFQ ny sary static.
Zava-dehibe ny mahatakatra tsara ny fiovan'ny sary rehefa mandeha ny fotoana.

Andrana 1: Ahoana no hanovana ny laharam-pahamehana

Amin'izao fotoana izao, mila manapa-kevitra ianao hoe ahoana no hanovan'ny MLFQ ny laharam-pahamehana
asa (ary noho izany ny toerana misy ny asa ao amin'ny filaharana) mandritra ny androm-piainany. HO AN'NY
amin'izany, mila mitadidy ny fizotran'ny asa ianao: vola iray
asa ifanakalozan-kevitra miaraka amin'ny fotoana fohy (ary noho izany dia famoahana matetika
CPU) ary asa lava maromaro izay mampiasa ny CPU mandritra ny fotoana fiasan'izy ireo
ny fotoana famaliana ny asa toy izany dia tsy zava-dehibe. Ary mba hahafahanao manao ny andrana voalohany
ampiharo ny algorithm MLFQ miaraka amin'ireto fitsipika manaraka ireto:

  • Fitsipika3: Rehefa miditra ao amin'ny rafitra ny asa iray dia apetraka ao amin'ny filaharana misy ny ambony indrindra
  • laharam-pahamehana.
  • Rule4a: Raha mampiasa ny varavarankelin'ny fotoanany manontolo ny asa iray, dia izany
  • ahena ny laharam-pahamehana.
  • Rule4b: Raha misy Task iray mamoaka ny CPU alohan'ny hifaranan'ny varavarankelin'ny fotoanany, dia izany
  • mijanona ho laharam-pahamehana ihany.

Ohatra 1: Asa tokana maharitra

Araka ny hitanao amin'ity ohatra ity, ny asa amin'ny fidirana dia napetraka amin'ny avo indrindra
laharam-pahamehana. Aorian'ny fikandrana 10ms dia ahena ho laharam-pahamehana ny dingana.
scheduler. Aorian'ny fikandrana manaraka, dia midina amin'ny farany ny asa
laharam-pahamehana ambany indrindra ao amin'ny rafitra, izay mitoetra.
Rafitra fiasana: Telo mora. Fizarana 5: Fanomanana: Filaharana fanehoan-kevitra marobe (fandikan-teny)

Ohatra 2: Naka asa fohy

Andeha hojerentsika ny ohatra iray amin'ny fomba hiezahan'ny MLFQ hanatona ny SJF. Amin'izany
Ohatra, asa roa: A, izay asa maharitra maharitra
Mibodo CPU sy B, izay asa fohy mifampiresaka. Aoka hatao
fa efa nihazakazaka elaela i A tamin'ny fotoana nahatongavan'ny asa B.
Rafitra fiasana: Telo mora. Fizarana 5: Fanomanana: Filaharana fanehoan-kevitra marobe (fandikan-teny)

Ity grafika ity dia mampiseho ny vokatry ny scenario. Asa A, toy ny asa rehetra,
Ny fampiasana ny CPU dia teo amin'ny farany ambany. Ny asa B dia ho tonga amin'ny fotoana T=100 ary ho avy
napetraka ao amin'ny filaharana laharam-pahamehana ambony indrindra. Satria fohy ny fotoana fandehanana,
ho vita izany alohan'ny hahatongavany amin'ny filaharana farany.

Avy amin'ity ohatra ity dia tokony ho azonao ny tanjona fototra amin'ny algorithm: satria tsy ny algorithm
mahalala asa lava na fohy, dia izy aloha no mihevitra fa ilay asa
fohy ary manome azy ny laharam-pahamehana ambony indrindra. Raha tena asa fohy tokoa izany
dia hotanterahina haingana, raha tsy izany raha asa lava dia mihetsika miadana
amin'ny laharam-pahamehana ary tsy ho ela dia hanaporofo fa asa lava be izy izay tsy manao izany
mila valiny.

Ohatra 3: Ahoana ny amin'ny I/O?

Andeha hojerentsika ohatra I/O izao. Araka ny voalaza ao amin'ny fitsipika 4b,
raha misy dingana iray mamoaka ny processeur nefa tsy mampiasa tanteraka ny fotoanan'ny processeur,
dia mijanona eo amin'ny laharam-pahamehana ihany. Ny tanjon'ity fitsipika ity dia tsotra.
- raha manao asa I/O betsaka ny asa interactive, ohatra, miandry
avy amin'ny fanendrikendrehan'ny mpampiasa na ny totozy, ny asa toy izany dia hanafaka ny processeur
alohan'ny varavarankely nomena. Tsy tiantsika ny hiala amin'izany asa laharam-pahamehana izany,
ary noho izany dia hijanona amin'ny ambaratonga mitovy ihany.
Rafitra fiasana: Telo mora. Fizarana 5: Fanomanana: Filaharana fanehoan-kevitra marobe (fandikan-teny)

Ity ohatra ity dia mampiseho ny fomba fiasan'ny algorithm amin'ny dingana toy izany - asa ifanakalozan-kevitra B, izay mila ny CPU mandritra ny 1ms fotsiny alohan'ny hanatanterahana azy.
Ny dingana I/O sy ny asa lava A, izay mampiasa ny CPU amin'ny fotoana rehetra.
Ny MLFQ dia mitazona ny dingana B ho laharam-pahamehana indrindra raha mbola mitohy izany
hamoaka ny CPU. Raha B dia asa ifanakalozan-kevitra, dia tonga ny algorithm amin'ity tranga ity
Ny tanjonao dia ny fampandehanana haingana ireo asa mifampiresaka.

Olana amin'ny algorithm MLFQ ankehitriny

Ao amin'ireo ohatra teo aloha dia nanamboatra dikan-teny fototra amin'ny MLFQ izahay. Ary toa izy
manao ny asany tsara sy ara-drariny, mizara ara-drariny ny fotoana CPU
asa lava ary mamela asa fohy na asa izay idirana be
mankany I/O mba handamina haingana. Indrisy anefa fa misy maromaro io fomba fiasa io
olana lehibe.
Voalohany, ny olana ny hanoanana: raha ny rafitra dia hanana interactive maro
asa, handany ny fotoana rehetra amin'ny CPU izy ireo ary tsy ho ela
ny asa dia tsy hahazo fahafahana hovonoina (noana izy ireo).

Faharoa, ireo mpampiasa marani-tsaina dia afaka manoratra ny fandaharany mba
adala ny scheduler. Ny fitaka dia ny manao zavatra mba hanerena
Ny fandaharam-potoana dia manome fotoana bebe kokoa ny fizotran'ny CPU. Algorithm izay
voalaza etsy ambony dia tena mora iharan'ny fanafihana toy izany: alohan'ny hanombohan'ny fe-potoana
Aorian'izany dia mila manao fandidiana I / O ianao (ho an'ny sasany, na inona na inona rakitra)
ary dia manafaka ny CPU. Ny fitondran-tena toy izany dia hamela anao hijanona amin'izany
ny filaharana mihitsy ary mahazo isan-jato lehibe kokoa amin'ny fotoana CPU. Raha vita
marina izany (oh: mihazakazaka 99% amin'ny fotoanan'ny varavarankely alohan'ny hamoahana ny CPU),
asa toy izany dia afaka ampihimamba tsotra izao ny processeur.

Farany, afaka manova ny fitondran-tenany ny programa iray rehefa mandeha ny fotoana. Ireo asa ireo
izay nampiasa ny CPU dia mety ho lasa interactive. Amin'ny ohatra asehontsika, mitovy
ny asa dia tsy hahazo fitsaboana araka ny tokony ho izy avy amin'ny mpandrindra, toy ny ataon'ny hafa
asa ifandrimbonana (tany am-boalohany).

Fanontaniana ho an'ny mpanatrika: inona ny fanafihana amin'ny fandaharam-potoana azo atao amin'ny tontolo maoderina?

Andrana 2: Ampitomboy ny laharam-pahamehana

Andao hiezaka hanova ny fitsipika ary hojerentsika raha afaka misoroka olana isika
hanoanana. Inona no azontsika atao mba hahazoana antoka fa mifandray
Ny asa CPU dia hahazo ny fotoanany (na dia tsy ela aza).
Ho vahaolana tsotra amin'ny olana dia azonao atao ny manolotra tsindraindray
hampitombo ny laharam-pahamehana amin'ny asa rehetra toy izany ao amin'ny rafitra. Misy fomba maro
mba hanatrarana izany dia andeha isika hampihatra zavatra tsotra ho ohatra: fandikana
ny asa rehetra indray mandeha mankany amin'ny laharam-pahamehana ambony indrindra, noho izany ny fitsipika vaovao:

  • Fitsipika5: Aorian'ny vanim-potoana S, afindrao amin'ny filaharana ambony indrindra ny asa rehetra ao amin'ny rafitra.

Mamaha olana roa indray miaraka ny fitsipika vaovao. Voalohany, ny dingana
azo antoka fa tsy ho mosarena: ny asa amin'ny filaharana ambony indrindra dia hifampizara
fotoana processeur araka ny algorithm RR ary noho izany dia hahazo ny dingana rehetra
fotoana processeur. Faharoa, raha misy dingana efa nampiasaina teo aloha
ny processeur ihany no lasa interactive, dia hijanona eo amin'ny filaharana miaraka amin'ny avo indrindra
laharam-pahamehana taorian'ny nahazoany tosika ho amin'ny laharam-pahamehana ambony indrindra indray mandeha.
Diniho ny ohatra iray. Amin'ity toe-javatra ity, diniho ny dingana iray ampiasaina
Rafitra fiasana: Telo mora. Fizarana 5: Fanomanana: Filaharana fanehoan-kevitra marobe (fandikan-teny)

CPU sy roa interactive, dingana fohy. Eo amin'ny ankavia eo amin'ny sary, ny tarehimarika dia mampiseho ny fitondran-tena tsy misy fanamafisam-peo laharam-pahamehana, ary noho izany dia manomboka mosarena ny asa maharitra rehefa tonga ao amin'ny rafitra ny asa roa mifanandrify. Eo amin'ny sary eo ankavanana, isaky ny 50ms ny fampiakarana laharam-pahamehana dia atao ary noho izany dia azo antoka ny fizotran'ny processeur rehetra ary hatomboka tsindraindray. 50ms amin'ity tranga ity dia raisina ho ohatra, raha ny marina dia somary ambony kokoa io isa io.
Mazava ho azy fa ny fanampin'ny fotoana fisondrotana ara-potoana S dia mitarika mankany
fanontaniana lojika: inona no sanda tokony hapetraka? Iray amin'ireo mendrika
Ireo injenieran'ny rafitra John Ousterhout dia nanondro ny habetsaky ny rafitra toy ny voo-doo
tsy tapaka, satria izy ireo amin'ny fomba sasany dia nila ody mainty ho an'ny marina
fifampikasohana. Ary, indrisy, S dia manana tsirony toy izany. Raha mametraka ny sanda koa ianao
lehibe - asa lava dia ho mosarena. Ary raha atao ambany loatra izany,
Ny asa ifanakalozan-kevitra dia tsy hahazo fotoana mety amin'ny CPU.

Andrana 3: Kaonty tsara kokoa

Ankehitriny dia manana olana iray hafa hovahana isika: ahoana no tsy hanaovana izany
avelao hamitaka ny fandaharam-potoanantsika? Ny meloka amin'izany mety ho izany dia
fitsipika 4a, 4b izay mamela ny asa iray hitazona ny laharam-pahamehany amin'ny fanafahana ny processeur
alohan'ny fahataperan'ny fotoana voatondro. Ahoana no hiatrehana izany?
Ny vahaolana amin'ity tranga ity dia azo raisina ho kaonty tsara kokoa amin'ny fotoana CPU amin'ny tsirairay
Ny haavon'ny MLFQ. Aza hadino ny fotoana nampiasain'ny programa
processeur ho an'ny elanelam-potoana voatondro, tokony horaisinao ary tehirizo izany. rehefa
lany ny fotoana natokana ho an'ny dingana, tokony hahemotra amin'ny manaraka
ambaratonga laharam-pahamehana. Ankehitriny dia tsy maninona ny fomba hampiasan'ny dingana ny fotoanany - ahoana
kajy tsy tapaka amin'ny processeur na toy ny antso an-tariby. Noho izany,
ny fitsipika 4 dia tokony hosoratana toy izao manaraka izao:

  • Fitsipika4: Rehefa lany ny fotoana natokana ho an'ny asa amin'ny filaharana ankehitriny (na impiry impiry izy no nanafaka ny CPU), dia mihena ny laharam-pahamehana amin'ny asa toy izany (midina ny filaharana).

Andeha isika hijery ohatra iray:
Rafitra fiasana: Telo mora. Fizarana 5: Fanomanana: Filaharana fanehoan-kevitra marobe (fandikan-teny)Β»

Ny sary dia mampiseho ny zava-mitranga raha manandrana mamitaka ny mpandrindra ianao
raha miaraka amin'ny fitsipika 4a teo aloha, dia 4b no vokatra eo ankavia. Miaraka amin'ny vaovao
ny fitsipika dia ny vokatra dia eo ankavanana. Alohan'ny fiarovana, ny dingana rehetra dia afaka miantso I/O alohan'ny fahavitan'ny ary
dia manjaka amin'ny CPU, aorian'ny fiarovana ny fiarovana, na inona na inona fihetsika
I/O, mbola hidina amin'ny filaharana izy ka tsy ho afaka hanao ny tsy marina
maka ny loharanon-karena CPU.

Fanatsarana ny MLFQ sy ny olana hafa

Miaraka amin'ireo fanatsarana etsy ambony ireo dia misy olana vaovao: iray amin'ireo lehibe indrindra
fanontaniana - ny fomba hamaritana ny scheduler toy izany? Ireo. Ohatrinona no tokony ho
filaharana? Inona no tokony ho haben'ny varavarankely fandaharana ao anatin'ny filaharana? Ahoana
Tokony hampitomboina matetika ny laharam-pahamehana amin'ny fandaharana mba hisorohana ny hanoanana sy
mba hijerena ny fiovan'ny fihetsiky ny programa? Ho an'ireo fanontaniana ireo dia tsy misy tsotra
valiny ary fanandramana miaraka amin'ny enta-mavesatra sy ny fanamafisana manaraka
scheduler dia mety hitarika amin'ny fifandanjana mahafa-po.

Ohatra, ny ankamaroan'ny fampiharana MLFQ dia ahafahanao manendry hafa
fe-potoana ho an'ny filaharana samihafa. Matetika ny filaharana laharam-pahamehana
elanelam-potoana fohy. Ireo filaharana ireo dia misy asa ifanakalozan-kevitra,
Ny fifandimbiasana eo amin'izay tena saro-pady ary tokony haka 10 na latsaka
ms. Mifanohitra amin'izany, ny filaharana ambany laharam-pahamehana dia ahitana asa maharitra izay mampiasa
UNITÉ CENTRALE. Ary amin'ity tranga ity, ny elanelam-potoana lava dia mifanentana tsara (100ms).
Rafitra fiasana: Telo mora. Fizarana 5: Fanomanana: Filaharana fanehoan-kevitra marobe (fandikan-teny)

Amin'ity ohatra ity dia misy asa 2 izay niasa tamin'ny filaharana laharana faha-20
ms mizara ho 10ms windows. 40ms eo amin'ny filaharana afovoany (20ms varavarankely) ary ao amin'ny filaharana ambany laharam-pahamehana
Ny varavarankelin'ny fotoana filaharana dia lasa 40ms izay nahavitan'ny asa ny asany.

Ny fampiharana ny MLFQ ao amin'ny Solaris OS dia kilasy mpandrindra fizarana fotoana.
Ny mpandrindra dia hanome tabilao maromaro izay mamaritra tsara ny tokony ho izy
hanova ny laharam-pahamehana ny dingana nandritra ny androm-piainany, inona no tokony ho ny habeny
varavarankely atokana ary impiry ny hampiakatra ny laharam-pahamehana amin'ny asa. mpandrindra
Ny rafitra dia afaka mifandray amin'ity latabatra ity ary manao ny fandaharam-potoana
hafa. Amin'ny alΓ lan'ny default, ity latabatra ity dia manana filaharana 60 miaraka amin'ny fitomboana tsikelikely
ny haben'ny varavarankely manomboka amin'ny 20ms ( laharam-pahamehana ambony) ka hatramin'ny zato ms ( laharam-pahamehana ambany indrindra), ary
miaraka amin'ny fampitomboana ny asa rehetra indray mandeha isan-tsegondra.

Ny mpandrindra MLFQ hafa dia tsy mampiasa latabatra na zavatra manokana
ny fitsipika izay voalaza ato amin`ity toko ity, ny mifanohitra amin`izany, kajy laharam-pahamehana mampiasa
raikipohy matematika. Ohatra, ny fandaharam-potoana ao amin'ny FreeBSD dia mampiasa formula for
kajy ny laharam-pahamehana amin'izao fotoana izao mifototra amin'ny hatraiza ny dingana
nampiasa ny CPU. Ankoatr'izay, ny fampiasana CPU dia lo rehefa mandeha ny fotoana, ary noho izany
Noho izany, ny fampiakarana laharam-pahamehana dia somary hafa noho ny voalaza etsy ambony. Marina izany
antsoina hoe algorithm decay. Hatramin'ny dikan-teny 7.1, FreeBSD dia nampiasa ny fandaharam-potoana ULE.

Farany, maro ny planner manana endri-javatra hafa. Ohatra, ny sasany
Ny schedulers dia mitahiry ambaratonga ambony kokoa ho an'ny fampandehanana ny rafitra miasa ary noho izany
Noho izany, tsy misy fizotry ny mpampiasa afaka mahazo ny laharam-pahamehana ambony indrindra
rafitra. Ny rafitra sasany dia mamela anao hanome torohevitra hanampy
ny scheduler mba ho laharam-pahamehana tsara. Ohatra, mampiasa ny baiko tsara
afaka mampitombo na mampihena ny laharam-pahamehana amin'ny asa iray ianao ka hampitombo na hampihena
mampihena ny vintana ny fandaharana ho an'ny CPU fotoana.

MLFQ: Famintinana

Nofaritanay ny fomba fandrafetana antsoina hoe MLFQ. Ny anarany
namarana amin`ny fitsipiky ny fandidiana - dia manana filaharana maromaro ary mampiasa fanehoan-kevitra
manao laharam-pahamehana ny asa iray.
Ny endrika farany amin'ny fitsipika dia ho toy izao manaraka izao:

  • Fitsipika1: Raha laharam-pahamehana(A) > Laharam-pahamehana(B), ny asa A dia mandeha (tsy B)
  • Fitsipika2: Raha laharam-pahamehana(A) = Laharam-pahamehana(B), dia manomboka mampiasa RR ny A&B
  • Fitsipika3: Rehefa miditra ao amin'ny rafitra ny asa iray dia apetraka amin'ny filaharana laharam-pahamehana ambony indrindra.
  • Fitsipika4: Rehefa lany ny fotoana natokana ho an'ny asa amin'ny filaharana ankehitriny (na impiry impiry izy no nanafaka ny CPU), dia mihena ny laharam-pahamehana amin'ny asa toy izany (midina ny filaharana).
  • Fitsipika5: Aorian'ny vanim-potoana S, afindrao amin'ny filaharana ambony indrindra ny asa rehetra ao amin'ny rafitra.

MLFQ dia mahaliana noho ity antony manaraka ity - fa tsy mitaky fahalalana momba ny
toetran'ny asa mialoha, ny algorithm dia mianatra ny fitondran-tena taloha momba ny asa sy ny fametrahana
laharam-pahamehana araka izany. Noho izany, miezaka ny hipetraka amin'ny seza roa indray mandeha izy - mba hahatratrarana ny asa kely (SJF, STCF) ary hihazakazaka lava,
CPU-loading asa. Noho izany, rafitra maro, anisan'izany ny BSD sy ny derivatives,
Solaris, Windows, Mac dia mampiasa endrika algorithm ho toy ny fandaharam-potoana
MLFQ ho toy ny baseline.

Fitaovana fanampiny:

  1. manpages.debian.org/stretch/manpages/sched.7.en.html
  2. Hita tao amin'ny "https://mg.wiktionary.org/wiki/Manokana:MobileLanguages/scheduling"(informatika)
  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

Add a comment