Operating Systema: Tres Securus Pieces. Pars IV: Introductio ad schedulas (translationes)

Introductio ad Systema Operating

Salve, Habr! Volumus autem operam tuam dare seriem articulorum-translationum unius litterarum, quae mea sententia interest - OSTEP. Haec materia penitus penitus examinat opus systematum unix-similes operandi, scilicet operari cum processibus, variis schedulis, memoria et aliis similibus elementis quae recentiorem OS constituunt. Potes videre originale omnium materiarum hic hic. Nota quaeso translationem (satis libere (satis) factum esse), sed communem significationem spero me retinuisse.

Laboratorium hac de re hic inveniri potest;

Aliae partes:

Potes etiam reprehendo meum in alveum suum telegraphum =)

Introductio ad Scheduler

Essentia quaestionis: Quomodo evolvere consilium scheduler
Quomodo ratio cedularum subest ratio compagum designandi? Quaenam sint principia clavium? Quid metri momenti? Quae artes fundamentales in primis systematibus computandis adhibitae sunt?

quod inposuit Assumptionis

Priusquam de rationibus possibilibus disseramus, primum paucas digressiones simpliciores facere circa processuum in systemate currentium, qui collective vocantur. quod inposuit. Definiens quod inposuit pars critica est in consiliis aedificandis, et quo plura de inposuit scis, eo melius consilium quod scribere potes.

Supposita sequentia faciamus de processibus in systematis currentibus, interdum etiam vocati Jobs (munerum). Fere omnes istae suppositiones non sunt realisticae, sed necessariae ad cogitationem evolutionem.

  1. Quodlibet opus tantundem temporis currit;
  2. Omnia opera simul ponuntur;
  3. Munus assignatum operatur usque ad suam perfectionem;
  4. Omnia opera tantum CPU utuntur,
  5. Tempus cursus cuiusque operis cognoscitur.

Scheduler Metrics

Praeter quaedam suppositiones de onere, aliud instrumentum ad varias rationes schedulandas comparandas necessaria est: metrica schedula. A aliqua mensura est quod metrica illa. Sunt plures metri qui schedulas comparare possunt.

Verbi gratia, nomine metrico utemur tunc turnaround (tunc turnaround). Negotium turnaround tempus definitur esse discrimen inter negotium complementum temporis et negotium adventus temporis in systemate.

Tturnaround = Tcompletion−Tarrival

Cum supposuimus omnia officia simul pervenisse, tum Ta=0 et ita Tt=Tc. Haec dignitas naturaliter mutatur, cum praedicta supposita mutamus.

Alius metricus - aeque (aequitas, probitas). Ubertas et aequitas saepe notae in consilio contrariae sunt. Exempli gratia, schedulae optimize possunt effectus, sed cum periculo exspectationis alia negotia currere, ita aequitatem minuere.

PRIMUS PRIMUS IN (FIFO)

Algorithmus fundamentalissimus quem efficiendum possumus FIFO appellatur first come (in), first servivit (e). Hoc algorithmus plura commoda habet: facillime est efficere et omnibus nostris suppositis aptat et satis bene facit officium.

Intueamur exemplum simplex. Dicamus 3 officia eodem tempore posita esse. Sed hoc negotium A paulo ante omnibus aliis pervenit, ut in indice exsecutionis maturius apparebit quam alii, sicut B relativum C. Ponamus unumquemque eorum pro 10 secundis exsecutioni mandari. Quodnam erit tempus mediocris opera haec in hoc casu perficienda?

Operating Systema: Tres Securus Pieces. Pars IV: Introductio ad schedulas (translationes)

Numerando valores - 10+20+30 et dividendo per 3, medium programma exsecutionis accipimus tempus aequale 20 secundis.
Nunc suppositiones nostras mutare conemur. Praesertim suppositione 1 et sic non amplius assumere debemus quod unumquodque negotium tantundem temporis ad exequendum. Quomodo FIFO hoc tempore perficiet?

Cum evenit, diversum munus exsecutionis temporibus valde negativum habent in fructibus algorithmi FIFO. Sumamus hoc negotium A ad perficiendum 100 secundas, dum B et C singulas 10 secundas adhuc capiet.

Operating Systema: Tres Securus Pieces. Pars IV: Introductio ad schedulas (translationes)

Ut ex figura constare potest, tempus mediocris systematis erit (100+110+120)/3=110. Hic effectus dicitur commeatus effectuscum breve tempus edax rerum subsidii queue post magnum edax . Est sicut linea ad macellum ubi mos est coram te cum plaustro pleno. Optima quaestionis solutio est temptare nummi tabulam mutare vel relaxare et penitus respirare.

