Faiga Fa'agaioiga: Tolu Faigofie Faiga. Vaega 2: Ave'esea: Fa'agasologa (fa'aliliuga)

Folasaga i Faiga Fa'agaioiga

Ei Habr! Ou te fia faailoa atu ia te outou se faasologa o tala-faaliliuga o se tasi tusitusiga manaia i loʻu manatu - OSTEP. O lenei mea o loʻo faʻatalanoaina loloto le galuega o faiga faʻaogaina e pei o le unix, e pei o, galue ma faʻagasologa, faʻasologa eseese, manatua, ma isi vaega tutusa e fausia ai se OS faʻaonaponei. E mafai ona e va'ai i le mea muamua o mea uma iinei iinei. Fa'amolemole maitau o le fa'aliliuga sa faia e le'o fa'apolofesa (sa'oloto lava), ae ou te fa'amoemoe o lo'o tumau pea le uiga lautele.

Ole su'esu'ega ile mataupu e mafai ona maua iinei:

O isi vaega:

E mafai fo'i ona e va'ai i la'u auala ile telegram =)

Sei o tatou vaʻavaʻai i le faʻamatalaga sili ona taua o loʻo tuʻuina atu e le OS i tagata faʻaoga: o le faagasologa. O le faʻamatalaga o le faʻagasologa e fai si faigofie - o lea fa'agasolo polokalame. O le polokalame lava ia o se mea e leai se ola o loʻo i luga o le tisiki - o se seti o faʻatonuga ma atonu o nisi faʻamatalaga tumau o loʻo faʻatali e faʻalauiloa. O le OS e ave na paita ma faʻatautaia, suia le polokalame i se mea aoga.
O le tele o taimi, e manaʻo tagata faʻaoga e faʻatautaia le sili atu ma le tasi le polokalama i le taimi e tasi, mo se faʻataʻitaʻiga, e mafai ona e faʻatautaia se suʻesuʻega, taʻaloga, tagata faʻasalalau, tusitala tusitusiga, ma mea faapena i lau komepiuta feaveaʻi. O le mea moni, o se faiga masani e mafai ona fa'asefulu pe fiaselau faiga i le taimi e tasi. O lenei mea moni e faʻafaigofie ai le faʻaogaina o le polokalama, e le tatau ona e popole pe leai se totogi o le PPU, naʻo le faʻaogaina o polokalama.

Ole mea lea e tulaʻi mai ai le faʻafitauli: faʻafefea ona tuʻuina atu le faʻasesega o le tele o PPU? E fa'afefea ona fa'atupu e le OS le fa'afoliga o se numera toetoe lava a le i'u o PPU, e tusa lava pe na'o le tasi le PPU fa'aletino?

