Operating Systema: Tres Securus Pieces. Pars III: Processus API (translatio)

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 =)

Terrorem! Haec lectio est lab! Vide github

Processus API

Intueamur exemplum creandi processum in systemate UNIX. Hoc fit per duos vocat ratio furca () и exec ().

Voca furca ()

Operating Systema: Tres Securus Pieces. Pars III: Processus API (translatio)

Considera programma quod furcam () appellant. Effectus autem effectus talis erit.

Operating Systema: Tres Securus Pieces. Pars III: Processus API (translatio)

Imprimis munus principale intramus et chorda in screen imprimimus. Linea continet processum identificatorem qui in lingua originali appellatur PID seu processum identifier. Hoc identifier in UNIX adhibetur ut ad processum referatur. Proximus mandatum furca vocabit (). In hoc loco prope exactum exemplar processuum creatum est. Ad OS, spectat sicut 2 exemplaria eiusdem programmatis in systematis currendo, quae rursus munus furca() exibit. Processus infantis nuper creatus (relate ad processum parentem qui eum creavit) iam non erit exsecutus, incipiens a munere principali. Sciendum est puerum processum non esse exactum exemplar processus parentis, praesertim vero spatium suum, suos registra, suum regulam ad instructiones exsecutabiles, et similia. Ita, valorem reductum ad vocans furcam () munus diversum erit. Praesertim processus parentis PID valorem processus pueri in reditum accipiet, et puer valorem aequalem accipiet 0. His codicibus reditibus utens, tunc potes processus separare et unumquemque eorum ad proprium opus faciendum cogere. . Sed exsecutio huius programmatis non est stricte definita. Divisis in 2 processibus, OS admonere incipit eos ac consilium suum opus. Si in uno nucleo processus exsecutus est, unus processus, in hoc casu parens, opus perseverabit, et tunc filius processum potestatem recipiet. Cum sileo, res aliter se habere potest.

Vocatio insidiatur ()

Operating Systema: Tres Securus Pieces. Pars III: Processus API (translatio)

Considera propositum. In hoc programmate propter vocationem praesentiam manere() Parentis processum semper exspectant prolis processum ad perficiendum. In hoc casu stricte definitum textum e scrinii output habebimus

Operating Systema: Tres Securus Pieces. Pars III: Processus API (translatio)

exec () vocatio

Operating Systema: Tres Securus Pieces. Pars III: Processus API (translatio)

Considerans provocationem exec (). Haec ratio vocationis utilis est cum programma omnino aliud currere volumus. Hic vocabimus execvp () currere per wc programmatis quod est verbum programmatis computandi. Quid fit cum exec() vocatur? Haec vocatio transmittitur nomen documenti exsecutabile et quaedam parametri argumenta. Post quem signum et notitia statice ex hoc documento exsecutabili oneratur, et eius segmentum cum codice overscriptum est. Reliquae areae memoriae, ut acervus et acervus, reinitiantur. Post quem OS simpliciter propositum exsequitur, praeteriens argumentorum statutum. Itaque novum processum non creavimus, modo currenti propositum in aliud propositum currentem simpliciter mutavimus. Postquam exec() vocationem in prole perfecit, apparet quasi programmata originalia omnino non currere.

Complicatio haec startup complicationi omnino normali est pro Testa Unix, et permittit testam illam exsequi codicem postquam vocatum est furca ()sed ante vocationem exec (). Exemplum tale codicem ambitus testamenti aptat ad necessitates programmatis immissae, antequam illud emitteret.

Crusta - Iustus programmata usoris. Invitationem rectam tibi ostendit et exspectat ut aliquid in eo scribas. Pleraque, si nomen programmatis ibi scribis, testa locum suum invenies, modum furcam() voca, et tum genus aliquod exec() appellas ad novum processum creandum et exspectandum utendo utendo perficiendo. exspecta () appellant. Cum puer processum exit, putamen ab exspectatione redibit () vocatum et promptum iterum imprime et proximum expecta mandatum ut ingrediatur.

Fuscinula () & exec() fissum permittit testam facere sequentia, exempli gratia:
we file > new_file.

In hoc exemplo, progressionis wc progressione ad limam directa est. Via testa hanc attingit plane simplex est - creando puerum processum antequam vocantem exec (), Testa vexillum output claudit et tabellam aperit new_file, ita omnes e curriculo ulteriori emisso wc ut redirected ad lima pro screen.

Unix pipe simili modo exsequuntur, cum differentia, quam fistulam appellant. In hoc casu, processus rivi output connectetur cum fistula queue in nucleo sito, cui initus rivus alius processus coniungetur.

Source: www.habr.com

Add a comment