Brevissima Job Primum

Possibile est aliquo modo solvere similem condicionem cum gravibus processibus? Profecto. Aliud genus consiliorum diciturBrevissima Job Primum (SJF). Eius algorithmus est etiam satis primitivus - ut nomen sonat, officia brevissima primum, unum post alterum deducentur.

Operating Systema: Tres Securus Pieces. Pars IV: Introductio ad schedulas (translationes)

In hoc exemplo, effectus currendi idem processus emendatio erit in progressione mediocris temporis et erit aequalis. 50 pro 110quod fere 2 temporibus melius est.

Ita, dato dato quod omnia opera simul perveniant, SJF algorithmus optimal algorithmus videtur esse. Sed adhuc suppositiones nostrae non videntur realisticae. Hoc tempus suppositionis mutamus 2 et hoc tempore fingimus officia quovis tempore adesse, et non omnia simul. Quae problemata hoc ducunt?

Operating Systema: Tres Securus Pieces. Pars IV: Introductio ad schedulas (translationes)

Fingamus hoc negotium A (100c) primum perveniat et perficiatur incipit. Ad t=10, munera B et C perveniunt, quarum singulae secundae 10 capient. Ita mediocris exsecutionis tempus est (100+(110-10)+(120-10))3 = 103. Quid hoc facere potuit schedula emendare?

Brevissimum tempus-ad-Perfectio prima (STCF)

Ad meliorem condicionem, omittimus assumptionem 3 propositum deduci et decurrere usque ad complementum. Praeterea odio auxilio egebimus et, ut coniectura adsequimur, utemur timer interrumpere currit negotium et context commutatione. Sic schedula aliquid facere potest momento operae B, C perveniat - desinat munus exsecutionis A et negotia B, C in processus imponat et, expleto suo processu, continue exequatur A. Talis schedula appellatur. STCFaut Preemptive Job Primum.

Operating Systema: Tres Securus Pieces. Pars IV: Introductio ad schedulas (translationes)

Eventus consilii huius erit talis effectus: (120-0)+(20-10)+(30-10))/3=50. Sic talis cedula magis melior fit ad opera nostra.

Metrica Responsio Tempus

Ita, si scimus currens tempus officiorum et haec opera tantum uti CPU, STCF optima solutio erit. Et semel in primis temporibus, haec algorithmi satis bene operati sunt. Sed utens nunc in termino suo maximam partem temporis consumit et experientiam interactivam productivam exspectat. Ita nova res metrica nata est. responsio tempus (responsio).

Tempus responsionis computatur sic:

Tresponse = Tfirstrun− Tarrival

Sic ad exemplum praecedens respondebitur tempus: A=0, B=0, C=10 (abg=3,33).

Et evenit ut algorithmus STCF non ita bonus sit in casu quo 3 negotia simul perveniant - exspectandum erit donec parva negotia compleantur. Sic algorithmus est bonum in turnaround temporis metricum, sed malum interactivity metricum. Finge si sederes ad terminum terminalem quaerentes typos characteres in editore habentes et plus quam X secundis expectare quod aliud negotium CPU suscipiebat. Hoc non est valde jucundum.

Operating Systema: Tres Securus Pieces. Pars IV: Introductio ad schedulas (translationes)

Adversus igitur aliam quaestionem aggredimur - quomodo aedificare possumus schedulam sensibilem ad tempus responsionis?

circum Robin

An algorithmus elaboratum est ad solvendam hanc quaestionem circum Robin (RR). Idea fundamentalis est plane simplex: pro currendo, donec perficiantur, negotium per aliquod temporis spatium (dicitur tempus scalpere) ac deinde ad aliud negotium a queue transibit. Algorithmus suum opus iterat donec omnia opera perficiantur. Hoc in casu, tempus currens progressionis multiplicem esse debet temporis post quem processum temporis interrumpunt. Exempli gratia, si timor omnem processum interrumpit x=10ms, magnitudo processus executionis fenestrae multiplex esse debet inter 10 et esse 10,20 vel x*10.

Intueamur exemplum: negotia ABC simul adveniunt in systemate et unumquodque eorum pro 5 secundis currere vult. SJF algorithmus unumquodque negotium perficiet antequam alterum incipias. E contra, algorithmus RR cum fenestra launche = 1s per munera ut sequitur (Fig. 4.3) peribit;