O le OS e fatuina lenei faʻasesega e ala i le CPU virtualization. E ala i le amataina o se tasi faagasologa, ona taofi lea, amata se isi faagasologa, ma isi mea, e mafai e le OS ona faatumauina le faʻasesega o loʻo i ai le tele o PPU faʻapitoa, ae o le mea moni o le ai ai se tasi pe sili atu masini faʻapitoa. Ua ta'ua lea metotia vaevaega o punaoa CPU i le taimi. O lenei metotia e mafai ai e tagata faʻaoga ona faʻatautaia le tele o faʻagasologa tutusa e pei ona latou manaʻo ai. O le tau o lenei fofo o le faʻatinoga - talu ai afai o le PPU e faʻasoa e le tele o faʻagasologa, o le a faʻagasolo malie atu gaioiga taʻitasi.
Ina ia faʻatinoina le faʻaogaina o le CPU, aemaise lava le faia lelei, e manaʻomia e le OS le lagolago maualalo ma le maualuga. E ta'ua le lagolago maualalo faiga o auala maualalo poʻo faʻasalalauga e faʻatinoina le vaega manaʻomia o le faʻatinoga. O se faʻataʻitaʻiga o ia faʻatinoga o le fesuiaiga o faʻamatalaga, lea e tuʻuina atu ai i le OS le malosi e taofi ai se tasi polokalama ae faʻatautaia se isi polokalame i luga o le gaosiga. O lenei vaevaega taimi o loʻo faʻatinoina i faiga faʻaonaponei uma.
I le pito i luga o nei faiga o loʻo iai ni faʻamatalaga ua fausia i totonu o le OS, i le tulaga o "faiga faʻavae". faiga faavae ose fa'atonuga fa'ai'uga algorithm mo le faiga fa'agaioiga. O ia faiga fa'avae, mo se fa'ata'ita'iga, filifili po'o fea polokalame e tatau ona fa'alauiloa muamua (mai se lisi o fa'atonuga). O lea la, mo se faʻataʻitaʻiga, o lenei faʻafitauli o le a foia e se faiga faʻavae e taʻua fa'atonu (faiga fa'atulagaina) ma pe a filifilia se fofo, o le a taʻitaʻia e ia faʻamatalaga e pei o: amataga o talafaasolopito (o le a le polokalama na faʻalauiloaina le umi i minute mulimuli), o le a le avega o loʻo tauaveina e lenei faagasologa (o a ituaiga o polokalame na faʻalauiloaina), fua faʻatinoga (pe o le faiga e sili ona lelei mo fegalegaleaiga fegalegaleai po'o mo le gaosiga ) ma isi.

Aveesea: faagasologa

O le faʻaaogaina o se polokalama faʻatautaia e faʻatinoina e le faiga faʻaogaina o le mea lea matou te taʻua faʻagasologa. E pei ona taʻua muamua, o se faʻagasologa o se polokalama faʻatautaia, i soʻo se taimi vave. O se polokalame e mafai ona tatou maua mai ai faʻamatalaga faʻamatalaga mai punaoa faʻalapotopotoga eseese e maua e lenei polokalame pe aʻafia i le taimi o lona faʻatinoga.
Ina ia malamalama i vaega o le faagasologa, e tatau ona e malamalama i setete o le faiga: mea e mafai e le polokalama ona faitau pe suia i le taimi o lona faagaoioiga. I soo se taimi, e tatau ona e malamalama po o fea elemene o le faiga e taua mo le faʻatinoina o le polokalame.
O se tasi o elemene manino o le faiga o loʻo taʻu mai o le faagasologa e aofia ai manatua. O faatonuga o lo'o i totonu o manatuaga. O faʻamaumauga o loʻo faitau pe tusia e le polokalame o loʻo i ai foi i le manatua. O le mea lea, o le manatua e mafai e se faagasologa ona faʻafeiloaʻi (taʻua o avanoa avanoa) o se vaega o le faagasologa.
O se vaega foi o le tulaga o le faiga o resitala. O le tele o faʻatonuga e faʻatatau i le suia o le tau o tusi resitala poʻo le faitauina o latou tau, ma o le a avea foi tusi resitala ma vaega taua o le faʻagaioiga o le faagasologa.
E tatau ona maitauina o le tulaga o masini e faia foi mai nisi o resitala faapitoa. Faataitaiga, IP - fa'atonuga fa'atonu - o se faasinoala i le faatonuga o loʻo faʻatinoina nei e le polokalame. E iai foʻi faʻamau faʻailoga ma e faatatau i ai fa'ailoga fa'avaa, lea e faʻaaogaina e pulea ai: faʻasologa o galuega, fesuiaiga i le lotoifale ma tuatusi toe faafoi.
Mulimuli ane, e masani ona maua e polokalame le ROM (mafaufau na'o le faitau). O lenei fa'amatalaga "I/O" (fa'aofi/output) fa'amatalaga e tatau ona aofia ai se lisi o faila o lo'o tatala nei i le faagasologa.

Fa'agasologa API

Ina ia faʻaleleia atili lo tatou malamalama i le faʻaogaina o le faagasologa, seʻi o tatou suʻesuʻeina faʻataʻitaʻiga o telefoni feaveaʻi e tatau ona aofia i soʻo se faʻaoga faʻaoga faʻaoga. O loʻo maua nei API i se tasi foʻi poʻo se isi i luga o soʻo se OS.

faia (foafoaga): O le OS e tatau ona aofia ai nisi metotia e mafai ai ona e faia ni faiga fou. A e ulufale i se faʻatonuga i totonu o le laina poʻo le faʻalauiloaina o se talosaga e ala i le kiliki-lua i luga o se atigipusa, e auina atu se valaau i le OS e fatu ai se faiga fou ona faʻalauiloa lea o le polokalama faʻapitoa.
Aveese: Talu ai o loʻo i ai se atinaʻe mo le fatuina o se faʻagasologa, e tatau foi i le OS ona tuʻuina atu le malosi e faʻamalosi ai le aveeseina o se gaioiga. O le tele o polokalame o le a amata ma fa'amuta i latou lava a'o latou tamo'e. A leai e manaʻo le tagata faʻaoga e mafai ona faʻaumatia i latou ma faʻapea o se atinaʻe e taofi le faagasologa o le a aoga.
tali (faatalitali): O nisi taimi e aoga le faʻatali mo se faʻagasologa e maeʻa, o lea e tuʻuina atu ai nisi o fesoʻotaʻiga e maua ai le gafatia e faʻatali.
Pulea Eseese (pulega eseese): I le faaopoopo atu i le fasioti tagata ma faatalitali mo le faagasologa, e iai foi isi auala eseese e pulea ai. Mo se faʻataʻitaʻiga, o le tele o faiga faʻaoga e maua ai le malosi e faʻamalo ai se faʻagasologa (taofi lona faʻatinoga mo se vaitaimi patino) ona toe faʻaauau lea (faʻaauau le faʻatinoga)
tulaga (setete): E iai fesoʻotaʻiga eseese mo le mauaina o nisi faʻamatalaga e uiga i le tulaga o se gaioiga, e pei o le umi na faʻatautaia ai poʻo le a le tulaga o loʻo i ai nei.

Faiga Fa'agaioiga: Tolu Faigofie Faiga. Vaega 2: Ave'esea: Fa'agasologa (fa'aliliuga)

Fa'agasologa Fa'agasologa: Fa'amatalaga

O se tasi o mea manaia o le auala tonu lea e suia ai polokalame i faiga. Ae maise le auala e piki ma faʻatautaia e le OS le polokalame. E faʻafefea tonu le faʻagasologa o le faiga.
Muamua lava, e tatau i le OS ona utaina le numera o le polokalame ma faʻamaumauga faʻamaumauga i le mafaufau (i totonu o le avanoa tuatusi faʻasologa). O polokalame e masani lava ona tu'u i luga o se tisiki po'o se ta'avale malo-malo i nisi fa'atulagaga fa'atino. O le mea lea, o le faagasologa o le faʻapipiʻiina o polokalame ma faʻamaumauga faʻamaumauga i le mafaufau e manaʻomia ai le OS e mafai ona faitau na bytes mai le disk ma tuʻu i se mea i le mafaufau.

I le amataga o faiga faʻaoga, o le faʻagasologa o le utaina na faia ma le naunautai, o lona uiga o le code atoa na utaina i le mafaufau aʻo leʻi amataina le polokalame. O faiga fa'aonaponei fa'aonaponei e faia lenei mea ma le paie, o lona uiga, fa'apipi'i fasi fa'ailoga po'o fa'amaumauga pe a mana'omia e le polokalame i le taimi o lona fa'atinoga.

O le taimi lava e utaina ai le code ma static data i le OS memory, o loʻo i ai ni nai mea e manaʻomia ona fai aʻo leʻi mafai ona faʻagasolo le faagasologa. E tatau ona fa'asoa se vaega o manatuaga mo le faaputuga. Polokalama fa'aoga le fa'aputuga mo suiga fa'apitonu'u, fa'asologa o galuega, ma tuatusi toe fo'i. O loʻo tuʻuina atu e le OS lenei manatua ma tuʻuina atu i le faagasologa. E mafai foʻi ona tuʻufaʻatasia le faʻaputuga ma nisi o finauga, aemaise lava e faʻatumu ai tapulaʻa o le autu () galuega, mo se faʻataʻitaʻiga ma se faʻasologa o argc ma argv.

E mafai fo'i e le faiga fa'agaoioi ona fa'asoa sina manatua i le fa'aputuga o polokalame. O le fa'aputuga o lo'o fa'aogaina e polokalame e fa'atonu manino ai fa'amaumauga tu'ufa'atasiga. Polokalama e talosagaina lenei avanoa e ala i le viliina o le galuega malloc () ma fa'amama manino i le vala'au o le galuega fua(). E mana'omia le fa'aputuga mo fa'amaumauga o fa'amaumauga e pei o laupepa feso'ota'i, laulau hash, la'au ma isi. I le taimi muamua, o se vaega itiiti o le manatua e tuʻuina atu i le faʻaputuga, ae i le aluga o taimi, aʻo faʻagasolo le polokalame, e mafai e le faʻaputuga ona talosagaina le tele o manatua e ala i le faletusi API valaau malloc (). O loʻo aʻafia le faiga faʻaogaina i le faʻagasologa o le tuʻuina atu o le tele o manatua e fesoasoani e faʻamalieina nei valaʻau.

O le faiga fa'aogaina o le a fa'atinoina foi galuega amata, aemaise lava i latou e feso'ota'i ma I/O. Mo se faʻataʻitaʻiga, i luga o faiga UNIX, o faʻagasologa taʻitasi e le mafai ona iai 3 faʻamatalaga faila faila, mo faʻaoga masani, gaioiga, ma mea sese. O 'au nei e mafai ai e polokalame ona faitau fa'amatalaga mai le fa'ailoga fa'apea fo'i ma fa'aaliga fa'amatalaga ile lau.

O le mea lea, e ala i le faʻapipiʻiina o le code ma faʻamaumauga faʻamaumauga i totonu o le mafaufau, fatuina ma le amataina o le faaputuga, ma le faia o isi galuega e fesoʻotaʻi ma le faʻatinoina o galuega I / O, e saunia e le OS le tulaga mo le faagasologa e faʻatino. Mulimuli ane, o loʻo i ai se tasi o galuega mulimuli o loʻo totoe: faʻatautaia le polokalame e ala i lona ulufale, e taʻua o le autu () galuega. E ala i le faʻatinoina o le galuega autu (), o le OS faʻafeiloaʻi le CPU pule i le faiga fou na faia, o lea e amata ai ona faʻatino le polokalama.

Tulaga faiga

O lea la ua i ai so tatou malamalama i le mea e taʻu o le faagasologa ma pe faapefea ona faia, seʻi o tatou lisi le faagasologa o loʻo taʻua e mafai ona i ai. I lona faiga sili ona faigofie, o se faagasologa e mafai ona i ai i se tasi o nei setete:
tamoe. A fa'agasolo, e fa'agasolo le fa'agasologa i luga o le fa'agasolo. O lona uiga o lo'o fa'atinoina faatonuga.
sauni. I le tulaga sauni, ua sauni le faagasologa e tamoe, ae mo nisi mafuaʻaga e le faʻatinoina e le OS i le taimi atofaina.
Ua poloka. I le tulaga poloka, o se faʻagasologa e faʻatino ai nisi o gaioiga e taofia ai mai le sauni e faʻatino seia oʻo ina tupu se mea. O se tasi o faʻataʻitaʻiga masani o le taimi e amataina ai se gaioiga IO, e poloka ina ia mafai e se isi gaioiga ona faʻaogaina le gaioiga.

Faiga Fa'agaioiga: Tolu Faigofie Faiga. Vaega 2: Ave'esea: Fa'agasologa (fa'aliliuga)

E mafai ona e mafaufauina nei setete i foliga o se kalafi. E pei ona mafai ona tatou vaʻai i le ata, e mafai ona suia le tulaga o le faagasologa i le va o le RUNNING ma le READY i le faitalia a le OS. A suia le tulaga o se faagasologa mai le READY i le RUNNING, o lona uiga ua uma ona faatulagaina le faagasologa. I le itu faafeagai - aveese mai le faatulagaga. I le taimi e faʻafefe ai se faʻagasologa, mo se faʻataʻitaʻiga, ou te amataina se gaioiga IO, o le OS o le a taofia i lenei setete seia oʻo ina tupu se mea, mo se faʻataʻitaʻiga o le maeʻa o le IO. i le taimi nei o le suiga i le READY state ma atonu o le taimi lava lea i le RUNNING state pe a fai e filifili le OS.
Se'i o tatou va'ava'ai i se fa'ata'ita'iga pe fa'apefea ona fa'agasolo faiga e lua i nei setete. I le amataga, seʻi o tatou mafaufau o loʻo faʻagasolo uma faiga, ma o loʻo faʻaaogaina e naʻo le PPU. I lenei tulaga, o latou setete o le a pei o lenei.

Faiga Fa'agaioiga: Tolu Faigofie Faiga. Vaega 2: Ave'esea: Fa'agasologa (fa'aliliuga)

I le faʻataʻitaʻiga o loʻo mulimuli mai, o le faʻagasologa muamua, pe a maeʻa sina taimi, talosaga IO ma ulufale i le tulaga BLOCKED, faʻatagaina se isi faiga e faʻatautaia (FIG 1.4). O loʻo vaʻaia e le OS o le faagasologa 0 e le o faʻaogaina le PPU ma amata le faagasologa 1. Aʻo faʻagasolo le faagasologa 1, ua maeʻa le IO ma suia le tulaga o le faagasologa 0 i le READY. Mulimuli ane, ua maeʻa le faagasologa 1, ma a maeʻa, o le faagasologa 0 e amata, faʻatino, ma faʻauma lana galuega.

Faiga Fa'agaioiga: Tolu Faigofie Faiga. Vaega 2: Ave'esea: Fa'agasologa (fa'aliliuga)

Fa'asologa o fa'amaumauga

O le OS lava ia o se polokalame, ma e pei lava o soʻo se isi polokalame, o loʻo i ai ni faʻamaumauga autu o faʻamaumauga e siaki ai vaega eseese o faʻamatalaga talafeagai. Ina ia siaki le tulaga o faagasologa taitasi, o le a lagolagoina e le OS nisi lisi o faiga mo fa'agasologa uma i le READY state ma nisi fa'amatalaga fa'aopoopo e siaki ai faiga o lo'o fa'agasolo nei. E le gata i lea, e tatau i le OS ona mataʻituina faiga poloka. A maeʻa le IO, e tatau i le OS ona fafagu le faagasologa manaʻomia ma tuʻu i se setete ua sauni e tamoe.

