Procesai ir gijos

Download Report

Transcript Procesai ir gijos

Procesai ir Gijos
Patricijus Cvizonas IT1
Pseudolygiagretumas
• Visi šiuolaikiniai kompiuteriai atlieka kelis
darbus vienu metu;
• Realiai vienu laiko momentu viename
procesoriuje yra vykdomas tik 1 procesas;
• Kadangi procesai keičiami procesoriuje labai
greitai (kas 0,1-0,01 ms) – sudaromas
lygiagretumo įspūdis;
• Tai vadinama pseudolygiagretumu.
Lygiagretumas
• Tikrasis lygiagretumas skaitomas tada, kai tai
atspindi techninė įranga;
• Tam reikia, kad būtų bent 2 veikiantys
procesoriai, kurie dalijasi ta pačia atmintimi.
Procesai
• Procesas yra veikianti programa;
• Kiekvienas procesas saugo tokią informaciją kaip:
– Dabartinės programos skaitiklis;
– Registrų reikšmės;
– Kintamųjų reikšmės ir pan.
• Procesai gali būti vykdomi skirtingu dažnumu;
• Tai leidžia padaryti procesų prioritetai, kurie
nusako, kuriems procesams skirti daugiau
dėmesio.
Sisteminiai procesai ir demonai
• Procesai, kurie yra paleidžiami operacinės
sistemos jai užsikraunant ar valdant jos darbą,
yra vadinami sisteminiais;
• Procesai, kurie veikia “fone” be vartotojo
sąsajos – vadinami demonais;
• Kiekvienas procesas gali turėti tik vieną ar
neivieno tėvinio proceso;
• Kiekvienas procesas gali turėti kiek nori daug
dukterinių procesų.
Procesų kūrimas Windows tipo
sistemose
• Windows aplinkoje galima laisvai kurti naujus
procesus;
• Jie susiejami į medį tik nuorodų, valdytojų
(handler) pagalba;
• Tokiu būdu gali būti keičiamas dukterinio
proceso tėvas kitu ir pan.
Procesų būsenos ir perėjimai
• Kiekvienas procesas kiekvienu laiko
momentu gali būti tik vienoje iš 3 būsenų;
• Perėjimai tarp šių būsenų gali būti tik 4
(žiūrėti paveikslėlį).
Procesų valdymas
• Kad operacinė sistema galėtų valdyti visus
procesus ir juos tvarkyti, yra sudaroma procesų
lentelė;
• Joje saugoma informacija apie visus procesus:
–
–
–
–
–
–
Proceso būsena;
Programų skaitiklis;
Steko rodyklė;
Skirta atmintis;
Atvirų failų būsena;
...
Gijos
•
•
•
•
Procesai naudojami sugrupuoti resursus;
Gijos – tai atskirai valdomi elementai, kurie dirba su procesoriumi;
Gijos dar vadinamos lengvaisiasi procesais;
Terminas daugiagijis nusako, kad viename procese veikia kelios
gijos, kurios naudojasi bendra adresų erdve, atvirais failais ir kitais
bendrais resursias.
Gijų tarpusavio sąveika
• Gijos yra labiau susietos tarpusavyje nei procesai,
nes vienu metu geba dalintis tais pačiais resursais
ir adresų erdve;
• Gijų veikimo pavyzdys: darbas tekstiniame
redaktoriuje MS Word, kuris be to, kad leidžia
jums dirbti su juo, laikas nuo laiko dar išsaugo patį
failą, neįtakodamos jūsų darbo su juo ir pan.
Gijų panaudojimas užklausoms
apdoroti
• Interneto serveriuose, kad vieni vartotojai
mažiau įtakotų kitus, kiekvienai užklausai
aptarnauti yra kuriama nauja gija
Gijų lentelės
• Kad būtų galima susekti visas gijas, yra
formuojamos gijų lentelės;
• Pagal tai gijų lentelės gali būti įgyvendinamos:
– Vartotojo aplinkoje (kiekvienas procesas turi savo
gijų lentelę);
– Branduolyje (naudojama viena gijų lentelė);
– Hibridas (naudojamos gijų lentelės ir branduolyje,
ir procese).
Lenktynių (race) sąlyga
• Kuomet keli procesai vienu metu naudojasi tuo
pačiu resursu, o galutinis rezultatai labai priklauso
nuo jų tikslios eigos – tokia situacija yra vadinama
lenktynių sąlyga;
• Jei gijos nebus tinkamai valdomos, gali sutrikti
sistemos darbas (bus gauti ne tokie rezultatai.)
Klausimai