Operating Systema: Tres Securus Pieces. Pars IV: Introductio ad schedulas (translationes)
(SJF Iterum (Malum pro Responsio Time)

Operating Systema: Tres Securus Pieces. Pars IV: Introductio ad schedulas (translationes)
(Round Robin (bonum Responsionis tempus)

Mediocris responsionis tempus algorithmus RR est (0+1+2)/3=1, dum pro SJF (0+5+10)/3=5.

Consentaneum est assumere fenestra tempus magni ponderis esse RR parametrum, quo minor est, eo tempore superior respondetur. Attamen, ne nimis exiguum facias, cum contextus mutandi tempus etiam in altiore effectu munere fungatur. Ita electio fenestrae exsecutionis tempus ab OS architectum constituitur et pendet ab operibus quae in ea exsecutioni mandabantur. Contextus switching non solum est operandi operandi quae tempus terit - progressio cursus in multis aliis rebus operatur, exempli gratia, variae tabulae, et cum singulis transitum necessarium est ad hanc ambitum salvandam ac restituendam, quae etiam multum capere potest. tempus.

RR magnus scheduler si modo de responsione metrica temporis loqueremur. Sed quomodo hoc algorithmum negotium turnaround temporis metrici faciet? Exemplum superius considerate, quando operante tempore ipsius A, B, C = 5s et simul perveniunt. Negotium A finiet in 13, B ad 14, C ad 15s, et turn medium tempus erit 14 s. Sic, RR algorithmus pessimum est pro materia prima metrica.

In terminis generalioribus, algorithmus quodvis RR-type pulchrum est, tempus CPU inter omnes processus aequaliter dividit. Atque ita hi metri constanter inter se pugnant.

Sic varia algorithms discrepantia habemus et simul adhuc plures suppositiones supersunt - negotium temporis cognoscitur et negotium tantum utitur in CPU.

Miscentes I / O *

Primum, assumptione removeamus 4 quod processus tantum CPU utitur, naturaliter, hoc casu et processu alio instrumento accedere non potest.

Momentum omnis processus operationem I/O petit, processus statum clausus intrat, exspectans I/O ad perficiendum. Si I/O mittitur ad minas ferreas, tunc talis operatio plures ms vel longiores sumi potest, et processus hoc momento otiosus erit. Hoc tempore, schedula processus cum quovis alio processu occupare potest. Proxima decisione cedula facienda est cum processum suum I/O complebit. Cum hoc incidit, interpellatio occurret et OS processum, qui I/O appellatur, in statum paratum ponet.

Intueamur exemplum plurium problematum. Uterque eorum tempus requirit 50ms of CPU. Primus tamen accessurus erit I/O singulis 10ms (quod etiam singulis 10ms) exsecutioni mandabitur. Et processu B simpliciter utitur processus 50morum sine I/O.

Operating Systema: Tres Securus Pieces. Pars IV: Introductio ad schedulas (translationes)

Hoc exemplo STCF schedulis utemur. Quomodo schedula se geret, si processio similis A in ea immissa est? Hoc faciet: primum processu A perfecte elaborabit, deinde processus B.

Operating Systema: Tres Securus Pieces. Pars IV: Introductio ad schedulas (translationes)

Accessus traditionalis ad hanc quaestionem solvendam est singulas 10 ms subtask processus A ut negotium separatum tractare. Ita, cum a STJF algorithmo incipiendo, electio inter negotium 50 ms et negotium 10 ms manifesta est. Deinde, expleto subtask A, processus B et I/O deducetur. Post I/O complet, mos 10ms processus A iterum pro processu B. Incipere hoc modo fieri potest LINO, ubi CPU alius processus adhibetur, dum primum exspectatur. I/O. Quam ob rem ratio melius expediri potest - momento temporis cum processus interactive exspectatur I/O, alii processus in processu exsecutioni mandari possunt.

Oraculum non est

Nunc satagamus posito tempore currentis negotii exuere notum est. Hoc est generaliter pessimum et univocum suppositio in totum album. Revera, in mediocris ordinaria OS, ipsa OS plerumque novit minimum de tempore exsecutionis negotiorum, quomodo ergo potes aedificare schedulam nesciens quousque negotium exsequi capiet? Forsitan RR principiis uti potuimus ad hanc quaestionem solvendam?

exitum

Inspeximus fundamentales notiones elaborandi inspiciendi et inspeximus 2 familias schedulae. Primus inchoat munus brevissimum primum et sic tempus auget, secundus vero inter omnia opera aequaliter discerpitur, responsionem augens. Utraque algorithms mala sunt ubi algorithms alterius familiae bonae sunt. Etiam inspeximus quomodo usus parallelus CPU et I/O adquirere potest, sed problema cum OS clairvoyance solvendum non est. Et in altera lectione consilium consilium intuebimur qui proximum praeteritum inspicit et futura praedicere conatur. And it's called multi-level feedback queue.

Source: www.habr.com

Add a comment