Mo se faʻataʻitaʻiga, e tatau i le OS ona faʻasaoina le tulaga o le faila faila. I le taimi e taofi ai le faagasologa, o le setete o tusi resitala o loʻo teuina i le tuatusi avanoa o le faagasologa, ma i le taimi o loʻo faʻaauau pea lona faʻagaioiga, o tau o tusi resitala e toe faʻaleleia ma faʻaauau ai le faʻatinoina o lenei faagasologa.

I le faaopoopo atu i le sauni, poloka, taʻavale setete, o loʻo i ai isi setete. O nisi taimi, i le taimi o le foafoaga, e mafai ona i ai se faagasologa i le tulaga INIT. Mulimuli ane, e mafai ona tu'u se fa'agasologa i le tulaga FA'AI'U pe a mae'a, ae e le'i fa'amama ana fa'amatalaga. I luga o faiga UNIX ua taʻua lenei setete faiga zombie. O lenei setete e aoga mo mataupu e manaʻo ai se matua e iloa le numera o le toe foʻi mai o se tamaititi, mo se faʻataʻitaʻiga, e masani lava o le 0 e faʻaalia ai le manuia ma le 1 o se mea sese, ae mafai e le au fai polokalame ona tuʻuina atu tulafono faʻaopoopo e faʻaalia ai faʻafitauli eseese. Ina ua muta le faagasologa o matua, e faia se valaau faiga mulimuli, e pei o le faatali (), e faatali mo le faagasologa o le tamaitiiti e faamuta ma faailo i le OS e mafai ona faamama so o se faamatalaga e fesootai ma le faagasologa faamutaina.

Faiga Fa'agaioiga: Tolu Faigofie Faiga. Vaega 2: Ave'esea: Fa'agasologa (fa'aliliuga)

Manatu taua o le lauga:

Le faagasologa - o le faʻaaogaina autu o se polokalama faʻaogaina i le OS. I so'o se taimi, e mafai ona fa'amatalaina se fa'agasologa i lona tulaga: o mea o lo'o manatua i lona tuatusi avanoa, o mea o lo'o i totonu o tusi resitala, e aofia ai le fa'atonuga ma le fa'aputu fa'aputu, ma fa'amatalaga IO, e pei o faila tatala o lo'o faitau pe tusia.
Fa'agasologa API e aofia ai vala'au e mafai e polokalame ona faia i fa'agaioiga. E masani lava o nei mea e fai, tape, poʻo isi telefoni.
● O le faagasologa o se tasi o le tele o setete, e aofia ai le tamoe, sauni, poloka. O mea eseese e pei o le fa'atulagaina, tuusaunoaga mai le fa'atulagaina, po'o le fa'atalitali e mafai ona suia le tulaga o se fa'agasolo mai le tasi i le isi.
Lisi fa'agasologa o lo'o i ai fa'amatalaga e uiga i faiga uma i totonu o le faiga. O faʻamatalaga taʻitasi i totonu e taʻua o se poloka faʻatonuga, lea o le mea moni o se fausaga e aofia uma ai faʻamatalaga talafeagai e uiga i se faiga faʻapitoa. 

puna: www.habr.com

Faaopoopo i ai se faamatalaga