12-lekciya Operacion sistemalarda aǵıs (threads) lar


Download 293.5 Kb.
bet1/4
Sana28.03.2023
Hajmi293.5 Kb.
#1302598
  1   2   3   4
Bog'liq
12. (1)


12-lekciya
Operacion sistemalarda aǵıs (threads) lar
Reje:

  1. Operacion sistemada aǵıs (threads) túsinigi.

  2. Programmalardıń kópaǵıslı (multithreading) atqarılıwı.

Aǵıs bir processda parallel túrde ámelge asıri’latuǵın bólek programmalar bolıp tabıladı. Aǵıslar ushın processlerden ayrıqsha bolıp esaplanıw, zárúrli ózgeshelik xarakteri tómendegishe: olar derlik barlıq aǵıs resurslari’n bir-biri menen bo’lisedi -bir waqıtti’ń ózinde bul resurslardan paydalanadı. Ádetde hár qıylı aǵıslar tómendegi aǵıs resurslarınan paydalanadı: 1) mánzil maydanı; 2) global ózgeriwshiler; 3) ashıq fayllar; 4) filial processleri; 5) xom signallar; 6) signallar hám olardıń isleytuǵınları; 7) paydalanılǵan resurslar haqqında maǵlıwmat.


Aǵıslar operatsion sistema processlerinen tómendegi punktlerde parıq etedi:

  • Processler ádetde ǵárezsiz bolıp tabıladı, aǵıslar processtiń uqsaslıǵı si’pati’nda bar.

  • Processler jaǵday haqqında kóbirek maǵlıwmatqa iye, process ishindegi bir neshe aǵıslar jaǵday maǵlıwmatların, yadtı hám basqa esaplaw resurslarini bóliw kóredi.

  • Processler bólek mánzilli ori’nlarǵa iye, aǵıslar onı birgelikte isletedi.

  • Processler tek sistema tárepinen usınıs etilgen óz-ara tásir mexanizmleri arqalı óz-ara tásir etedi.

  • Bir processte aǵıslar arasındaǵı kontekstti almastırıw ádetde processler arasındaǵı kontekstti almastırıwdan kóre tezirek boladı.

Aǵıslar birinshi ma’rte 1967 jılda os/360 Multiprogramming-de "processler" dep atalǵan processlerdiń ózgeriwshen’ sanı menen payda boldı. Kóplegen zamanagóy operatsion sistemalar processin rejelestiriwshiler tuwrıdan-tuwrı aǵıs hám kóp protsessorli aǵıslardı qollap-quwatlaydı hám operatsion sistemanıń yadrosın programmistlerge sistema qońırawları interfeysi arqalı kerekli funkciyalardı usınıw arqalı aǵıslardı basqarıwǵa múmkinshilik beredi. Ayri’m aǵıslardı ámelge asırıw yadro aǵısları dep ataladı, jen’il processler (Light-weight processes, LWP) - birdey jaǵday hám maǵlıwmatlarǵa iye bolǵan yadro aǵımınıń arnawlı túri. Bunnan tısqarı, programmalarda óz-ózinen orınlanıwın toqtatıw ushın taymerler, signallar yamasa basqa usıllar menen aǵım waqtında paydalanıwshı aǵıslar maydanı bolıwı múmkin.
Usınıń menen birge, hár bir aǵımnıń ózi bar:

  1. Komanda esaplag’i’shi’

  2. Registr

  3. Stekler

  4. Processor jag’dayi’

  5. Jergilikli ózgeriwshiler

Hár bir operatsion sistemada programmada ámelge asırilatuǵın programma bir yamasa bir neshe aǵıslardı iske túsiriw, toqtatıp turıw hám tamamlaw múmkin bolǵan sistema qońırawları bar. Protsessordi’ almastırıwda (ádetde taymerda) bólek OS aǵısları ortasında bólek processler ortasında almasıwi’nan kóre az waqıt sarplanadı. Óytkeni sonda, bul halda protsessor processtiń ózgeriwshileri (buyrıqlar taymerlari, protsessor jag’daylari’ni’ń registrlari’) nan kishi muǵdarda qosımsha hám keyingi tikleniwdi ámelge asırıwı kerek.
Aǵıslardı almastırıwda protsessor eń uzaq operatsiyalardı orınlawǵa hájet joq (isletilgen processlerdi’ń yadın eslep qalıw hám qayta tiklew, barlıq fayllardıń jaǵdayın xarakteristikalaw, sonıń menen birge, process menen shuǵıllanatuǵın quri’lmalar).
Operatsion sistemanı bir waqıtti’ń ózinde 2 hár qıylı programmalardı (processler hám aǵıslardı) orınlaw zárúrligi operatsion sistemanı jazıwda quramalılastıradı.
Sonıń menen birge, bul aǵıslardıń dúziliwi ámelge asırılıp atırǵan programmalardı sezilerli dárejede ápiwayılastırıwǵa múmkinshilik beredi hám bunnan tısqarı, programmalardı ámelge asırıwdı tezletiwge imkan beredi.
11.1-su’wrette aǵımnıń múmkin bolǵan jaǵdayı hám bir jaǵdaydan ekinshisine ótiw kórsetilgen.

