Córais Oibriúcháin: Trí Phíosa Éasca. Cuid 4: Réamhrá don sceidealóir (aistriúchán)

Réamhrá ar Chórais Oibriúcháin

Hey Habr! Ba mhaith liom d’aird a thabhairt ar shraith alt—aistriúcháin ar litríocht shuimiúil amháin i mo thuairim – OSTEP. Pléann an t-ábhar seo go domhain obair na gcóras oibriúcháin atá cosúil le unix, eadhon, obair le próisis, sceidealóirí éagsúla, cuimhne, agus comhpháirteanna eile dá samhail a chomhdhéanann OS nua-aimseartha. Is féidir leat bunchóip na n-ábhar go léir a fheiceáil anseo anseo. Tabhair faoi deara go ndearnadh an t-aistriúchán go neamhghairmiúil (go leor faoi shaoirse), ach tá súil agam gur choinnigh mé an bhrí ghinearálta.

Is féidir obair saotharlainne ar an ábhar seo a fháil anseo:

Páirteanna eile:

Is féidir leat mo chainéal a sheiceáil freisin ag teileagram =)

Réamhrá don Sceidealóir

An croílár na faidhbe: Conas a fhorbairt polasaí sceidealóir
Cén chaoi ar cheart na creataí beartais sceidealaithe bunúsacha a dhearadh? Cad iad na príomhbhoinn tuisceana ba cheart a bheith ann? Cad iad na méadrachtaí atá tábhachtach? Cad iad na teicnící bunúsacha a úsáideadh i gcórais ríomhaireachta luatha?

Toimhdí Ualach Oibre

Sula bpléifimid beartais fhéideartha, déanaimis ar dtús roinnt céimeanna simplithe maidir leis na próisis a ritheann sa chóras, ar a dtugtar le chéile ualach oibre. Is cuid ríthábhachtach de bheartais tógála é an t-ualach oibre a shainmhíniú, agus dá mhéad atá ar eolas agat faoin ualach oibre, is amhlaidh is fearr an polasaí is féidir leat a scríobh.

Déanaimis na boinn tuisceana seo a leanas faoi na próisis a ritheann sa chóras, ar a dtugtar uaireanta freisin post (tascanna). Níl beagnach gach ceann de na boinn tuisceana seo réalaíoch, ach tá siad riachtanach chun smaoineamh a fhorbairt.

  1. Ritheann gach tasc ar feadh an méid céanna ama,
  2. Socraítear na tascanna go léir ag an am céanna,
  3. Oibríonn an tasc sannta go dtí go mbeidh sé críochnaithe,
  4. Ní úsáideann gach tasc ach LAP,
  5. Tá am reatha gach taisc ar eolas.

Méadrachtaí Sceidealóra

Chomh maith le roinnt boinn tuisceana faoin ualach, tá gá le huirlis eile chun beartais éagsúla sceidealaithe a chur i gcomparáid: méadracht sceidil. Níl i méadrach ach tomhas éigin ar rud éigin. Tá roinnt méadracht ann is féidir a úsáid chun sceidealóirí a chur i gcomparáid.

Mar shampla, úsáidfimid méadrach ar a dtugtar am slánúcháin (am slánúcháin). Sainmhínítear am slánúcháin an taisc mar an difríocht idir an t-am críochnaithe tasc agus an t-am teachta tascanna sa chóras.

Tturnaround=Críochnú−Tarrival

Ós rud é gur ghlacamar leis gur tháinig na tascanna go léir ag an am céanna, ansin Ta=0 agus mar sin Tt=Tc. Athróidh an luach seo go nádúrtha nuair a athróimid na boinn tuisceana thuas.

méadrach eile - cothroime (cothroime, macántacht). Is minic a bhíonn táirgiúlacht agus cothroime ina dtréithe in aghaidh na pleanála. Mar shampla, féadfaidh an sceidealóir feidhmíocht a bharrfheabhsú, ach ar chostas fanacht le tascanna eile a rith, rud a laghdóidh cothroime.

AN CHÉAD SA CHÉAD Amach (FIFO)

Is é an t-algartam is bunúsaí is féidir linn a chur i bhfeidhm ar a dtugtar FIFO nó an chéad teacht (isteach), an chéad sheirbheáil (amach). Tá roinnt buntáistí ag baint leis an algartam seo: tá sé an-éasca a chur i bhfeidhm agus luíonn sé lenár mbonn tuisceana go léir agus déanann sé an jab go maith.

Breathnaímid ar shampla simplí. Ligean le rá gur socraíodh 3 thasc ag an am céanna. Ach glacaimis leis gur tháinig tasc A beagán níos luaithe ná na cinn eile go léir, mar sin beidh sé le feiceáil ar an liosta forghníomhaithe níos luaithe ná na cinn eile, díreach cosúil le B i gcoibhneas le C. Glacaimis leis go ndéanfar gach ceann acu a fhorghníomhú ar feadh 10 soicind. Cad é an meán-am chun na tascanna seo a chur i gcrích sa chás seo?

Córais Oibriúcháin: Trí Phíosa Éasca. Cuid 4: Réamhrá don sceidealóir (aistriúchán)

Trí na luachanna a chomhaireamh - 10+20+30 agus a roinnt ar 3, faigheann muid meán-am forghníomhaithe an chláir cothrom le 20 soicind.
Anois déanaimis iarracht ár gcuid toimhdí a athrú. Go háirithe, toimhde 1 agus dá bhrí sin ní bheidh muid ag glacadh leis a thuilleadh go dtógann gach tasc an méid céanna ama a fhorghníomhú. Conas a fheidhmeoidh FIFO an uair seo?

Mar a tharla, tá tionchar an-diúltach ag amanna éagsúla cur i gcrích tascanna ar tháirgiúlacht algartam FIFO. Glacaimid leis go dtógfaidh tasc A 100 soicind le cur i gcrích, agus go dtógfaidh B agus C 10 soicind an ceann fós.

Córais Oibriúcháin: Trí Phíosa Éasca. Cuid 4: Réamhrá don sceidealóir (aistriúchán)

Mar is léir ón bhfigiúr, is é an meán-am don chóras ná (100+110+120)/3=110. Tugtar an éifeacht seo éifeacht conmhaigh, nuair a bheidh roinnt tomhaltóirí gearrthéarmacha acmhainne scuaine tar éis tomhaltóir trom. Tá sé cosúil leis an líne ag an siopa grósaera nuair a bhíonn custaiméir os do chomhair le cart iomlán. Is é an réiteach is fearr ar an bhfadhb ná iarracht a dhéanamh an clár airgid a athrú nó scíth a ligean agus breathe go domhain.

An Post is Giorra ar dtús

An féidir cás den chineál céanna a réiteach ar bhealach éigin le próisis throm-mheáchain? Cinnte. Tugtar cineál eile pleanálaAn Post is Giorra ar dtús (SJF). Tá a algartam primitive go leor freisin - mar a thugann an t-ainm le tuiscint, seolfar na tascanna is giorra ar dtús, ceann i ndiaidh a chéile.

Córais Oibriúcháin: Trí Phíosa Éasca. Cuid 4: Réamhrá don sceidealóir (aistriúchán)

Sa sampla seo, beidh feabhas ar mheán-am slánúcháin an chláir mar thoradh ar na próisis chéanna a rith agus beidh sé comhionann le 50 in ionad 110, atá beagnach 2 uair níos fearr.

Mar sin, don toimhde a thugtar go sroicheann na tascanna go léir ag an am céanna, is cosúil gurb é algartam SJF an algartam is fearr. Mar sin féin, ní cosúil go bhfuil ár gcuid boinn tuisceana réalaíoch fós. An uair seo athraíonn muid toimhde 2 agus an uair seo a shamhlú gur féidir tascanna a bheith i láthair ag am ar bith, agus ní léir ag an am céanna. Cad iad na fadhbanna is féidir a bheith mar thoradh air seo?

Córais Oibriúcháin: Trí Phíosa Éasca. Cuid 4: Réamhrá don sceidealóir (aistriúchán)

Samhlóimis gurb é tasc A (100c) a thagann ar dtús agus go dtosaíonn sé á chur i gcrích. Ag t=10, sroicheann tascanna B agus C, agus tógfaidh gach ceann acu 10 soicind. Mar sin is é an meán-am forghníomhaithe (100+(110-10)+(120-10))3 = 103. Cad is féidir leis an sceidealóir a dhéanamh chun é seo a fheabhsú?

An tAm is Giorra le Críochnú ar dtús (STCF)

Chun an scéal a fheabhsú, fágtar ar lár toimhde 3 go seolfar an clár agus go leanann sé go dtí go mbeidh sé críochnaithe. Chomh maith leis sin, beidh tacaíocht crua-earraí de dhíth orainn agus, mar a d’fhéadfá buille faoi thuairim, úsáidfimid lasc ama chun cur isteach ar thasc reatha agus athrú comhthéacs. Dá bhrí sin, is féidir leis an sceidealóir rud éigin a dhéanamh faoi láthair tascanna B, C a thagann - stop a fhorghníomhú tasc A agus tascanna B agus C a chur i bpróiseáil agus, tar éis iad a chríochnú, leanúint ar aghaidh le feidhmiú próiseas A. Tá a leithéid de sceidealóir ar a dtugtar STCFPreemptive Job ar dtús.

Córais Oibriúcháin: Trí Phíosa Éasca. Cuid 4: Réamhrá don sceidealóir (aistriúchán)

Is é an toradh a bheidh ar an bpleanálaí seo ná an toradh seo a leanas: ((120-0)+(20-10)+(30-10))/3=50. Mar sin, bíonn a leithéid de sceidealóir níos fearr fós le haghaidh ár dtascanna.

Am Freagartha Méadrach

Mar sin, más eol dúinn am reatha na dtascanna agus nach n-úsáideann na tascanna seo ach LAP, is é STCF an réiteach is fearr. Agus uair amháin go luath, d'oibrigh na halgartaim go maith. Mar sin féin, caitheann an t-úsáideoir an chuid is mó dá cuid ama ag an teirminéal anois agus bíonn sí ag súil le heispéireas idirghníomhach táirgiúil. Mar sin rugadh méadrach nua - am freagartha (freagra).

Ríomhtar an t-am freagartha mar seo a leanas:

Tresponse=Tfirstrun−Tarraing

Mar sin, don sampla roimhe seo, is é an t-am freagartha ná: A=0, B=0, C=10 (abg=3,33).

Agus tharlaíonn sé nach bhfuil an algartam STCF chomh maith i gcás ina dtagann 3 thasc ag an am céanna - beidh air fanacht go dtí go mbeidh na tascanna beaga críochnaithe go hiomlán. Mar sin tá an t-algartam go maith don mhéadracht ama slánúcháin, ach tá sé dona don mhéadrach idirghníomhaíochta. Samhlaigh má bhí tú i do shuí ag teirminéal ag iarraidh carachtair a chlóscríobh isteach in eagarthóir agus go raibh ort fanacht níos mó ná 10 soicind mar go raibh tasc éigin eile ag dul i mbun an LAP. Níl sé an-taitneamhach.

Córais Oibriúcháin: Trí Phíosa Éasca. Cuid 4: Réamhrá don sceidealóir (aistriúchán)

Mar sin tá fadhb eile romhainn - conas is féidir linn sceidealóir a thógáil atá íogair d'am freagartha?

Babhta Robin

Forbraíodh algartam chun an fhadhb seo a réiteach Babhta Robin (RR). Tá an bunsmaoineamh simplí go leor: in ionad tascanna a reáchtáil go dtí go mbeidh siad críochnaithe, reáchtálfaimid an tasc ar feadh tréimhse áirithe ama (ar a dtugtar slice ama) agus ansin aistrímid go tasc eile ón scuaine. Déanann an algartam a chuid oibre arís go dtí go mbeidh na tascanna go léir críochnaithe. Sa chás seo, ní mór go mbeadh am reatha an chláir ina iolraí den am a gcuirfidh an t-amadóir isteach ar an bpróiseas ina dhiaidh sin. Mar shampla, má chuireann lasc ama isteach ar phróiseas gach x=10ms, ba cheart go mbeadh méid na fuinneoige forghníomhaithe próisis iolraí de 10 agus 10,20 nó x*10.

Breathnaímid ar shampla: sroicheann tascanna ABC go comhuaineach sa chóras agus ba mhaith le gach ceann acu rith ar feadh 5 soicind. Déanfaidh algartam SJF gach tasc a chríochnú sula dtosóidh sé ar cheann eile. I gcodarsnacht leis sin, rachaidh an algartam RR le fuinneog seolta = 1s trí na tascanna mar seo a leanas (Fíor 4.3):

Córais Oibriúcháin: Trí Phíosa Éasca. Cuid 4: Réamhrá don sceidealóir (aistriúchán)
(SJF Arís (Drocha don Am Freagartha)

Córais Oibriúcháin: Trí Phíosa Éasca. Cuid 4: Réamhrá don sceidealóir (aistriúchán)
(Babhta Robin (Maith don Am Freagartha)

Is é an meán-am freagartha don algartam RR ná (0+1+2)/3=1, agus don SJF (0+5+10)/3=5.

Tá sé loighciúil glacadh leis gur paraiméadar an-tábhachtach í an fhuinneog ama do RR; dá lú é, is airde an t-am freagartha. Mar sin féin, níor cheart duit é a dhéanamh ró-bheag, mar beidh ról ag am athrú comhthéacs san fheidhmíocht iomlán freisin. Mar sin, is é ailtire an OS a shocraíonn am fuinneoige forghníomhaithe agus braitheann sé ar na tascanna atá beartaithe a chur i gcrích ann. Ní hé athrú comhthéacs an t-aon oibríocht seirbhíse a chuireann am amú - oibríonn an clár reatha ar go leor rudaí eile, mar shampla, caches éagsúla, agus le gach lasc is gá an timpeallacht seo a shábháil agus a athchóiriú, rud a d'fhéadfadh go leor a ghlacadh freisin. am.

Is sceidealóir iontach é RR mura raibh muid ag caint ach faoin méadrach ama freagartha. Ach cén chaoi a n-iompróidh méadrach ama slánúcháin an taisc leis an algartam seo? Smaoinigh ar an sampla thuas, nuair a bheidh an t-am oibriúcháin de A, B, C = 5s agus teacht ag an am céanna. Críochnóidh Tasc A ag 13, B ag 14, C ag 15s agus is é 14s an meán-am slánúcháin. Mar sin, is é RR an t-algartam is measa don mhéadrach láimhdeachais.

I dtéarmaí níos ginearálta, tá aon algartam de chineál RR cothrom; roinneann sé an t-am LAP go cothrom idir na próisis go léir. Agus dá bhrí sin, bíonn na méadrachtaí seo i gcónaí i gcoimhlint lena chéile.

Mar sin, tá roinnt halgartaim chodarsnacha againn agus ag an am céanna tá roinnt boinn tuisceana fágtha fós - go bhfuil an t-am tasc ar eolas agus nach n-úsáideann an tasc ach an LAP.

Meascadh le I/O

Ar an gcéad dul síos, déanaimis toimhde 4 a bhaint nach n-úsáideann an próiseas ach an LAP; go nádúrtha, ní hé seo an cás agus is féidir le próisis rochtain a fháil ar threalamh eile.

Nuair a iarrann próiseas ar bith oibríocht I/O, téann an próiseas isteach sa riocht bactha, ag fanacht leis an I/O a chur i gcrích. Má sheoltar I/O chuig an tiomántán crua, is féidir go dtógfadh oibríocht den sórt sin suas le roinnt ms nó níos faide, agus beidh an próiseálaí díomhaoin faoi láthair. Le linn an ama seo, is féidir leis an sceidealóir an próiseálaí a áitiú le haon phróiseas eile. Is é an chéad chinneadh eile a bheidh le déanamh ag an sceidealóir ná cathain a chríochnóidh an próiseas a I/O. Nuair a tharlaíonn sé seo, tarlóidh briseadh agus cuirfidh an OS an próiseas ar a dtugtar an I/O sa riocht réidh.

Breathnaímid ar shampla de roinnt fadhbanna. Éilíonn gach ceann acu 50ms d'am LAP. Mar sin féin, beidh rochtain ag an gcéad cheann ar I/O gach 10ms (a dhéanfar gach 10ms freisin). Agus ní úsáideann próiseas B ach próiseálaí 50ms gan I/O.

Córais Oibriúcháin: Trí Phíosa Éasca. Cuid 4: Réamhrá don sceidealóir (aistriúchán)

Sa sampla seo úsáidfimid an sceidealóir STCF. Conas a iompróidh an sceidealóir má sheoltar próiseas cosúil le A air? Déanfaidh sé an méid seo a leanas: ar dtús oibreoidh sé próiseas A amach go hiomlán, agus ansin próiseálfaidh sé B.

Córais Oibriúcháin: Trí Phíosa Éasca. Cuid 4: Réamhrá don sceidealóir (aistriúchán)

Is é an cur chuige traidisiúnta chun an fhadhb seo a réiteach ná caitheamh le gach fothasc 10 ms de phróiseas A mar thasc ar leith. Mar sin, agus tú ag tosú leis an algartam STJF, is léir go bhfuil an rogha idir tasc 50 ms agus tasc 10 ms. Ansin, nuair a bheidh fothasc A críochnaithe, seolfar próisis B agus I/O. Nuair a bheidh an I/O críochnaithe, beidh sé de nós próiseas 10ms A a thosú arís in ionad phróiseas B. Ar an mbealach seo, is féidir forluí a chur i bhfeidhm, áit a n-úsáideann próiseas eile an LAP agus an chéad cheann ag fanacht leis an I/O. Agus mar thoradh air sin, baintear úsáid níos fearr as an gcóras - i láthair na huaire nuair a bhíonn próisis idirghníomhacha ag fanacht le I/O, is féidir próisis eile a chur i gcrích ar an bpróiseálaí.

Níl an Oracle níos mó

Anois déanaimis iarracht fáil réidh leis an toimhde go bhfuil am reatha an taisc ar eolas. Go ginearálta is é seo an toimhde is measa agus is neamhréadúil ar an liosta iomlán. Go deimhin, ar an ngnáthnós OS, is beag a bhíonn ar eolas ag an OS féin faoi am cur i gcrích na dtascanna, mar sin conas mar sin is féidir leat sceidealóir a thógáil gan a fhios cé chomh fada agus a thógfaidh sé an tasc a fhorghníomhú? B'fhéidir go bhféadfaimis roinnt prionsabal RR a úsáid chun an fhadhb seo a réiteach?

Iomlán na

D'fhéachamar ar na bunsmaointe maidir le sceidealú tascanna agus d'fhéachamar ar 2 theaghlach sceidealóirí. Tosaíonn an chéad cheann an tasc is giorra ar dtús agus mar sin méadaítear an t-am slánúcháin, agus déantar an dara ceann a stróiceadh go cothrom idir na tascanna go léir, ag méadú an t-am freagartha. Tá an dá algartam olc nuair a bhíonn halgartaim an teaghlaigh eile go maith. D'fhéachamar freisin ar conas is féidir le húsáid chomhthreomhar LAP agus I/O feidhmíocht a fheabhsú, ach níor réitigh sé an fhadhb le clairvoyance OS. Agus sa chéad cheacht eile féachfaimid ar phleanálaí a bhreathnaíonn ar an am atá thart agus a dhéanfaidh iarracht an todhchaí a thuar. Agus tugtar scuaine aiseolais il-leibhéil air.

Foinse: will.com

Add a comment