Operating Systema: Tres Securus Pieces. Pars I: Introductio.

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;
— originale; pages.cs.wisc.edu/~remzi/OSTEP/Homework/homework.html
— originale; github.com/remzi-arpacidusseau/ostep-code
- mea accommodatio personali; github.com/bykvaadm/OS/tree/master/ostep

Potes etiam reprehendo meum in alveum suum telegraphum =)

Program operandi

Quid accidit cum programma currit? Progressio currens unum simplex facit - instructiones exequitur. Singulis secundis decies centena milia et etiam forsitan billions praeceptorum processu e RAM reparantur, rursus eas decoquit (exempli gratia agnoscit cuius generis haec instructiones sint) et eas exequitur. Hoc duos numeros addere potuit, memoriam accedens, condicionem tentans, ad functionem saliens, et sic porro. Peracta una instructione, processus procedit ad exsequendum alium. Et sic instructio post instructionem perficiuntur usque ad propositum finem.
Hoc exemplum natura simpliciori modo consideratum est - re vera, ut processus accelerare, ferramenta moderna permittit ut instructiones extra ordinem exsequantur, proventus possibilis computare, instructiones simul ac similes technas exequi.

Von Neumann exemplar computationis

Forma simplicior operandi quam descripsimus similis est exemplari computandi Von Neumann. Von Neumann unus e auctoribus systematum computatrorum est, etiam unus ex auctoribus ludi theoriae. Dum programma currit, fasciculus aliorum eventuum incidit, multi alii processus et tertia pars logica currit, cuius principale propositum est ad simpliciorem deductionem, operationem et sustentationem systematis.
Proposita est programmatio quae est responsabilis programmata facilia ad currendum (vel etiam plures programmata currendi simul permittens), programmata permittens eandem memoriam communicare ac cum diversis machinis communicare. Talis ordo programmatum (software) essentialiter systema operans appellatur eiusque opera includunt vigilantia quae ratio recte et efficaciter operatur, tum facilitatem administrationis huius systematis.

Operating system

Systema operandi, ut OS abbreviatum, programmatis inter se connexis institutum est ut facultates computatrales administraret et commercium usoris cum computatro componeret..
OS efficaciam suam consequitur praesertim per praecipuas artes - technologiae virtualization. OS cum subsidio physico (processus, memoriae, orbis, etc.) intercedit et in communiorem, magis capacem et faciliorem usum sui ipsius format. Ergo ad intellectum generalem admodum dura comparare potes systema operantem cum machina virtuali.
Ut utentes utentes iubeat rationi operanti dare et sic facultatibus machinae virtualis utere (ut: progressio cursus, memoriam collocans, lima accessus, et sic porro), ratio operativa praebet interfaciem quae vocatur. API (applicatio interfaciendi programmandi) et ad quae vocatio fieri potest. Systema typicum operandi permittit te ut centena ratio vocat.
Denique, quia virtualisatio permittit plures programmata ad currendum (sic communicantes CPU), ac simul accessum eorum instructionum et notitiarum (sic memoria communicans), et accessus orbis (sic communicans I/O cogitationes), ratio operativa etiam auxilium vocatur. procurator. Uniuscuiusque processus, orbis et memoriae ratio subsidii est et sic una munerum systematis operantis fit munus administrandi has facultates, ea efficienter, iuste vel e contra, prout ratio operandi designata est. .

CPU virtualization