11.1-su’wret. Aǵıs jaǵdayı hám olar arasındaǵı ótiw.
Aǵıs jaratılǵannan hám tuwrı iske túsirilgennen keyin, aǵım"tayarlıq" jaǵdayına ótedi hám óz toparında gezektiń aqırında birinshi orınǵa iye boladı. OS rejelestiriwshisi ta’riplengen strategiyaǵa muwapıq, onı "orınlaw" jaǵdayına ótkeriw arqalı aǵımdı tańlaydı. Ajıratılǵan waqıt kvantınan keyin aǵıs "tayarlıq" jaǵdayına qaytadı hám onıń ústin turatuǵın toparında gezektiń quyrıg’ına aylanadı. "Ijro" jaǵdayınan aǵıs basqa jaǵdaylarǵa hám ajıratılǵan waqıt kvantınıń tamamlanıwına shekem dawam etiwi múmkin. "Tayarlıq" jaǵdayında, eger ol úlken ústinlikke iye bolǵan aǵıs bolsa, ol ótiwi múmkin. "Tamamlaw" jaǵdayında aǵıs óz jumısın orınlap, oǵan ajıratılǵan koddıń orınlanıwın tamamlaydi’. "Kútiw" jaǵdayında, eger onıń keyingi orınlanıwı tek málim bir hádiyse júz bergeninen keyin ámelge asırılıwı múmkin bolsa (mısalı, ol maǵlıwmatlardı talap etedi hám bul maǵlıwmatlardı kiritetuǵın kompyuter quralı ele óz jumısın tamamlamag’an). "Kútiw" jaǵdayınan aǵıs ku’tilip ati’rg’an waqıya júz bergen táǵdirde, aǵıs "tayarlıq" jaǵdayına ótiwi múmkin. Aǵımnıń turmısı dawamında ol bir neshe ma’rtte "tayarlıq" - > {ori’nlaw} - > {ku’tiw} - > {tayarli’q}, geyde "kútiw" jaǵdayına ótiwdi shetlep ótedi.
Ámelge asırılǵan hár bir aǵıs bir neshe ma’rtte u’zilib, basqa aǵımǵa jol beredi. Aǵımnıń orınlanıwına alıp keletuǵın hádiyseler onıń jumisına uyqas kelmewi múmkin - olar aǵımnıń qálegen noqatında júz beriwi múmkin. Bir yamasa bir neshe sebeplerge kóre aǵımnıń ámelge asırılıwı múmkin emesligi menen baylanıslı sinxron hádiyseler esaptan tısqarı yamasa esaptan tısqarı jaǵdaylar dep ataladı.
Operatsion sistema processler hám aǵıslar menen isleydi hám bul ob'ektler haqqında maǵlıwmattı saqlaw kerek. Hár bir process programma kodın hám programmanı orınlaw processinde jaratılǵan maǵlıwmatlardı saqlaydı. Maǵlıwmatlar menen programma kodın orınlaw arqalı aǵıs isleydi. Bul maǵlıwmatlar aǵıs ushın jergilikli bolıwı múmkin, aǵımda jaratılǵan hám tek bir aǵıs tárepinen isletiledi. Biraq, process bir neshe aǵımǵa iye boli’wi’ múmkin, bul halda aǵıs ushın global processler maǵlıwmatları bar bolıp, olar aǵıslar arasındaǵı óz-ara baylanıstı támiyinleydi.
Maǵlıwmatlar menen baylanıslı taǵı bir mashqala sonda, aǵıs hár qanday waqıtta u’zilib qalıwı, "kútiw" yamasa "tayarlıq" jaǵdayına ótiwi hám keyin úzilgen noqatda óz iskerligin dawam ettiriwi múmkin. Bul imkaniyatti’ qollap-quwatlaw ushın OS aǵıs konteksti dep atalǵan ob'ektten paydalanadı. Ol jergilikli aǵıs maǵlıwmatların, toqtati’lg’an jumıstı baslaw kerek bolǵan buyrıqtı kórsetetuǵın taymerdi, toqtati’lg’an jumıstı tuwrı dawam ettiriw ushın zárúr bolǵan basqa xızmet maǵlıwmatların óz ishine aladı.
Aǵıs tárepinen isletiletuǵın maǵlıwmatlar menen baylanıslı taǵı bir mashqala bar. Protsessor buyrıqlar eki toparǵa bólinedi - buyrıq jeńillikli rejiminde hám buyrıqlar paydalanıwshı rejiminde ámelge asıriladı. Jeńillikli rejimde buyrıqlar tek operatsion sistemanıń yadrosın sho’lkemlestiretuǵın sistema programmaların orınlawı múmkin. Bul sistema xızmetlerin programmalıq kodtı orınlaw processinde aǵıs arqalı shaqırılıwı múmkin. OS yadrosı tárepinen isletiletuǵın aǵıs maǵlıwmatları paydalanıwshı rejiminde isletiletuǵın maǵlıwmatlardan bólek saqlanadı.
Hár bir process ushın OS mánzil maydanında jaratılǵan waqıtta sistema maǵlıwmatların saqlaytuǵın EPROCESS dep atalǵan arnawlı yad birligi bar. Sistema maǵlıwmatlarına iye bolǵan taǵı bir blok - PEB (Process Environment Block) processtiń mánzil maydanında saqlanadı. Processtiń virtual mánzil maydanı betlerinde programma kodı hám islew ushın zárúr bolǵan maǵlıwmatlar saqlanadı. Maǵlıwmatlar Stack hám heap dep atalǵan yadta saqlanadı. Processti jaratıw waqtında heap jaratıladı. Process bir neshe heap qa iye boli’wi’ múmkin. Programma kodı qisman jabıq betlerde, qisman ajıratılǵan yad betlerinde saqlanıwı múmkin. Eki yamasa onnan artıq processtiń birgeliktegi betleri haqıyqıy RAM ni’n’ birdey betlerinde kórsetiliwi múmkin. Usınıń sebebinen, bir neshe processler RAM da birdey programmalıq támiynat kodınan paydalanıwı múmkin. Túrli qosımshalar birdey klass kitapxanasınan paydalanıwı múmkin - DLL, RAM da tákirrarlanbastan jaylastırılǵan. Bul maǵlıwmatlarǵa tiyisli emesligi anıq, hár bir processtiń maǵlıwmatları óz-ózinen. Process maǵlıwmatların saqlaw ushın operatsion sistema qawipsiz betlerdi ajratadı, sol sebepli hesh qanday process basqa process maǵlıwmatlarına kire almaydı. Processler ortasındaǵı óz-ara munasábetler islengende biz bul qaǵıydanin’ jaǵdayi’n kórip shıqpaymız.
Operatsion sistemanıń mánzil maydanında jaratılǵan hár bir aǵıs ushın TPROCESS dep atalǵan arnawlı yad blokı bar bolıp, aǵıs haqqında sistema maǵlıwmatların saqlaydı hám processtiń mánzil maydanında sistema maǵlıwmatı bolǵan blok - TEB (Thread Environment Block) jaratıladı. Hár bir aǵıs ushın aǵıs konteksti jaratıladı. Joqarıda aytıp ótilgeni sıyaqlı, joqarı jiylikli kompyuter protsessori’ni’n’ islewi dawamında aǵıslardıń ózgeriwi-paydalanıwshı hám sistema. Protsessor bir aǵımdı orınlawdı toqtatadı hám basqa aǵımdı orınlawǵa kirisedi. Kommutatsiya procesi kontekstlerdi almastırıw dep ataladı. Ma’lumki, hár qanday waqıtta aǵımnıń orınlanıwı, toqtatılıwı hám bir qansha waqıt ótkennen keyin dawam etiwi múmkin bolsa, aǵıs kontekstinde úzilis noqatında esaplawdı dawam ettiriw ushın zárúr bolǵan barlıq maǵlıwmatlar bolıwı kerek. Sol sebepli, aǵıs kontekstinde barlıq jergilikli aǵıs maǵlıwmatları, esaplaw dawam etetuǵın programma kodındaǵı buyrıqlar adresi, úzilisler waqtında barlıq sistema registrlerinin’ jaǵdayı, aǵıs islegen barlıq fayllardıń jaǵdayı kiredi.

Download 293.5 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling