Kontentke ótiw

Process (esaplaw texnikası)

Wikipedia, erkin enciklopediya
Programma, Process hám AǵımJobalastırıw, Aldın alıw, Kontekst almasıw

Esaplaw texnikasında process ‒ bul bir yamasa bir neshe aǵımlar tárepinen orınlanıp atırǵan kompyuter programmasınıń instanciyası. Kóp túrli process modelleri bar, olardıń geyparaları jeńil salmaqlı, biraq derlik barlıq processler (hátte tolıq virtual mashinalar da) operaciyalıq sistema (OS) processinde tiykarlanǵan, ol programma kodın, bólingen sistema resursların, fizikalıq hám logikalıq kiriw ruqsatnamaların hám orınlawdı baslaw, baqlaw hám koordinaciyalaw ushın maǵlıwmatlar strukturaların óz ishine aladı. Operaciyalıq sistemaǵa baylanıslı, process bir neshe orınlaw aǵımlarınan quralıwı múmkin, olar kórsetpelerdi parallel túrde orınlaydı.[1][2]

Kompyuter programması ádette diskte fayl túrinde saqlanǵan passiv kórsetpeler jıynaǵı bolsa, process - bul usı kórsetpelerdiń diskten yadqa júklengennen keyin orınlanıwı. Bir programma menen bir neshe process baylanıslı bolıwı múmkin; mısalı, bir programmanıń bir neshe instanciyasın ashıw kóbinese birden kóp processtiń orınlanıwına alıp keledi.

Kóp wazıypalılıq - bul bir neshe processlerdiń processorlardı (CPU) hám basqa sistema resursların bólisiwine múmkinshilik beretuǵın usıl. Hár bir CPU (yadro) bir waqıtta tek bir processti orınlaydı. Biraq, kóp wazıypalılıq hár bir processorǵa hár bir tapsırmanıń tamamlanıwın kútpesten orınlanıp atırǵan wazıypalar arasında awısıwǵa múmkinshilik beredi (aldın alıw). Operaciyalıq sistemanıń implementaciyasına baylanıslı, awısıwlar wazıypalar kirgiziw/shıǵarıw operaciyaların baslaǵanda hám olardıń tamamlanıwın kútkende, wazıypa óz ıqtıyarı menen CPU-dı bosatqanda, apparatlıq úzilislerde hám operaciyalıq sistema jobalastırıwshısı processtiń CPU waqtınıń ádil úlesin paydalanıp bolǵanın anıqlaǵanda orınlanıwı múmkin (mısalı, Linux yadrosınıń Tolıq Ádil Jobalastırıwshısı arqalı).

Kóp wazıypalılıqtıń keń tarqalǵan túri - bul CPU-dıń waqıttı bólisiwi, yaǵnıy paydalanıwshılardıń processleri hám aǵımların, hátte ǵárezsiz yadro wazıypaların orınlawdı aralastırıw usılı - geypara sońǵı ózgeshelik tek Linux sıyaqlı aldın alıwshı yadrolarda ǵana múmkin. Aldın alıwdıń interaktiv processler ushın áhmiyetli qosımsha tásiri bar, olarǵa CPU-ǵa baylanıslı processlerge salıstırǵanda joqarı basımlıq beriledi, sonlıqtan paydalanıwshılarǵa ápiwayı túyme basıw yamasa tıshqanshanı jıljıtıw arqalı dárhal esaplaw resursları ajıratıladı. Sonıń menen bir qatarda, video hám muzıka oynatıw sıyaqlı qollanbalarǵa belgili bir dárejede real waqıt rejimindegi basımlıq beriledi, bul basqa tómenirek basımlıqqa iye processlerdi aldın aladı. Waqıttı bólisiw sistemalarında kontekst almasıwları tez orınlanadı, bul bir processorda bir neshe process bir waqıtta orınlanıp atırǵanday kórinis payda etedi. Bir neshe processtiń bul kórinistegi bir waqıtta orınlanıwı parallellik dep ataladı.

Qáwipsizlik hám isenimlilik ushın, kópshilik zamanagóy operaciyalıq sistemalar ǵárezsiz processler arasındaǵı tikkeley baylanıstı boldırmaydı, qatań túrde basqarılatuǵın hám baqlanatuǵın processler aralıq baylanıstı támiyinleydi.

Kórsetiliwi

htop arqalı kórsetilgen processler dizimi
A process table as displayed by KDE System Guard
KDE System Guard arqalı kórsetilgen process kestesi

Ulıwma alǵanda, kompyuter sistemasındaǵı process tómendegi resurslarǵa iye (yamasa iye bolıwı aytıladı):

  • Baǵdarlama menen baylanıslı orınlanıwshı mashina kodınıń kórinisi.
  • Yad (ádette virtual yadtıń belgili bir bólegi); oǵan orınlanıwshı kod, processke tiyisli maǵlıwmatlar (kirgiziw hám shıǵarıw), aktiv kishi programmalardı hám/yamasa basqa waqıyalardı qadaǵalaw ushın shaqırıwlar stegi, sonday-aq orınlanıw waqtında payda bolǵan aralıq esaplaw maǵlıwmatların saqlaw ushın jıynaq kiredi.
  • Processke ajıratılǵan resurslardıń operaciyalıq sistema deskriptorları, mısalı, fayl deskriptorları (Unix terminologiyası) yamasa xendller (Windows), sonday-aq maǵlıwmat derekleri hám qabıllaǵıshları.
  • Qáwipsizlik atributları, mısalı, process iyesi hám processtiń ruqsat etilgen operaciyalar toplamı (múmkin bolǵan operaciyalar).
  • Processor jaǵdayı (kontekst), mısalı, registrlerdiń mazmunı hám fizikalıq yadtı adreslew. Jaǵday ádette process orınlanıp atırǵanda kompyuter registrlerinde, al qalǵan waqıtta yadta saqlanadı.

Operaciyalıq sistema aktiv processler haqqındaǵı bul maǵlıwmatlardıń kópshiligin processti basqarıw blokları dep atalatuǵın maǵlıwmatlar strukturalarında saqlaydı. Resurslardıń hár qanday toplamı, ádette keminde processor jaǵdayı, potoklardı yamasa bala processlerdi qollaytuǵın operaciyalıq sistemalarda processtiń hár bir aǵımı menen baylanıslı bolıwı múmkin.

Operaciyalıq sistema óz processlerin bólek saqlaydı hám olarǵa kerekli resurslardı bólistiredi, solay etip olardıń bir-birine kesent etiwi hám sistema buzılıwlarına (mısalı, dıǵırıqqa yamasa tıǵılısıwǵa) alıp keliwi itimallıǵın azaytadı. Operaciyalıq sistema sonday-aq processlerdiń qáwipsiz hám boljawǵa bolatuǵın usıllar menen óz-ara tásir etiwi ushın processler aralıq baylanıs mexanizmlerin de usınıwı múmkin.

Kóp tapsırmalı hám processti basqarıw

Kóp tapsırmalı operaciyalıq sistema kóp processlerdiń bir waqıtta (yaǵnıy, parallel) orınlanıp atırǵanday kórinis beriw ushın tek processler arasında almasıp turıwı múmkin, biraq haqıyqatında bir CPUda bir waqıtta tek bir process orınlanıwı múmkin (eger CPU kóp yadrolı bolmasa, onda kóp aǵımlı yamasa basqa uqsas texnologiyalar qollanılıwı múmkin).

Ádette bir processti tiykarǵı programma menen, al bala processlerdi qálegen bólinip shıqqan, parallel processler menen baylanıstırıw qabıl etilgen, olar asinxron kishi programmalar sıyaqlı is alıp baradı. Processtiń resurslarǵa iye bolıwı aytıladı, olardıń biri onıń programmasınıń (yadtaǵı) kóshermesi bolıp tabıladı. Biraq, kóp processorlı sistemalarda kóp processler bir qayta kiriwge bolatuǵın programmadan yadtıń bir jerinde islewi yamasa onı bólisiwi múmkin, biraq hár bir processtiń programmanıń óz kóshirmesine iye ekenligi aytıladı.

Processler kóbinese engizilgen operaciyalıq sistemalarda "tapsırmalar" dep ataladı. "Process" (yamasa tapsırma) mánisi "waqıt alatuǵın nárse" bolıp, "yadqa" qarama-qarsı qoyıladı, ol "orın alatuǵın nárse" bolıp esaplanadı.

Joqarıdaǵı sıpatlama hám operaciyalıq sistema tárepinen basqarılatuǵın processlerge, hám processlerdi esaplaw teoriyası menen anıqlanǵan processlerge qollanıladı.

Eger process kútiwi kerek bolǵan bir nárseni sorasa, ol bloklanadı. Process bloklanǵan jaǵdayda bolǵanda, onı diskke almastırıwǵa boladı, biraq bul virtual yadlı sistemada ashıq boladı, onda processtiń yadınıń aymaqları haqıyqatında hár qanday waqıtta diskte bolıwı hám tiykarǵı yadta bolmawı múmkin. Hátte aktiv processlerdiń/tapsırmalardıń (orınlanıp atırǵan programmalardıń) bólimleri, eger olar jaqında qollanılmaǵan bolsa, diskke almastırılıwı múmkin. Orınlanıp atırǵan programmanıń hám onıń maǵlıwmatlarınıń barlıq bólimleri baylanıslı processtiń aktiv bolıwı ushın fizikalıq yadta bolıwı shárt emes.

Process jaǵdayları

Hár túrli process jaǵdayları, halatlar arasındaǵı múmkin bolǵan ótiwlerdi kórsetetuǵın strelkalar menen jaǵday diagrammasında kórsetilgen

Kóp tapsırmalılıqqa jol qoyatuǵın operaciyalıq sistema yadrosı processlerdiń belgili jaǵdaylarǵa iye bolıwın talap etedi. Bul jaǵdaylardıń atları standartlastırılmaǵan, biraq olar uqsas funkcionallıqqa iye.

  • Birinshi gezekte, process ekinshi dárejeli saqlaw qurılmasınan (qattı disk, CD-ROM hám t.b.) tiykarǵı yadqa júkleniw arqalı "dúziledi". Onnan keyin process jobalawshı oǵan "kútiw" jaǵdayın beriwi.
  • Process "kútiw" jaǵdayında bolǵan waqıtta, ol jobalawshınıń kontekst almasıwı dep atalatuǵın ámeldi orınlawın kútedi. Kontekst almasıwı processti processorǵa júkleydi hám jaǵdaydı "orınlanıw"ǵa ózgertedi, al aldıńǵı "orınlanıp atırǵan" process "kútiw" jaǵdayında saqlanadı.
  • Eger "orınlanıw" jaǵdayındaǵı process resurstı kútiwi kerek bolsa (mısalı, paydalanıwshı kirgiziwin yamasa fayldıń ashılıwın kútiw), oǵan "bloklanǵan" jaǵdayı beriledi. Process endi kútiwdi talap etpegende (bloklanǵan jaǵdayda), onıń jaǵdayı qaytadan "kútiw"ge ózgertiledi.
  • Process orınlanıwdı tamamlaǵannan keyin, yamasa operaciyalıq sistema tárepinen toqtatılǵannan keyin, ol endi kerek emes. Process dárhal joq etiledi yamasa "tamamlanǵan" jaǵdayǵa ótkeriledi. Joq etilgende, ol tek tiykarǵı yadtan alıp taslanıwın kútedi.[3]

Processler arasındaǵı baylanıs

Processler bir-biri menen baylanısıwı kerek bolǵanda, olar ózleriniń mánzil keńislikleriniń bólimlerin bólisiwi yamasa processler arasındaǵı baylanıstıń basqa túrlerin (IPC) qollanıwı kerek. Mısalı, komandalıq qatar qubırında birinshi processtiń shıǵısı ekinshisine ótiwi kerek hám t.b. Basqa mısal - bir waqıtta orınlanıwı múmkin bolǵan (yaǵnıy, parallel orınlanıwdı yamasa haqıyqıy parallelizmdi qollanıp - sońǵı model parallel orınlanıwdıń ayrıqsha jaǵdayı bolıp, bir neshe CPU yadroları orınlanıwǵa tayar processler ushın ashıq bolǵan jaǵdayda múmkin) birge islesiwshi, biraq yarım ǵárezsiz processlerge bólingen tapsırma.

Eki yamasa onnan kóp processlerdiń hár qıylı operaciyalıq sistemalardı (OS) isletiwi múmkin bolǵan hár túrli mashinalarda jumıs islewi de múmkin, sonlıqtan baylanıs hám sinxronizaciya ushın ayırım mexanizmler (bólistirilgen esaplaw ushın baylanıs protokolları dep ataladı) kerek boladı (mısalı, Xabar Jiberiw Interfeysi {MPI}).

Tariyxı

1960-jıllardıń basına kelip, kompyuterdi basqarıw programmalıq támiynatı monitordı basqarıw programmalıq támiynatınan (mısalı, IBSYS) atqarıwshı basqarıw programmalıq támiynatına rawajlandı. Waqıt ótiwi menen kompyuterler tezlesti, al kompyuter waqtı ele de arzan emes hám tolıq paydalanılmaytuǵın edi; bunday ortalıq kóp programmalı rejimdi múmkin hám zárúr etti. Kóp programmalı rejim bir neshe programmanıń bir waqıtta islewin ańlatadı. Dáslep, bir processorda birden kóp programma isleytuǵın edi, bul tiykarǵı bir processorlı kompyuter arxitekturasınıń nátiyjesi bolıp, olar siyrek hám sheklengen apparatlıq resurslardı bólisetuǵın edi; nátiyjede, parallel islew izbe-iz tábiyatqa iye edi. Keyingi kóp processorlı sistemalarda bir neshe programma parallel túrde bir waqıtta isley aladı.

Programmalar processorlar ushın kórsetpeler izbe-izliginen turadı. Bir processor bir waqıtta tek bir kórsetpeni orınlay aladı: bir waqıtta kóbirek programmalardı isletiw múmkin emes. Programmaǵa úlken keshigiwge iye bolǵan kirgiziw qurılması sıyaqlı qanday da bir resurs kerek bolıwı múmkin, yamasa programma printerge shıǵarıwdı jiberiw sıyaqlı áste operaciyanı baslawı múmkin. Bul processordıń "bos" (paydalanılmaǵan) bolıwına alıp keledi. Processordı hár waqıtta bánt uslap turıw ushın, bunday programmanıń orınlanıwı toqtatıladı hám operaciyalıq sistema processordı basqa programmanı isletiwge ótkeredi. Paydalanıwshıǵa programmalar bir waqıtta islep atırǵanday bolıp kórinedi (sonlıqtan "parallel" termini qollanıladı).

Kóp ótpesten, "programma" túsinigi "orınlanıp atırǵan programma hám onıń konteksti" túsinigine keńeytildi. Process koncepciyası payda boldı, ol qayta kiriwshi kodtıń oylap tabılıwı menen de zárúr boldı. Aǵımlar biraz keyinirek payda boldı. Biraq, waqıttı bólisiw, kompyuter tarmaqları hám kóp processorlı ulıwma operativ yadlı kompyuterler sıyaqlı koncepciyalardıń payda bolıwı menen, eski "kóp programmalı rejim" haqıyqıy kóp tapsırmalı rejimge, kóp processorlı rejimge hám keyinirek kóp aǵımlı rejimge múmkinshilik berdi.

Derekler

  1. Silberschatz, Abraham; Cagne, Greg; Galvin, Peter Baer „Chapter 4. Processes“,. Operating system concepts with Java, Sixth, John Wiley & Sons, 2004. ISBN 0-471-48905-0. 
  2. Vahalia, Uresh „Chapter 2. The Process and the Kernel“,. UNIX Internals: The New Frontiers. Prentice-Hall Inc., 1996. ISBN 0-13-101908-2. 
  3. Stallings, William. Operating Systems: internals and design principles, 5th, Prentice Hall, 2005. ISBN 0-13-127837-1.  (particularly chapter 3, section 3.2, "process states", including figure 3.9 "process state transition with suspend states")