Vide programma sequentem:
(https://www.youtube.com/watch?v=zDwT5fUcki4&feature=youtu.be)

Operating Systema: Tres Securus Pieces. Pars I: Introductio.

Nullas speciales actiones non facit, immo totum est officium spin() , cuius munus est cyclice tempus et reditum inhibere, postquam unum alterum praeterierit. Ita sine fine repetit chorda quam utentis argumenti transiit.
Hoc programma curremus et illud signum “A” pro argumento transeamus. Effectus non est praecipue interesting - ratio simpliciter exsequitur rationem quae intervenit symbolum "A" in screen.
Nunc optionem conemur cum multa instantiae eiusdem rationis emittuntur, sed varias litteras ostendentes, quo clarius pateat. Hoc in casu inmutato fiet. Non obstante quod unum processum habemus, propositum eodem tempore decurrit. Quomodo hoc fiet? Sed evenit ut ratio operativa, non sine subsidiis ferramentorum facultatibus, illusionem faciat. Illusio quod multiplices sunt processus virtuales in systemate, unum processum physicum in theoretice in infinitum convertens et permittit programmata ut simul currere videntur. Haec illusio dicitur CPU virtualization.
Haec pictura multas interrogationes movet, exempli gratia, si plures programmata simul currere voluerint, quaenam erit? OS "consilia" huius rei responsales sunt. Politiae multis in locis in OS adhibitae sunt et his similia interroganti respondebant, ac praecipuae machinae quas OS instrumenta complent. Hinc munus OS ut opum procurator.

Memoria virtualization

Nunc inspiciamus memoriam. Exemplar memoriae physicus in modernis systematibus repraesentatur sicut byte ordinata. Ad memoriam legere debes specificare cellula oratioaccess it. Scribere vel renovationem datam, etiam notitias et electronicas cellae ubi ea scribimus denotare debes.
Memoriae accessus continenter occurrunt in executione programmatis. Propositum suum totam notitiarum structuram in memoria reponit ac accessibus eam variis instructionibus exsequendis. Interim instructiones quoque in memoriam reponuntur, ita quoque accessus est ad singulas petitiones in altera instructione.

Vocans malloc ()

Considera rationem sequentem, quae spatium memoriae utendi vocationi destinat malloc () (https://youtu.be/jnlKRnoT1m0);

Operating Systema: Tres Securus Pieces. Pars I: Introductio.

Propositum plura facit. Primum, memoriam aliquam collocat (line 7), deinde imprimit electronicam cellam (line 9), nihil scribit ad primam socors memoriae partita. Progressio deinde ansam intrat in qua valorem repositum in memoria apud electronicam in incerto "p" repositam auget. Etiam id ipsum per se ostendit. Processus tuus est singularis pro sulum currit processus. Pluribus exemplaribus deductis, occurremus an interesting eventum: In primo, si nihil facimus et mox plura exemplaria agimus, inscriptiones diversae erunt. Sed hoc sub opinione nostra non cadit! Verum, quia hodiernae distributiones memoriam randomizationis habent, per defaltam facultatem habent. Si disable, eventum obtinemus expectatum - memoria inscriptionum duarum simul currentium programmatum coincidet.

Operating Systema: Tres Securus Pieces. Pars I: Introductio.

Ita fit ut duo programmata independentia operant cum spatiis electronicis privatis propriis, quae vicissim ab operativa systemate in memoria corporis provisi sunt.. Usus igitur memoriae in programmatis electronicis aliis nullo modo afficit, et unaquaeque programma suum memoriae physicae omnino habere videtur. Res autem physica est memoria communis subsidii quod ab operante curatur.

Constantia

Alius maximus locus in operating ratio est constantia. Hoc vocabulum adhibetur cum de quaestionibus systematis loquitur quae fieri possunt cum multa simul operando intra unum propositum. Difficultates constantiae etiam fiunt in ipsa systemate operante. In exemplis praecedentibus cum memoria et processus virtualizationis, intelleximus quod multa simul administrat OS - primum processum movet, deinde secundum, et sic porro. Cum evenit, haec agendi ratio ad aliquas difficultates ducere potest. Exempli gratia, programmata moderna multi-filata huiusmodi difficultates experiuntur.

Vide programma sequentem:

Operating Systema: Tres Securus Pieces. Pars I: Introductio.

Propositum in munere principali duo fila efficit utens vocatio Pthread_create (). In hoc exemplo, filum cogitari potest de munere currentis in eodem spatio memoriae juxta alias functiones, cum plane plus quam una functione simul currente. In hoc exemplo, unumquodque filum incipit et functionem facit operarius () qui rursus simpliciter incrementa variabilis,.

Hoc programma curramus cum argumento 1000. Prout suspicari poteras, eventus 2000 debet esse, cum singula fila 1000 temporibus incertos incrementaverint. Sed non omnia simplicia. Studeamus propositum currere cum repetitionum magnitudinis ordine plures.

Operating Systema: Tres Securus Pieces. Pars I: Introductio.

Numerum inponendo, exempli gratia, 100000, exspectamus numerum 200000 in output videre, attamen pluries centena millia currente, non solum rectam responsionem non videbimus, sed etiam diversa responsa falsa recipiemus. Respondetur in eo quod numerus augens tres operationes requirit - numerum a memoria recuperans, eum incremento, et postea numerus retro scribens. Cum haec omnia mandata non atomice, simul omnes efficiantur, res novas hoc modo fieri potest. Hoc problema in programmando vocatur genus conditio. Cum ignotae copiae ignotae momento afficiunt cuiuslibet operationum tuarum exsecutionem.

Source: www.habr.com

Add a comment